دریافت و ذخیرهسازی افزایشی#
IngestionPipeline پاسخ خام و تغییرناپذیر رو در لایهٔ Bronze نگه میداره، رکوردهای Silver رو
بر اساس کلید اصلی ادغام میکنه و در صورت نیاز مجموعهدادهٔ Gold میسازه. CheckpointStore
پارتیشن، checksum و وضعیت کاملشدن رو ثبت میکنه تا اجرای دوباره از پردازش تکراری رد بشه.
در بازپخش (replay)، داده از Bronze خونده میشه، checksum بررسی میشه و فقط تبدیلهای خالص و
Gold builder اجرا میشن؛ هیچ درخواست شبکهای زده نمیشه.
from oxtapus import Client, Settings
settings = Settings(storage_backend="parquet", data_directory="./market-data")
with Client(settings) as client:
run = client.ingestion.market_watch(progress=True)
backfill = client.ingestion.daily_prices(
["فولاد", "خودرو"], start="1403/10/12", end="1404/10/10"
)
دستورهای oxtapus ingest و oxtapus backfill هم همین سرویسها رو صدا میزنن، پس رفتار CLI و
API پایتون یکیه.