происшествия бюджет самит интересное токен

Все запросы вернули 200 OK, а записи пропали. Как пагинация незаметно теряет данные

Всем привет! Меня зовут Александр, я работаю с ETL на Python: забираю данные из чужих API и складываю их в базу.В этой работе меня больше всего пугают не те ошибки, после которых скрипт падает с трейсбеком.

С ними все понятно: упало, пошел чинить. Хуже те, после которых в логе стоит «готово». Одна из таких связана с пагинацией: API на каждый запрос ответил 200, загрузчик дошел до последней страницы, а в базе одной записи не хватает и еще одна лежит дважды.В статье покажу, откуда это берется при обычном обходе по offset, воспроизведу без сети на 30 строках и расскажу, как искать такие потери в выгрузке, которая уже прошла.

DMCA