We are hitting 6 APIs with 2 threads at a time, the last 6th thread got failed with 503 error. Can you please check.
Below are our application logs -
2026/05/06 10:34:31.144 - INFO [2kt4g-2] [securities] lseg_swift_service.run_lseg_swift_extraction:0782 - Submitting Equity and FixedIncome chunked ExtractRaw calls in parallel (16229 instruments, chunk size 3000).2026/05/06 10:34:31.144 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw_chunked:0548 - [Equity] Splitting 16229 instruments into 6 chunk(s) of up to 3000 — firing all in parallel.2026/05/06 10:34:31.145 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw_chunked:0548 - [FixedIncome] Splitting 16229 instruments into 6 chunk(s) of up to 3000 — firing all in parallel.2026/05/06 10:34:31.145 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0428 - [Equity[chunk 1/6]] Calling LSEG ExtractRaw — URL: https://selectapi.datascope.lseg.com/RestApi/v1/Extractions/ExtractRaw2026/05/06 10:34:31.148 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0428 - [FixedIncome[chunk 1/6]] Calling LSEG ExtractRaw — URL: https://selectapi.datascope.lseg.com/RestApi/v1/Extractions/ExtractRaw2026/05/06 10:34:31.151 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0428 - [Equity[chunk 2/6]] Calling LSEG ExtractRaw — URL: https://selectapi.datascope.lseg.com/RestApi/v1/Extractions/ExtractRaw2026/05/06 10:34:31.154 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0428 - [FixedIncome[chunk 2/6]] Calling LSEG ExtractRaw — URL: https://selectapi.datascope.lseg.com/RestApi/v1/Extractions/ExtractRaw2026/05/06 10:34:31.168 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0428 - [Equity[chunk 3/6]] Calling LSEG ExtractRaw — URL: https://selectapi.datascope.lseg.com/RestApi/v1/Extractions/ExtractRaw2026/05/06 10:34:31.171 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0428 - [FixedIncome[chunk 3/6]] Calling LSEG ExtractRaw — URL: https://selectapi.datascope.lseg.com/RestApi/v1/Extractions/ExtractRaw2026/05/06 10:34:31.179 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0428 - [Equity[chunk 4/6]] Calling LSEG ExtractRaw — URL: https://selectapi.datascope.lseg.com/RestApi/v1/Extractions/ExtractRaw2026/05/06 10:34:31.194 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0428 - [FixedIncome[chunk 4/6]] Calling LSEG ExtractRaw — URL: https://selectapi.datascope.lseg.com/RestApi/v1/Extractions/ExtractRaw2026/05/06 10:34:31.197 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0428 - [Equity[chunk 5/6]] Calling LSEG ExtractRaw — URL: https://selectapi.datascope.lseg.com/RestApi/v1/Extractions/ExtractRaw2026/05/06 10:34:31.205 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0428 - [FixedIncome[chunk 5/6]] Calling LSEG ExtractRaw — URL: https://selectapi.datascope.lseg.com/RestApi/v1/Extractions/ExtractRaw2026/05/06 10:34:31.208 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0428 - [Equity[chunk 6/6]] Calling LSEG ExtractRaw — URL: https://selectapi.datascope.lseg.com/RestApi/v1/Extractions/ExtractRaw2026/05/06 10:35:03.883 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0453 - [FixedIncome[chunk 5/6]] ExtractRaw returned 202 (async). Polling status URL: https://selectapi.datascope.lseg.com/RestApi/v1/Extractions/ExtractRawResult(ExtractionId='0x09d6edf96edbeda0')2026/05/06 10:35:03.884 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0465 - [FixedIncome[chunk 5/6]] Polling job status (elapsed 0s) — https://selectapi.datascope.lseg.com/RestApi/v1/Extractions/ExtractRawResult(ExtractionId='0x09d6edf96edbeda0')2026/05/06 10:35:05.471 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0453 - [FixedIncome[chunk 1/6]] ExtractRaw returned 202 (async). Polling status URL: https://selectapi.datascope.lseg.com/RestApi/v1/Extractions/ExtractRawResult(ExtractionId='0x09d6fa343d5bedc0')2026/05/06 10:35:05.471 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0465 - [FixedIncome[chunk 1/6]] Polling job status (elapsed 0s) — https://selectapi.datascope.lseg.com/RestApi/v1/Extractions/ExtractRawResult(ExtractionId='0x09d6fa343d5bedc0')2026/05/06 10:35:05.480 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0428 - [FixedIncome[chunk 6/6]] Calling LSEG ExtractRaw — URL: https://selectapi.datascope.lseg.com/RestApi/v1/Extractions/ExtractRaw2026/05/06 10:35:05.678 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0453 - [Equity[chunk 2/6]] ExtractRaw returned 202 (async). Polling status URL: https://selectapi.datascope.lseg.com/RestApi/v1/Extractions/ExtractRawResult(ExtractionId='0x09d6f70debabedba')2026/05/06 10:35:05.678 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0465 - [Equity[chunk 2/6]] Polling job status (elapsed 0s) — https://selectapi.datascope.lseg.com/RestApi/v1/Extractions/ExtractRawResult(ExtractionId='0x09d6f70debabedba')2026/05/06 10:35:21.266 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0485 - [Equity[chunk 2/6]] Async job complete after 0s. JobId: 0x09d6f70debabedba2026/05/06 10:35:21.266 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0499 - [Equity[chunk 2/6]] Fetching SWIFT content from: https://selectapi.datascope.lseg.com/RestApi/v1/Extractions/RawExtractionResults('0x09d6f70debabedba')/$value2026/05/06 10:35:21.873 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0514 - [Equity[chunk 2/6]] SWIFT content fetched successfully. Size: 182156 bytes.2026/05/06 10:35:34.274 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0474 - [FixedIncome[chunk 5/6]] Job still processing (202). Will retry in 30s.2026/05/06 10:35:36.741 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0453 - [FixedIncome[chunk 6/6]] ExtractRaw returned 202 (async). Polling status URL: https://selectapi.datascope.lseg.com/RestApi/v1/Extractions/ExtractRawResult(ExtractionId='0x09d70b7a571beddc')2026/05/06 10:35:36.741 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0465 - [FixedIncome[chunk 6/6]] Polling job status (elapsed 0s) — https://selectapi.datascope.lseg.com/RestApi/v1/Extractions/ExtractRawResult(ExtractionId='0x09d70b7a571beddc')2026/05/06 10:35:42.873 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0485 - [FixedIncome[chunk 6/6]] Async job complete after 0s. JobId: 0x09d70b7a571beddc2026/05/06 10:35:42.873 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0499 - [FixedIncome[chunk 6/6]] Fetching SWIFT content from: https://selectapi.datascope.lseg.com/RestApi/v1/Extractions/RawExtractionResults('0x09d70b7a571beddc')/$value2026/05/06 10:35:43.388 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0514 - [FixedIncome[chunk 6/6]] SWIFT content fetched successfully. Size: 0 bytes.2026/05/06 10:36:04.275 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0465 - [FixedIncome[chunk 5/6]] Polling job status (elapsed 30s) — https://selectapi.datascope.lseg.com/RestApi/v1/Extractions/ExtractRawResult(ExtractionId='0x09d6edf96edbeda0')2026/05/06 10:36:04.853 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0485 - [FixedIncome[chunk 5/6]] Async job complete after 30s. JobId: 0x09d6edf96edbeda02026/05/06 10:36:04.853 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0499 - [FixedIncome[chunk 5/6]] Fetching SWIFT content from: https://selectapi.datascope.lseg.com/RestApi/v1/Extractions/RawExtractionResults('0x09d6edf96edbeda0')/$value2026/05/06 10:36:05.386 - INFO [2kt4g-2] [securities] lseg_swift_service._call_lseg_extract_raw:0514 - [FixedIncome[chunk 5/6]] SWIFT content fetched successfully. Size: 0 bytes.2026/05/06 10:36:05.386 - ERROR [2kt4g-2] [securities] lseg_swift_controller._background_extraction:0104 - [LsegSwift] Background extraction failed. (correlation_id=2kt4g-1) Error: HTTPSConnectionPool(host='selectapi.datascope.lseg.com', port=443): Max retries exceeded with url: /RestApi/v1/Extractions/ExtractRaw (Caused by ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 503 Service Unavailable')))Traceback (most recent call last):File "/app/.local/lib/python3.12/site-packages/urllib3/connectionpool.py", line 700, in urlopenself._prepare_proxy(conn)File "/app/.local/lib/python3.12/site-packages/urllib3/connectionpool.py", line 996, in _prepare_proxyconn.connect()File "/app/.local/lib/python3.12/site-packages/urllib3/connection.py", line 369, in connectself._tunnel()File "/usr/local/lib/python3.12/http/client.py", line 1001, in _tunnelraise OSError(f"Tunnel connection failed: {code} {message.strip()}")OSError: Tunnel connection failed: 503 Service UnavailableDuring handling of the above exception, another exception occurred:Traceback (most recent call last):File "/app/.local/lib/python3.12/site-packages/requests/adapters.py", line 645, in sendresp = conn.urlopen(^^^^^^^^^^^^^File "/app/.local/lib/python3.12/site-packages/urllib3/connectionpool.py", line 787, in urlopenretries = retries.increment(^^^^^^^^^^^^^^^^^^File "/app/.local/lib/python3.12/site-packages/urllib3/util/retry.py", line 592, in incrementraise MaxRetryError(_pool, url, error or ResponseError(cause))urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='selectapi.datascope.lseg.com', port=443): Max retries exceeded with url: /RestApi/v1/Extractions/ExtractRaw (Caused by ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 503 Service Unavailable')))During handling of the above exception, another exception occurred:Traceback (most recent call last):File "/app/api_server/controllers/lseg_swift_controller.py", line 99, in _background_extractionservice.run_lseg_swift_extraction(instrument_response, correlation_id)File "/app/api_server/services/lseg_swift_service.py", line 802, in run_lseg_swift_extractionraw_equity = future.result() # raises on failure^^^^^^^^^^^^^^^File "/usr/local/lib/python3.12/concurrent/futures/_base.py", line 449, in resultreturn self.__get_result()^^^^^^^^^^^^^^^^^^^File "/usr/local/lib/python3.12/concurrent/futures/_base.py", line 401, in __get_resultraise self._exceptionFile "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 59, in runresult = self.fn(*self.args, **self.kwargs)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/app/api_server/services/lseg_swift_service.py", line 568, in _call_lseg_extract_raw_chunkedchunk_results[idx] = future.result() # raises immediately on any chunk failure^^^^^^^^^^^^^^^File "/usr/local/lib/python3.12/concurrent/futures/_base.py", line 449, in resultreturn self.__get_result()^^^^^^^^^^^^^^^^^^^File "/usr/local/lib/python3.12/concurrent/futures/_base.py", line 401, in __get_resultraise self._exceptionFile "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 59, in runresult = self.fn(*self.args, **self.kwargs)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/app/api_server/services/lseg_swift_service.py", line 429, in _call_lseg_extract_rawresponse = requests.post(^^^^^^^^^^^^^^File "/app/.local/lib/python3.12/site-packages/requests/api.py", line 115, in postreturn request("post", url, data=data, json=json, **kwargs)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/app/.local/lib/python3.12/site-packages/requests/api.py", line 59, in requestreturn session.request(method=method, url=url, **kwargs)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/app/.local/lib/python3.12/site-packages/requests/sessions.py", line 592, in requestresp = self.send(prep, **send_kwargs)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/app/.local/lib/python3.12/site-packages/requests/sessions.py", line 706, in sendr = adapter.send(request, **kwargs)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/app/.local/lib/python3.12/site-packages/requests/adapters.py", line 672, in sendraise ProxyError(e, request=request)requests.exceptions.ProxyError: HTTPSConnectionPool(host='selectapi.datascope.lseg.com', port=443): Max retries exceeded with url: /RestApi/v1/Extractions/ExtractRaw (Caused by ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 503 Service Unavailable')))