File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 77from typing import List
88
99from databases import Database
10- from backend .services .users .user_service import UserService
10+ from backend .services .users .user_service import UserService , UserServiceError
1111from backend .models .postgis .user import User
1212from backend .config import settings
1313
@@ -77,6 +77,21 @@ async def process_user(
7777 )
7878 await asyncio .sleep (RETRY_DELAY )
7979 continue
80+ except UserServiceError as exc :
81+ # Non-retriable external API error from UserService (e.g. OSM returned 404/410)
82+ # 404 for user not found.
83+ # 410 for user deleted from osm. Gone error code.
84+ async with failed_lock :
85+ failed_users .append (user_record .id )
86+ logger .info (
87+ "OSM error for user %s — recorded in osm_failed_users: %s" ,
88+ user_record .id ,
89+ exc ,
90+ )
91+ logger .debug (
92+ "UserServiceError for user %s" , user_record .id , exc_info = True
93+ )
94+ break
8095 except Exception :
8196 async with failed_lock :
8297 failed_users .append (user_record .id )
You can’t perform that action at this time.
0 commit comments