decluttarr icon indicating copy to clipboard operation
decluttarr copied to clipboard

Traceback Error when running jobs on Sonarr

Open mihcox opened this issue 3 months ago • 12 comments

=================== IMPORTANT ==================== ⚠️ ⚠️ ⚠️ TEST MODE IS ACTIVE ⚠️ ⚠️ ⚠️ Decluttarr won't actually do anything for you... You can change this via the setting 'test_run'

INFO | *** Checking Instances *** INFO | [Tip!] Consider upgrading to qBittorrent v5.0.0 or newer to reduce network overhead. INFO | OK | qBittorrent (https://mihcox.oracle.usbx.me/qbittorrent) INFO | Enabling 'Keep unselected files in .unwanted folder' in qBittorrent. INFO | 💡 Tip: No global download speed limit is set in your qBittorrent instance. If you configure one, the 'remove_slow' check will automatically disable itself when your bandwidth is fully utilized. This prevents slow downloads from being mistakenly removed — not because they lack seeds, but because your own download capacity is saturated. INFO | OK | Sonarr (http://192.168.254.10:8989) INFO | OK | Radarr (http://192.168.254.10:7878) INFO | OK | Lidarr (http://192.168.254.10:8686) INFO | -------------------------------------------------- INFO | *** Running jobs on Sonarr (http://192.168.254.10:8989) *** Traceback (most recent call last): File "/app/main.py", line 79, in asyncio.run(main()) File "/usr/local/lib/python3.10/asyncio/runners.py", line 44, in run return loop.run_until_complete(main) File "/usr/local/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete return future.result() File "/app/main.py", line 67, in main await job_manager.run_jobs(arr) File "/app/src/job_manager.py", line 27, in run_jobs await self.removal_jobs() File "/app/src/job_manager.py", line 77, in removal_jobs await self.arr.tracker.refresh_private_and_protected(self.settings) File "/app/src/settings/_instances.py", line 45, in refresh_private_and_protected protected, private = await qbit.get_protected_and_private() File "/app/src/settings/_download_clients_qbit.py", line 309, in get_protected_and_private if qbit_item_props.get("is_private", False): AttributeError: 'Response' object has no attribute 'get'

** Press ANY KEY to close this window **

mihcox avatar Nov 05 '25 06:11 mihcox

bumping this. All paths are setup and identical, but could I be due to them both using the same file location? The checks for lidarr/sonarr/radarr go off without problems:

Was working perfectly with v1.

general: log_level: DEBUG test_run: true # Your TEST_RUN was False timer: 10 # Your REMOVE_TIMER was 10 private_tracker_handling: "skip" # Based on IGNORE_PRIVATE_TRACKERS: True

job_defaults: max_strikes: 3 min_days_between_searches: 7 max_concurrent_searches: 3

jobs: remove_bad_files: # keep_archives: true remove_failed_downloads: message_patterns: - "Not a Custom Format upgrade for existing*" - "Not an upgrade for existing*" - "Found potentially dangerous file with extension" - "Invalid video file*" - "No files found are eligible for import*" - "One or more episodes expected in this release were not imported or missing from the release" remove_metadata_missing: # max_strikes: 3 remove_orphans: remove_slow: # min_speed: 100 # max_strikes: 3 remove_stalled: # max_strikes: 3 remove_unmonitored: search_unmet_cutoff: # min_days_between_searches: 7 # max_concurrent_searches: 3 search_missing: # min_days_between_searches: 7 # max_concurrent_searches: 3

Here are the debug logs:

DEBUG | job_manager.py/_check_client_connection_status: Checking if SeedBox - qBittorrent is connected DEBUG | _download_clients_qBit.py/check_qbit_reachability: Checking if qbit is connected to the internet DEBUG | common.py/make_request: Making GET request to https://******.oracle.usbx.me/qbittorrent/api/v2/sync/maindata with kwargs={'cookies': '[**redacted**]'} DEBUG | _download_clients_qBit/get_protected_and_private: Checking if torrents have protected tag DEBUG | common.py/make_request: Making GET request to https://******.oracle.usbx.me/qbittorrent/api/v2/torrents/info with kwargs={'params': None, 'cookies': '[**redacted**]'} DEBUG | _download_clients_qBit/get_protected_and_private: Checking if torrents are private (only done for old qbit versions) DEBUG | common.py/make_request: Making GET request to https://******.oracle.usbx.me/qbittorrent/api/v2/torrents/properties with kwargs={'params': {'hash': '890eeca7c99376*******b4db79f4e401c66f1'}, 'cookies': '[**redacted**]'} Traceback (most recent call last): File "/app/main.py", line 79, in <module> asyncio.run(main()) File "/usr/local/lib/python3.10/asyncio/runners.py", line 44, in run return loop.run_until_complete(main) File "/usr/local/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete return future.result() File "/app/main.py", line 67, in main await job_manager.run_jobs(arr) File "/app/src/job_manager.py", line 27, in run_jobs await self.removal_jobs() File "/app/src/job_manager.py", line 77, in removal_jobs await self.arr.tracker.refresh_private_and_protected(self.settings) File "/app/src/settings/_instances.py", line 45, in refresh_private_and_protected protected, private = await qbit.get_protected_and_private() File "/app/src/settings/_download_clients_qbit.py", line 309, in get_protected_and_private if qbit_item_props.get("is_private", False): AttributeError: 'Response' object has no attribute 'get'

Image Image

mihcox avatar Nov 07 '25 00:11 mihcox

I just pushed a fix to dev. Could you pls test if it works? (switch your image to :dev instead of using :latest)

ManiMatter avatar Nov 08 '25 11:11 ManiMatter

now im seeing this error:

Traceback (most recent call last): File "/app/main.py", line 79, in <module> asyncio.run(main()) File "/usr/local/lib/python3.10/asyncio/runners.py", line 44, in run return loop.run_until_complete(main) File "/usr/local/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete return future.result() File "/app/main.py", line 67, in main await job_manager.run_jobs(arr) File "/app/src/job_manager.py", line 27, in run_jobs await self.removal_jobs() File "/app/src/job_manager.py", line 83, in removal_jobs items_detected += await removal_job.run() File "/app/src/jobs/removal_job.py", line 46, in run self.affected_items = await self._find_affected_items() File "/app/src/jobs/remove_bad_files.py", line 42, in _find_affected_items client_items = await self._handle_qbit(download_client, download_ids) File "/app/src/jobs/remove_bad_files.py", line 88, in _handle_qbit qbit_items = await qbit_client.get_qbit_items(hashes=hashes) File "/app/src/settings/_download_clients_qbit.py", line 352, in get_qbit_items response = await make_request( File "/app/src/utils/common.py", line 79, in make_request response.raise_for_status() File "/usr/local/lib/python3.10/site-packages/requests/models.py", line 1026, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 414 Client Error: Request-URI Too Large for url: https://******.oracle.usbx.me/qbittorrent/api/v2/torrents/info?hashes=bbf9c54d1e241c73a4d49a757aea6e160c740baf%7C4a5605d30821a178fa70b6ddfebf897d6aff02b8%7Cc40b02b9ab803bd1b9a2d01ae44614c12d013ddb%7Cc714d5aac72981e76072950f45a498fde7e2c58f%7C5d956f3e0329dc536992fc5b9dcd5abe0eaeaf90%7C0447358146a4e18cf7d576b3f08055d5f3d27e63%7C984262218f940067a36aa961758fe429b3dba826%7Cade223e052782f1c24e8da468ca6a2870c24e4b9%7Cf5e1e02c89344afec8613a335b8958903e72de71%7C5d90b747cff5b5033c979614839145eefe4ebc33%7Cbd2b64ef59ea876315328258c3f5bab926b57d4f%7C2ef110fb1a9b4e3bc42fd51e6f95eaad65b1ca23%7C72ce61a37dd1a1c586ce3a16248eb81cebb0248f%7Caacddd9d25f209cf368a3904b820d39dc11c10fd%7Cbfdb7b97769da6f2d184945bca6f76da6d1dda89%7C60fbbd275f2b54e7ae390bb6327b406889797fb8%7Cfdb465537606a454370b7ef2caa1a60cd7166224%7C627d4582631c3e55713b342e1004a8897910df21%7C9e099ac1db2c09bc7e25403fbe272048b0349f25%7C9d384a5c19fe8730731f787d01210702e1a7edac%7C00bcc625c5b0bec535c079d4b35a7596dcc7b2e6%7C9b2949879f5203d836acbc5fd76ebb243a15a135%7C94309d34d9910791196724bae82f9cc9a2974534%7C8b39220d19bd4a6be94af8d52e37c4da4422c2d6%7Cdb38d9258fcd6de35ed548f9b94f885a399d5f27%7C68adfdf4a714f1d8e40032d14d69ba52dcd9168b%7C2dbcbaf45b912f42a5a26ac7941a0ee7d4218e06%7C8dc960d4c9361d85f500e018caac7af0e944925e%7Caf24a0a2c052a9aa5f48818d60fee4719584cb5f%7Ca99b489ac3f39b0485fe85d536cbf17ff588bd0f%7Cdf9575e7ded21ff969b52530af03bf22838a83a6%7Cf1f15d501dbed55deecde85cc5463d9f659bdd9e%7C5cb6c1e8830c1188e621b0acee2a55be12505402%7C4688b594e1dfe100882af9be87f2a91531005f2f%7Ce2aebf8978731fe47ffbc0c10c32be2b361a1af6%7C572b337e86ee9b8bfa77c31d03518e4614d187ee%7C0c6960f46957cc3b27d6eedba43b1a3f51cff66c%7Cb792f4b5c08e67578411aaae1ea9e795e500e525%7Cc5ac47a0482da7c4b02cbb4b53054431dc046041%7Ca8bc6d9e78faa467f6a0248dd065a417587c12f6%7C61bb2cb178d22e81be34521ae24e27712c2fb078%7Cce0e2cebaea71511586142811b74ec34b8569bea%7C2b6efd1cc8a84185877f82246444f7a48503c491%7Cdd7fa95bd0b8b2f33a21cfe851bed55319ecad8f%7Ccac21a23c46f3b6318435664c3fbf8664af665ee%7C14e217e83a452567e50a6a727f359e1fd2cbcaa6%7C6fa07b1ed4491d8157f98959d7a6ab19613e879e%7C70191d60b16a8af6b1b8938324f6b8bac35073e6%7C4801ec8a5290a71223e186f3fb114ccde7a5f428%7C7f6349675936a4ef82c5e507bb3ef68c41bc912e%7C439c8625a8ae7494e0d9ae1e36356a3bc7e3bddc%7C7bba7f3227de1790b2b9114a3dadc2b8c5edb1b7%7C40ab808332e9deea8bb86aa24ceac06e03853e24%7C27e649bf4258fa294520b8b9e93dba7c71ae0ef8%7C8ecd5d4b8252d5d3e27a56fcdaf9b9b3580ae4df%7C70d373bd43bb010fa50415c43879ae5316dabc8e%7C06a8b12d6e63181ac4300fb912d108b314488f7a%7Ce87a7fa422dbb40a8ae9b85424676573aa2b15c2%7C8ae498c19dc464bbae26b9a2ad59e6719eb2234f%7Cb8070cf3094c99b5adf955c05db90af44b78e062%7Cd4b2c4c382058116103b08311607a255e9d75403%7C3c00a4a51dd156df4d47654dfc4eb2958388fb43%7C460a58a23c0fd34dd852ea23db04e9446f42630c%7Cbde971eb78685f5db29552e317b91234fa20a08e%7C8897adb5458292ee045b91daa83cc4093f59f49a%7C593a234a911474fdccb4f6b077db49a844d2e4c5%7Cceb46317ba15f921b2a295f774aba64c87962650%7C2efb120b7893751f44ced3ad77f803bab30dcced%7C908951d69f68e4f99cf6a9209501d75899c5c80a%7Cf4b4fcca68b165306e3100a3e064eaad955bf9b1%7C45c6d21097a11a0545a3426769a5e56bae1910cf%7C6ffe4f7c945a8a6858539267abeb3f42b5fb8f12%7C208e560eeb6feee0bfda6fff6cf17aa027b6a278%7C751b6cfdf1ab6b58b65ae295942d632dfef25460%7C3d49831a9bd6388b909451454db672d1b77d5b61%7C4b344892f44a3d1a5a329927b5f66e9f6527c4ba%7Cdb55db9ee56d408ecfce68ee67af6ef2e485e46a%7Cf6be378514af2a7318ea40289eb5591c680e753d%7C0525283f1ce7a5ec116795e6eaa5b60f0d708cba%7Ca5935c430ece57c4c23b25a0c9e2297e0904c14d%7C476327e33518e7a9b12a58d9ed440eabaf3f211f%7C589be16d7150374bf6f8fe4a32ef989c5d434af8%7Cd94edf80e51dff2b3b4d20bac3025361251a2d0a%7Ca2dcfd88bd7746c4586a53a7ae4eb455ecc4de10%7Ce30734b83c75f35ffeb688bee3b87340adf01bfc%7Cfdb8456cf1a80123487f20097ddd62ac4dd41278%7C5b6305becee0b5ffb3b67193b76b80267f7ad14e%7C7d4d51504f67e876b788e3697b47692b3ec69a93%7C2be681acbc486d449ea01f704b4c860888430911%7C9cd020f2666c19b70d49d0061fdb95c6f9dd765f%7C358bf910f0a1517ea5ef27e198e5878fadc93853%7Ced75385293af0d1cdd6a41b9ed4bf72c122a5f6a%7C84bbd0ae5b12e34b9450b8aefa7c2e5f30cb535e%7C5a8153802a2e1d0a0cb84b9674074fb91ea90248%7C3943e1cb66928cfa70f44cec6e488705e697c548%7Cf9d31c858ced80aa280a30463096d63c4b70a383%7Cfc97ff77df84135501539a9c6beb3f246d83ccd7%7Cb1a8045df63fa9a6b78886ca9fe5f5f0dcbc4842%7Ced06bfe691ba2967f32a3541694d1e0e594d3dc0%7C4083f4a20ffad0262f39d0d38d565f38c9a2f642%7C0d26cfd57956faea6cf81e307663088d698ea64f%7Ca0f555165448f9f93a50157f54edf08003929b00%7C91dc2ebe9634bc671af3c30a9306108c2f5495ec%7C741f6816e66dbb70b483906d9ec59f9b4770de36%7Cb686bd9aed672a59953a164e756c5fce4980605c%7Ca493fc08a422448a343dae9c0028df7b48294318%7C7462bc41aef56a3e0f67e6b3e23a0c2593e80857%7C747c2b152f52816788c07e702236c78b42eb5894%7C4a14a8e207bdfa83d67696752262e6c27b156b91%7C98e360cd0283c676322a36ccfe57ed8ea3900aa4%7Cbbc88e53e91ec07f72de62dc0fc613837ad75706%7Cfb9875573f1f450c280b83f0b8e09b979e6ad82f%7C95f224080b0f60f5db4cf9f61a1d58b9e5494315%7C3cb9f2b76f02e4b3ed2bd8e2cd3368a670f241e4%7C94f3c493b2dcdd846cd2c22171203af5c66bcd18%7Cdb415b697410fb2d5f4e30ccf1d949465921da01%7Cdfa622208f9b40fd88231f46961b2b2957262058%7Cb20ede257561fcfc75cfc73311f17d4ad00fb99b%7C8723bd3060370fa08ad1d4760113485d825d5897%7Cf22649c98c548c0c59a0a758733897e608e0fc05%7C0ad82707696278ea83241fc6c2a4af98cadaa905%7C1cb01bf822648b8b20eb3beafa2ca4c8ac51e2d6%7Ca02362c92be8271c15cce515c47dcd059f378334%7C093f96b1b5176de1eb2f92809b52737821e830f8%7Cd158793ed4958c31ab319c2ecf12c6404eeac09b%7Cce9957173fde5ee19f15d0fe6e1f27ec86f556ad%7C20b4eef47617c48dfcff95f0dcc5fca06fcc2429%7C746d85c039ba08c2db9b015c058ac2e9dca3a906%7C27d53619edb11dc622ac98cbd99293a0506fc492%7C07f685c1209856da21bfa819f622b2fd7004b358%7Caff62392040de2552c6ac395158864925e6f5bef%7C9ef4c8619c58296efe1275c27beb149859be7b4a%7C34ab6ace7acb7c430ea2287cfe508146f65836b5%7Cefc15b3b9afef04a778c20f95a618b1745386114%7Cbd659c7df18f8a17aff824fd95c030a0743ef8fc%7C4f590b92755291b19b69e54d0542a2a5c4093215%7Cf33e6ef54847208a397a2bd2875d1c4a01901fb4%7Cca8f7ffab27629639e5abce37207e1b916752ddb%7C84cd7b7f8d819d975d691da5c68b2687d5e96719%7C10a7bce4847335eacd3e49d7b2152ea0f058001f%7C398787ab07771931df2cbfb06af7daa7aa790ff3%7Cf6b31db236c29e6b5de0c1da2f91f1bec731e09b%7Cb712bb71118663d803f05a6adbf102cd22585f32%7C965991d6c170c96914525a1cc45849ac2b46a0ef%7C424c754d9944a66d2912c942f57ed5f710be349d%7C26e15bd714c898a16c568d25544d7e6c1e3e7440%7Cf84a9e097aa1523f220ef2afd4ff8f80c5f4a6dc%7Ca43bccba664fbd0e140e93307ff6e9af505d8707%7C8c78808fd265a1463f03af0e5d64530c9ed02081%7C4ca0b9498838661e05e9fdd72c80c8ddbf9c025c%7C99141f37ef5c5898798a47114e2d7378bbb579c7%7C4eedf7f2eb0b299a92e90c7549c5f3aa265672ba%7C5fd449a5faed07bfb3a7ce14a3cecfb11a8c619b%7Cd41b7a0774bd1c0db86412e2605244424fd1e7f4%7C47c55a25ee8d88c23dc92eae9d62acc031c601e0%7Cf247c50d415e4095ec2534171acd13ebbad1e46f%7Caef3726850006fb0a2e4549fd602a4d83b9bf7b9%7C5f2e1bfd059149d47997fd36ebb4e3d069fe4fe4%7C3d5baec26cb7a3274073348f5033e19c19be9ae1%7C0417a6d648dfd8900b9bf7f7a85131c4d24a9397%7C63b5936296cb27bc5527d1249d16acbfedbc129e%7C797cccc1ca739a01b1c3bee19b1720026520ab90%7C4329f6d5b0b864d187d0a869a17220efd3e202f7%7C6a42f76c8ddc6186393f312ceb9dd58162eefa58%7C32ddf8a461fab675b74fce235c4c92db5b02193a%7C1920503731d6fe76d63b6a75877bb8f0f55ca067%7Cdfd3e3fa12d00fa1d17d8c714d5e709feb77b87b%7C67a2cb1faa0ccdcc8937426dd2c3c715e82ba6b3%7Ce60698b29493145aeaadad928901f1bc9b620ce8%7Cff377e4d83a431ddda590b9bbcf7529a79f6da43%7C5a36b7aa7f44866b5ce8c688888af636ce029789%7Ca1e87a06e976eb8be0872a0f2e058e40bf29b9b3%7C9f665864d6323497753d2d784b45a6445cd86b42%7C1107546dafe340f4b25d27feb67192ddbec16189%7C40a4b216a074fb0d286f7a88fb76fba8e32e590a%7Cc28028e131cb35ec9fd34e71ba629df6fcb07511%7C5c78b1b8df8133f95e9ad548f8d0bc42a5d70ed8%7C2ba10f388273b38098c696ab09a373a1b05dfbcb%7Cf908acd4045e33fa5cb655adc73cbce717adf6c8%7Cb6aa3312d526f21a2e0202f787f5c7c56c0f3eb9%7C2a4427b7cffda1bbbcaedeee38e3e755434cdce4%7C5d52df5237014fec4ba55060af34a3de66216bef%7C76c421dbcae4e05fa5b3d6d47ccc9c6b00ffda90%7C236b840a863031043bb0fd25f53bfbf5c7797dc6%7C549a20bcd4a37376045386fb1719d9b781da639f%7C30264b185adc4b8168280c9473aad6cd794cdaf2%7Cdf7c475d5841f6ad1a83f2c7289dbd2ae9ca0f84%7Ce022a98ad37b469e479d2a75acb95b234dde48e1%7C5fb72f33f99eca2a13f1f9a04cc765f2519e2cfd%7C8d6507730c9b69f327e27451150bab960d9786cb%7Ca723c7243c65925351ed97294df4bd3733dc07b4%7C2f1eb6f1b3758bbd7809888b88dfc3adac5115a6%7Ce3c1233afc1626b27e09f00dee37bbf3d042fc46%7C22a19886a91c2217675a43ea099407c036c348f2%7C94dd0140da81533ba11ad87fb1d922e581985f24%7Ce0865e24b9f87818d5f8028f1166b574a932d100%7Ca09430025e29e67a316e2d8b0d1634487caa2309%7C67672295a6cbcd741ec61633fc920f2bad901821%7Cf617c2c7bf542eb0c367c9c309e647575031b52f%7C115c7b544de75ff31e3fde9df50a7f661ff56d42%7C2382165ea7b4929a93823e76cb81dcb2b29da9dc%7Caf974076ed0fbcdb41d3279a6ffeee472c02d0b8%7Ccece9a2ae509bc2eff31d6577456c99741234447%7C49ee796e8a4eceb0e9fe536f496e45862af3ceea%7Ccc2022054e2fbb34444ef99c72b71c447d50efec%7C64170a4b48f9413d610248ee9fe380e5cbdb8f00%7C140fa0ef4bce43494e133446c52ce5690f7f63ac%7Cb62e6e4048776141caa2a24f7feaad19139c9654%7C8b39a963fef604355aa8191d2e6a311af363a236%7Cf4d8dbfea4d55fb43a5fb1cfa8ecf0ff203e736d%7Cfd4cbc042ac95427861530e6d6fcbf27e59b5471%7Ca248f83268a9995a85d9f2a4b1292e80f676e536%7C6886d206d9210fb114ec93d3a05774ee05d33485%7C3c48da281c09520e34252e428976282855b3fa84%7C5faadbfd46b4359e6889bda96e507bae9af9c011%7C37954d1b1a1f271f5f172103b4e6bf1b8ee4e562%7C281da841b216dc9f43564dd1b1d6ea9313b2de53%7C64a00513aed75a07da939b1f6a04f7e0a4c0f74c%7C8c5ff78d1b97f6193a9488b15da7c59cd8e9c4d2%7C350226f8eaed96ed50a3ae735dc8810648848e99%7C6f18a7e377409ad5ba867e18da29cb42d014f714%7Cd1b185e5a601386380bbc3715574cede3f8b937f%7C5dcf5c2661e47caf6e76bd6e90a12d3f176a7403%7C6860f7b014c7e1c27301fb9e43b194e236e6f552%7C09a304fbfed94eafd1d482a1b58647c43383ce79%7C074ef7486e3957195faeb77ee04d369e0f04be13%7C7c35ae9100861b515ff73b830de85a38567f1155%7Ceba2954374552555ee5025c5ccd6800c1f75cdf8%7C97f6779e014a6121dccb9d00e9d6e8a2efe57701%7Caa7ded213fb3fa454f4618fb7b319488b0c1f309%7C6928bfbe67aeb470211833f9e739981f9ba06e55%7C8329fa70cd885b5c0054bff0cb404658301f5be1%7C0edad399837c63aeab683fa8698e371cd061c5c2%7Cc025154824648d48ca4c2163a2b0ceeb37a98efa%7C231b71b1ac67bd4a2c2b8ccbb5ee9bdd30648fd6%7Cd9415cf911a5224d5c6e86148d47034a6f666688%7C20f62a839cf4c06a3cb8157b7af75d8e4f8f8735%7C9bd44c55f455f42b80b0eefacc4dcec8734982a0%7C7f3a60cf79ac0566d601161463b557f5c11bccac%7Ce0f164b155d3ad1f48728c8ae9b9b5fee827fd7c%7C6ba34a76a97af49f225ef29589a17bed90fc595f%7C2fdaa7a38518453de8b979689f690479fd1cd317%7C9139759c4f486c3df798e8b4a8ed1e7e84b8f38b%7C7d25b398be8e262f744790353ae3d0718150acac%7C6f3ea30a7be2f6939cc8b8360b45a7d6b979e1fe%7C3afaea69bb636eb6e4ab717b5244b7398ebbbe56%7C5c18712b4a68524f2907654cbc835da8611d69a2%7C9f21dd4138fdf5ab6c7cf7a50c34cbd2996a3b3e%7C4428273549cb288420bfc2692c341d8edd668eb3%7Ca5beea14a680efea118faebe076a2d607983846c%7Ca195d608ae69fc24099c79cd80e3c66a8a850da8%7C0a857acb73265db9966c144050b25d79a4a92f16%7C9b511465b0289b83e1fb895eeba5d7619f025f3f%7C8bd7872f9f6bd90c0b4f7e814bc30962211573d1%7C93efdddb85c7832a518c8d3142bc32b80e087c74%7Cceea9d31914bff21e25ec1a22204344735a435dd%7C549b339caa0115699d0816b3065029f6b5814a2f%7Cfb5a7d0be53c22eefdf5f85afba63f98c8cd06da%7C874fab4de1f9b8891d39ced55674f70c4baa53dd%7C6c1908739c97c1b7db19188580583f17fb5e2c85%7C45ce6ea4379e014a7df550112e6211383139be10%7Cfdd4ccd0936beeff82fa85a462575ea3f2446faa%7C25a72a82b89610b60d8a7ed8baddf750009200a5%7Cf8d79904ad3b3e347fa6dfa941e12034fefdced8%7C8fe883c3477d73cb19da096e42828f2787cc0169%7C737313d9964a61ec076c2962cff80f6fcc524a58%7Caafd182e4bc42ec3c8f699bfba09391c46aa95e7%7C65b4f8e261f5d0cf072309301724e62e4522969c%7C165cddcc82445011c38eb61402f0c6f09c81daef%7C28b78ff3b2ac6534fe0777c0b9f512f17cb76958%7C5eaa15766423fd36f3dce0a875b3c85b35bccfbb%7Ca99011a53db49891f3aa9fdf87250f9f0618c3e0%7Cbf6937353e03f817864fed36c4a8f5c7b63163e0%7C83bd6c3e4bb0b4bb2925834ca8f05cab1e5e711a%7Cf83044f009e9317743bef48a99efddd88b1c27cb%7C2f014a1a4962f88b33dc152a084f8ae057738d77%7Ccfdb06f8c894c1718fc157968b3e43bcbd92bbc1%7C262c40f484976e9321b7284600038e8b77014203%7C8a2064bf34a6de3620676a9d98ea7f3358c5cb28%7C2ba22e813e5a63c909f62405b65c72c5734f6a81%7Cc05fdb0b91274a07a086722e6b84311f41a1288d%7Cde4e7ec650571050169905e8e299162e20a96d54%7C6661a512a8e5ac9b486d2089ff4f303fa1c832fa%7C3c5b21651d598a37fa098af2a84be899752a53f9%7Cf7b009caf6328683d2de0de63f6e52388b5ad951%7C9f230b30d3272654a420b3172de90575fefc1177%7C0bf64d745303b329298496a18a5417ebb25d1995%7C330c1b282be7f5c548065829e04cdf52db86acd7%7C22d1cca549722ac718e764c56798b29543291719%7C75d1640376a0e534dd9144a60d817f208b4fabba%7Caa7215b5106e77eeb7b31643584de5277fe7d3b6%7C7bbcfb8adbecf7e6e7dadfcdef8f02fa32eed0dc%7Cb2f4eaba9480ad8ec813e322a3e2eeca877c461f%7Cfc8c70f2c062eb17c457fc12070861f2c3dcebf5%7C24944874ed818ea2dd7cb4ca93c9502135494f8e%7Cfd794045d922514a95130d89290f761516caf45b%7C5ef71d7ffe72f6f713fdc44b3b3e26fd8270383d%7Cd3e88d38e4a144afe01c7dfc46f5bb81f8926d1e%7C47a9b7b131064bae79eb5cfd40ac9b6038605152%7C40e453d925af5d634b41a7d1a488872b62c93aac%7C3053d2566d7969cb9e041f6b9d70d63ca186b313%7C5ac49ce2a9ab7e363c4653bbeab97d2efc351437%7C3b8bdc6489dc6a42e2114e25a454dd86f9fd731d%7C004a482a86ebeba5d70f937deeabaf1b25f77216%7C325100cefeee0a4850cd40c6e4ec3a5b0987d22b%7C678857b6ac2966632738bb98f7ffef872fab6ec6%7Cd87e0f67097ea9ed919a5922b57ef17be84aef6c%7Cb956dd55da35a9401305aba1787d642f7a9e6721%7Cdc290a9eebd1e6eef0733fa36f563e102a6fad96%7C9f895b92d8cdb4803b00a7d1d13c5189a5c6ad05%7C15aa682819ce3c435e4e1c27f9739f9fc3aa798b%7Cb57f080bcbdda629ee6728cac227f1146db21424%7C7500317defd050c19690dfad3817436b6e76a605%7C7ad8b20976e73f433dbe934e27907041128912cb%7Cd6400c8878d8f28aa2ab483ad8e22c1dbef0f3aa%7C32310364300a0f1ac00ac0ed89034100a9064dee%7C47df6c9ca4f37d1b0f3b4c341cb67acab407d94a%7C82ffb3b0f43b75edd6ecef10ec95cf49485b98e1%7C7982848328b199b027b568be0c1036a9c5f3d37d%7C2bc65d2be863804c143d2063a8b7de728311fa08%7C8c6140b4160a26c494c2d98cffaa8677c56472c9%7Ca85c16ab37d09be449510f03b53529fdd99c151b%7C3cd419c9709616aaea8a63efc843091a9dd54b99%7C29262445813b5ff88bddfa5d81886d02dff7ebf1%7Cf3847fbf4ff322f24c14fab8d6834bc8db69fe5c%7C46d261de506a76ef16454b7912de7c0c5be131bc%7C489c6dc099d6108cf2e5ba5d4ca701de4bea697f%7C3a12d0ce63cc927d178fa5be93fa773482d17a56%7C30e563a6364543eec4987c50c09628b4feae9127%7C919caa6b246185fd0a8037e60c99561018e178b5%7Cda8f7295fa2d0492f1c75cd425672c3ee22d30d0%7C5ea3410c960c108f13342a6d1a060d44e49409b7%7C505e04c2923f67e889ef8e0e66baee1939bc169e%7C3321fc1d32a05d5b1c4aba70c3cb28a943e5cb44%7C0ff2032305b59aaca2d9bd7f7de7454c7c9fefe9%7C2774ba81483cae45392ac70b7cf2aa752591f554%7C308f2ed8b9c1f563299110f1fa6436be36cacfe8%7C9cdd759d9d17bb20025f6b7a597dbb2fa76b4ac5%7C7b7dfcf0f6c357c9a4ca220467c86c3e8147fc6d%7C2876d4f6c26ab5c4c602a437b7f39bfdaf20e67f%7C708f2960a63689670d6fe6053d8c6209c13973e4%7C2ad091e6368faf6c3bbf57a38cc2857960db7ce8%7Ce3333fdf2c8925f649661b7cf266b3d0f320c175%7Cfce27937247f4ab04a5f251d39dacce9f75ebf29%7C1803ecbf0677498c35eeba9ec3665e5b728f3759%7C86d269cba1f855a467c6628993cff06fa8506f5b%7C033aefe94422440879e1c878366d0cddd74867f7%7Cd60b2796f1e3b4412dfd0ecca651fb894f4e6897%7Cdf9af123a8982759b1e4634a774aa880f22accb9%7Cc745779386c586c616c9a13f2e9073f31c637f95%7C1aebe1d206c6d25ab0372005935fb487bcd3226a

mihcox avatar Nov 08 '25 21:11 mihcox

Thanks for sharing. Wasn't taking into account that the URL will get too long when there's many hashes. Pushed a fix, could you pls test?

ManiMatter avatar Nov 09 '25 15:11 ManiMatter

Got me further

VERBOSE | Deleted Files: VERBOSE | - /media/Movies/1080p/Pacific Rim (2013) {imdb-tt1663662}/Pacific Rim (2013) {imdb-tt1663662} [Bluray-1080p][TrueHD Atmos 7.1][x264]-SWTYBLZ.nfo DEBUG | common.py/make_request: Making GET request to http://.10:7878/api/v3/movie with kwargs={'headers': {'X-Api-Key': '[redacted]'}} INFO | Job 'detect_deletions' triggered media refresh on Radarr (http://.10:7878): The Girl with the Dragon Tattoo DEBUG | _instances.py/_refresh_item: Refreshing Item DEBUG | common.py/make_request: Making POST request to http://.10:7878/api/v3/command with kwargs={'json': {'name': 'RefreshMovie', 'movieId': 3301}, 'headers': {'X-Api-Key': '[redacted]'}} VERBOSE | Deleted Files: VERBOSE | - /media/Movies/1080p/The Girl with the Dragon Tattoo (2009) {imdb-tt1132620}/The Girl with the Dragon Tattoo (2009) {imdb-tt1132620} [Bluray-1080p Proper][AC3 5.1][x264]-NODLABS.nfo ERROR | Other error occurred: HTTPConnectionPool(host='.10', port=8686): Read timed out. (read timeout=15) Traceback (most recent call last): File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 534, in _make_request response = conn.getresponse() File "/usr/local/lib/python3.10/site-packages/urllib3/connection.py", line 565, in getresponse httplib_response = super().getresponse() File "/usr/local/lib/python3.10/http/client.py", line 1375, in getresponse response.begin() File "/usr/local/lib/python3.10/http/client.py", line 318, in begin version, status, reason = self._read_status() File "/usr/local/lib/python3.10/http/client.py", line 279, in _read_status line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1") File "/usr/local/lib/python3.10/socket.py", line 705, in readinto return self._sock.recv_into(b) TimeoutError: timed out The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/local/lib/python3.10/site-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( File "/usr/local/lib/python3.10/site-packages/urllib3/util/retry.py", line 474, in increment raise reraise(type(error), error, _stacktrace) File "/usr/local/lib/python3.10/site-packages/urllib3/util/util.py", line 39, in reraise raise value File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 536, in _make_request self._raise_timeout(err=e, url=url, timeout_value=read_timeout) File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 367, in _raise_timeout raise ReadTimeoutError( urllib3.exceptions.ReadTimeoutError: HTTPConnectionPool(host='*****.10', port=8686): Read timed out. (read timeout=15) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/app/src/utils/common.py", line 72, in make_request response = await asyncio.to_thread( File "/usr/local/lib/python3.10/asyncio/threads.py", line 25, in to_thread return await loop.run_in_executor(None, func_call) File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run result = self.fn(self.args, self.kwargs) File "/usr/local/lib/python3.10/site-packages/requests/api.py", line 73, in get return request("get", url, params=params, kwargs) File "/usr/local/lib/python3.10/site-packages/requests/api.py", line 59, in request return session.request(method=method, url=url, kwargs) File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, send_kwargs) File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, kwargs) File "/usr/local/lib/python3.10/site-packages/requests/adapters.py", line 713, in send raise ReadTimeout(e, request=request) requests.exceptions.ReadTimeout: HTTPConnectionPool(host='.10', port=8686): Read timed out. (read timeout=15) Traceback (most recent call last): File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 534, in _make_request response = conn.getresponse() File "/usr/local/lib/python3.10/site-packages/urllib3/connection.py", line 565, in getresponse httplib_response = super().getresponse() File "/usr/local/lib/python3.10/http/client.py", line 1375, in getresponse response.begin() File "/usr/local/lib/python3.10/http/client.py", line 318, in begin version, status, reason = self._read_status() File "/usr/local/lib/python3.10/http/client.py", line 279, in _read_status line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1") File "/usr/local/lib/python3.10/socket.py", line 705, in readinto return self._sock.recv_into(b) TimeoutError: timed out The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/local/lib/python3.10/site-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( File "/usr/local/lib/python3.10/site-packages/urllib3/util/retry.py", line 474, in increment raise reraise(type(error), error, _stacktrace) File "/usr/local/lib/python3.10/site-packages/urllib3/util/util.py", line 39, in reraise raise value File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 536, in _make_request self._raise_timeout(err=e, url=url, timeout_value=read_timeout) File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 367, in _raise_timeout raise ReadTimeoutError( urllib3.exceptions.ReadTimeoutError: HTTPConnectionPool(host='.10', port=8686): Read timed out. (read timeout=15) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/app/main.py", line 79, in asyncio.run(main()) File "/usr/local/lib/python3.10/asyncio/runners.py", line 44, in run return loop.run_until_complete(main) File "/usr/local/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete return future.result() File "/app/main.py", line 67, in main await job_manager.run_jobs(arr) File "/app/src/job_manager.py", line 28, in run_jobs await self.search_jobs() File "/app/src/job_manager.py", line 94, in search_jobs await SearchHandler( File "/app/src/jobs/search_handler.py", line 41, in handle_search wanted_items = await self._get_initial_wanted_items() File "/app/src/utils/wanted_manager.py", line 16, in get_wanted_items return await self._get_arr_records(missing_or_cutoff, total_records_count) File "/app/src/utils/wanted_manager.py", line 32, in _get_arr_records records = await self.fetch_wanted_field( File "/app/src/utils/wanted_manager.py", line 41, in fetch_wanted_field response = await make_request( File "/app/src/utils/common.py", line 72, in make_request response = await asyncio.to_thread( File "/usr/local/lib/python3.10/asyncio/threads.py", line 25, in to_thread return await loop.run_in_executor(None, func_call) File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) File "/usr/local/lib/python3.10/site-packages/requests/api.py", line 73, in get return request("get", url, params=params, **kwargs) File "/usr/local/lib/python3.10/site-packages/requests/api.py", line 59, in request return session.request(method=method, url=url, kwargs) File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, send_kwargs) File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, kwargs) File "/usr/local/lib/python3.10/site-packages/requests/adapters.py", line 713, in send raise ReadTimeout(e, request=request) requests.exceptions.ReadTimeout: HTTPConnectionPool(host='.10', port=8686): Read timed out. (read timeout=15) Container stopped

mihcox avatar Nov 09 '25 19:11 mihcox

(http://.10:7878)

I suppose you edited the IP address in the logs? The IP clearly looks wrong, but if that's just because you edited it so that it's not posted publicly, we can of course ignore..

Otherwise, it reads to me like the call to your arr took more than 15 sec to reply and timed out. Do you happen to have a slow system by any chance ? (No offense meant)

ManiMatter avatar Nov 10 '25 10:11 ManiMatter

Hey all, I'm getting the same error with my installation. I'm running Windows / Docker with natively installed *arrs and separately qbittorrent (5.1.2) on another computer across the network. I was on the :latest and then tried :dev after reading this thread. Although I shouldn't have a slow system, I've got a hard drive bottleneck which affects my whole computer.

decluttarr-2025-11-10T11-12-35.log

MrBogger avatar Nov 10 '25 11:11 MrBogger

(http://.10:7878)

I suppose you edited the IP address in the logs? The IP clearly looks wrong, but if that's just because you edited it so that it's not posted publicly, we can of course ignore..

Otherwise, it reads to me like the call to your arr took more than 15 sec to reply and timed out. Do you happen to have a slow system by any chance ? (No offense meant)

This is running on 64 cores of EPYC processor; on the other side is a seedbox that is a shared resource, but quite powerful.

Yes this was edited for safety, no issue with that when it's running. Let me know if you need more logs.

mihcox avatar Nov 10 '25 15:11 mihcox

Hey all, I'm getting the same error with my installation. I'm running Windows / Docker with natively installed *arrs and separately qbittorrent (5.1.2) on another computer across the network. I was on the :latest and then tried :dev after reading this thread. Although I shouldn't have a slow system, I've got a hard drive bottleneck which affects my whole computer.

decluttarr-2025-11-10T11-12-35.log

I don't seem to be able to open your logs. Can you pls paste them to a pastebin and provide the link?

ManiMatter avatar Nov 10 '25 16:11 ManiMatter

This is running on 64 cores of EPYC processor; on the other side is a seedbox that is a shared resource, but quite powerful.

puh. I don't have the faintest clue what's going on. You wouldn't happen to have some python experience and some time on your hands to try figure out what's going on? Without being able to replicate, it's very hard for me to see what is causing this.

ManiMatter avatar Nov 10 '25 16:11 ManiMatter

so reviewing the logs here, im seeing no issues with radar, but seeing issues with lidarr/sonarr. I would suppose that the volume of data in radar is much less than sonar/lidar.

Sonarr: 1.8GB database Lidarr: 2.0GB database Radarr: 788MB database (less than half the size of the others)

Can we increase the timeout in some way on the checks, I think its possible its just timing out due to the amount of data?

mihcox avatar Nov 11 '25 23:11 mihcox

I'm not clear which call is timing out tbh. The logs are not clear. Can you please

and run on debug mode and paste the full logs into a pastebin and link them here. if you change your logs in any way, please write in the response what you change (ie. if you replace your ip, for example), so that i'm not changing ghosts :)

if the above does not produce an error, turn on SEARCH_CUTOFF_UNMET instead. If that also doesn't produce an error, activate one job after the other until you get to the one that produces the error and then paste the logs.

thank you

ManiMatter avatar Nov 13 '25 19:11 ManiMatter

The error seems to occur with lidarr in any capacity. Running with radarr/sonarr doesn't show these issues. I will provide logs tomorrow as i have them. letting it run overnight with sonarr/radarr to confirm.

mihcox avatar Nov 18 '25 04:11 mihcox

logs from just lidarr and search missing enabled:

INFO | *** Running jobs on Lidarr (http://192.168.254.10:8686/) *** VERBOSE | Removal Jobs: None triggered (No jobs active) DEBUG | search_handler.py/_configure_search_target: Setting job & search label (missing) DEBUG | search_handler.py/handle_search: Running 'missing' search DEBUG | search_handler.py/handle_search: Getting the list of wanted items (missing) DEBUG | common.py/make_request: Making GET request to http://192.168.254.10:8686/api/v1/wanted/missing with kwargs={'params': None, 'headers': {'X-Api-Key': '[**redacted**]'}} DEBUG | common.py/make_request: Making GET request to http://192.168.254.10:8686/api/v1/wanted/missing with kwargs={'params': {'page': '1', 'pageSize': 50656, 'sortKey': 'albums.lastSearchTime'}, 'headers': {'X-Api-Key': '[**redacted**]'}} ERROR | Other error occurred: HTTPConnectionPool(host='192.168.254.10', port=8686): Read timed out. (read timeout=15) Traceback (most recent call last): File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 534, in _make_request response = conn.getresponse() File "/usr/local/lib/python3.10/site-packages/urllib3/connection.py", line 565, in getresponse httplib_response = super().getresponse() File "/usr/local/lib/python3.10/http/client.py", line 1375, in getresponse response.begin() File "/usr/local/lib/python3.10/http/client.py", line 318, in begin version, status, reason = self._read_status() File "/usr/local/lib/python3.10/http/client.py", line 279, in _read_status line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1") File "/usr/local/lib/python3.10/socket.py", line 705, in readinto return self._sock.recv_into(b) TimeoutError: timed out The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/local/lib/python3.10/site-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( File "/usr/local/lib/python3.10/site-packages/urllib3/util/retry.py", line 474, in increment raise reraise(type(error), error, _stacktrace) File "/usr/local/lib/python3.10/site-packages/urllib3/util/util.py", line 39, in reraise raise value File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 536, in _make_request self._raise_timeout(err=e, url=url, timeout_value=read_timeout) File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 367, in _raise_timeout raise ReadTimeoutError( urllib3.exceptions.ReadTimeoutError: HTTPConnectionPool(host='192.168.254.10', port=8686): Read timed out. (read timeout=15) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/app/src/utils/common.py", line 72, in make_request response = await asyncio.to_thread( File "/usr/local/lib/python3.10/asyncio/threads.py", line 25, in to_thread return await loop.run_in_executor(None, func_call) File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) File "/usr/local/lib/python3.10/site-packages/requests/api.py", line 73, in get return request("get", url, params=params, **kwargs) File "/usr/local/lib/python3.10/site-packages/requests/api.py", line 59, in request return session.request(method=method, url=url, **kwargs) File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/local/lib/python3.10/site-packages/requests/adapters.py", line 713, in send raise ReadTimeout(e, request=request) requests.exceptions.ReadTimeout: HTTPConnectionPool(host='192.168.254.10', port=8686): Read timed out. (read timeout=15) Traceback (most recent call last): File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 534, in _make_request response = conn.getresponse() File "/usr/local/lib/python3.10/site-packages/urllib3/connection.py", line 565, in getresponse httplib_response = super().getresponse() File "/usr/local/lib/python3.10/http/client.py", line 1375, in getresponse response.begin() File "/usr/local/lib/python3.10/http/client.py", line 318, in begin version, status, reason = self._read_status() File "/usr/local/lib/python3.10/http/client.py", line 279, in _read_status line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1") File "/usr/local/lib/python3.10/socket.py", line 705, in readinto return self._sock.recv_into(b) TimeoutError: timed out The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/local/lib/python3.10/site-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( File "/usr/local/lib/python3.10/site-packages/urllib3/util/retry.py", line 474, in increment raise reraise(type(error), error, _stacktrace) File "/usr/local/lib/python3.10/site-packages/urllib3/util/util.py", line 39, in reraise raise value File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 536, in _make_request self._raise_timeout(err=e, url=url, timeout_value=read_timeout) File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 367, in _raise_timeout raise ReadTimeoutError( urllib3.exceptions.ReadTimeoutError: HTTPConnectionPool(host='192.168.254.10', port=8686): Read timed out. (read timeout=15) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/app/main.py", line 79, in <module> asyncio.run(main()) File "/usr/local/lib/python3.10/asyncio/runners.py", line 44, in run return loop.run_until_complete(main) File "/usr/local/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete return future.result() File "/app/main.py", line 67, in main await job_manager.run_jobs(arr) File "/app/src/job_manager.py", line 28, in run_jobs await self.search_jobs() File "/app/src/job_manager.py", line 94, in search_jobs await SearchHandler( File "/app/src/jobs/search_handler.py", line 41, in handle_search wanted_items = await self._get_initial_wanted_items() File "/app/src/utils/wanted_manager.py", line 16, in get_wanted_items return await self._get_arr_records(missing_or_cutoff, total_records_count) File "/app/src/utils/wanted_manager.py", line 32, in _get_arr_records records = await self.fetch_wanted_field( File "/app/src/utils/wanted_manager.py", line 41, in fetch_wanted_field response = await make_request( File "/app/src/utils/common.py", line 72, in make_request response = await asyncio.to_thread( File "/usr/local/lib/python3.10/asyncio/threads.py", line 25, in to_thread return await loop.run_in_executor(None, func_call) File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) File "/usr/local/lib/python3.10/site-packages/requests/api.py", line 73, in get return request("get", url, params=params, **kwargs) File "/usr/local/lib/python3.10/site-packages/requests/api.py", line 59, in request return session.request(method=method, url=url, **kwargs) File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/local/lib/python3.10/site-packages/requests/adapters.py", line 713, in send raise ReadTimeout(e, request=request) requests.exceptions.ReadTimeout: HTTPConnectionPool(host='192.168.254.10', port=8686): Read timed out. (read timeout=15) Container stopped

mihcox avatar Nov 21 '25 03:11 mihcox