File tree Expand file tree Collapse file tree 1 file changed +11
-0
lines changed
src/backend_data_retrieval/data_retrieval_app/external_data_retrieval/data_retrieval Expand file tree Collapse file tree 1 file changed +11
-0
lines changed Original file line number Diff line number Diff line change @@ -229,6 +229,7 @@ async def _send_n_recursion_requests(
229229 self .url , params = {"id" : self .next_change_id }
230230 ) as response :
231231 headers = response .headers
232+ response .status = 503
232233 if response .status >= 300 :
233234 if response .status == 429 :
234235 self .skip_program_too_slow = False
@@ -243,6 +244,16 @@ async def _send_n_recursion_requests(
243244 return await self ._send_n_recursion_requests (
244245 n , session , waiting_for_next_id_lock , mini_batch_size
245246 )
247+ elif response .status == 503 :
248+ # Temporarily unavailable = servers are down
249+ logger .info (
250+ "Received a 503 response, meaning servers are down. Sleeping for 30 seconds"
251+ )
252+ await asyncio .sleep (30 )
253+ waiting_for_next_id_lock .release ()
254+ return await self ._send_n_recursion_requests (
255+ n , session , waiting_for_next_id_lock , mini_batch_size
256+ )
246257 else :
247258 waiting_for_next_id_lock .release ()
248259 logger .exception (
You can’t perform that action at this time.
0 commit comments