Udhëzues
Sinkronizoni gjithë inventarin
Dy rrjedha e mbajnë të përditësuar një katalog lokal: /cars për inventarin aktiv dhe /archived-lots për njoftimet që nuk janë më.
- 1
Ndërtoni katalogun fillestar
Kaloni faqet e
/cars, mesimple_paginate=1kur totalet nuk ju duhen. Ruani ID-në e automjetit, burimin, identifikuesit e lotit dhe kohët e përditësimit. - 2
Mblidhni përditësimet
Pyetni
/cars?minutes=60 për një dritare një-orëshe, ose zgjidhni një dritare që i përshtatet intervalit tuaj (1–4320 minuta). Lexoni çdo faqe me të njëjtët filtra. - 3
Përpunoni njoftimet e arkivuara
Pyetni
/archived-lots?minutes=60 për një dritare të njëjtë dhe shënojeni atë lot të burimit si joaktiv. Një lot i arkivuar nuk do të thotë që çdo njoftim i automjetit është joaktiv. - 4
Zbatoni ndryshimet në mënyrë idempotente
Bëni upsert sipas identifikuesve. Përdorni dritare që mbivendosen dhe kohë të ruajtura për të përballuar riprovimet dhe dublikatat.
- 5
Rakordoni periodikisht
Një dritare rrëshqitëse nuk është kursor i qëndrueshëm. Pas një ndërprerjeje më të gjatë se 72 orë, rindërtoni inventarin aktiv në vend që t’i besoni rrjedhës inkrementale.
Arkivoni në nivel loti me lot_id. Një automjet mund të ketë lote të tjera aktive. Përgjigjet më të vjetra të arkivës përmbajnë bid/sale_date skalare; ato më të rejat përdorin {value, updated_at}. Mos supozoni se një bid i vjetër është çmim shitjeje përfundimtar i konfirmuar.
Shembull Python i ekzekutueshëm në server: kalon nëpër faqet e të dy rrjedhave të të dhënave, shton ose përditëson automjetet dhe lotet në SQLite dhe arkivon vetëm lotin e prekur. Përdor një çelës nga mjedisi i serverit, kufij kohe, riprovime të kufizuara dhe një pikë kontrolli të suksesit të fundit. Instaloni requests. Vendosni AUCTIONS_API_KEY në server dhe ekzekutoni një herë python sync_auction_cars.py --initial; planifikoni ekzekutimet e mëpasshme pa --initial. Madhësitë e paracaktuara të faqeve: cars=50, arkiva=100. Me Unlimited mund të vendosni AUCTIONS_CARS_PER_PAGE=1000 dhe AUCTIONS_ARCHIVE_PER_PAGE=1000. Ekzekutoni vetëm një worker njëkohësisht (bllokim i planifikuesit); përshtatni ruajtjen në SQLite dhe rakordoni boshllëqet më të gjata se 72 orë. Ky shembull nuk e kthen rrjedhën që ndryshon në një pamje fikse.