Vodnik in vpogled

Poenotena paketna opravila prek prehoda AI API: vzdržljive čakalne vrste, adapterji ponudnika in zaračunavanje na ravni najemnika

Praktična arhitektura za izvajanje delovnih obremenitev umetne inteligence, ki so tolerantne na zakasnitve, prek enega API-ja z več modeli: trajni zapisi o opravilih, paketni adapterji ponudnika, idempotenten vnos rezultatov, proračunska rezervacija in analitika na ravni najemnika.

Paketne obdelave ne bi smeli obravnavati kot stranska vrata okoli vašega prehoda AI API. Če vrednotenja, obogatitev dokumentov, ekstrakcija, moderiranje ali vdelava zapustijo pot sinhrone zahteve, še vedno potrebujejo nadzor najemnikov, dodeljevanje stroškov, ponovne poskuse, revizijo in analitiko uporabe.

Vzorec implementacije je narediti paketno izvajanje prvorazrednega podsistema prehoda. Prehod bi moral izpostaviti eno pogodbo o zaposlitvi, nevtralni glede ponudnika, medtem ko se v zakulisju prilagaja paketnim API-jem OpenAI, Anthropic, Gemini in prihodnjim ponudnikom.

Težava pri bralcu: paketni API-ji so podobni po namenu, različni po delovanju

Delovne obremenitve, odporne na zakasnitve, so naravno primerne za paketno izvajanje. Težji del ni odločitev, ali lahko služba počaka. Težji del je dosledno izvajanje paketnega dela pri vseh ponudnikih.

Preverjena dejstva: OpenAI Batch API je asinhron, bere zahteve iz naložene datoteke, piše odgovore v izhodno datoteko in trenutno uporablja 24-urno okno obdelave. OpenAI navaja stanja, kot so preverjanje, neuspešno, in_progress, finaliziranje, končano, poteklo, preklic in preklicano. Anthropicov API za pakete sporočil asinhrono obdeluje številne zahteve za sporočila, vsako zahtevo obravnava neodvisno, zahteva anketiranje in vrne rezultate po koncu obdelave. Anthropic priporoča tudi smiselne vrednosti custom_id, ker vrstni red rezultatov ni zagotovljen. Geminijev Batch API razkriva dolgotrajne metode v slogu delovanja, kot so metode seznama, preklica, brisanja in posodabljanja, in njegova operacija preklica je opisana kot najboljši napor.

Te razlike so pomembne, ko dodate resnične poslovne zahteve:

  • Kateremu najemniku, stranki, projektu ali ključu API pripada vsak element?
  • Ali je bil proračun rezerviran, preden je opravilo zapustilo prehod?
  • Kateri? dokončane elemente je mogoče zaračunati, če paket poteče ali je preklican?
  • Kako se delne napake ponovno poskusijo brez podvajanja uspešnega dela?
  • Kako dolgo je mogoče pridobiti končne datoteke in kaj naj shrani prehod?
  • Ali lahko partner zgradi paketno obdelavo v obsegu stranke, ne da bi razkril poverilnice ponudnika navzgor?

Odgovor ni v tem, da skrijete vsakega ponudnika razlika. Odgovor je normalizirati operativno pogodbo, hkrati pa ohraniti izvorne metapodatke ponudnika za odpravljanje napak, usklajevanje in podporo.

Priporočeni javni API: ločite paketna opravila od sinhronih dokončanj

Priporočilo: izpostavite paketna opravila kot lastno površino API-ja, ne kot posebno zastavico pri dokončanjih klepeta. Sinhronska zahteva in asinhrono paketno opravilo imata različno semantiko življenjskega cikla, zaračunavanja, ponovnega poskusa in pridobivanja rezultatov.

Praktična pogodba o prehodu vključuje te operacije:

  • create_job: ustvarite osnutek opravila v lasti najemnika, projekta, ključa ali partnerske stranke.
  • append_items ali upload_manifest: dodajte posamezne zahteve s stabilnimi identifikatorji elementov.
  • submit: preverite, rezervirajte proračun, izberite ponudnika, odpošljite in zaklenite predloženi manifest.
  • get_status: vrnite normalizirano število opravil in elementov.
  • list_results: listajte po normaliziranih rezultatih elementov, napakah in uporaba.
  • cancel: zahtevajte preklic, brez obljube takojšnje prekinitve.
  • export_usage: izvozite zapise o stroških na ravni opravil in na ravni elementov za analitične ali sisteme zaračunavanja.

Primer javnega objekta opravila:

{
  "job_id": "job_01j7 ...",
  "tenant_id": "najemnik_acme",
  "customer_id": "cust_123",
  "endpoint": "chat.completions",
  "model": "analiza-velika",
  "status": "teče",
  "šteje": {
    "oddano": 50000,
    "dokončano": 31240,
    "ni uspelo": 180,
    "poteklo": 0
  },
  "strošek": {
    "ocenjeno": "184,20",
    "rezervirano": "205,00",
    "ustaljeno": "117,43",
    "currency": "USD"
  },
  "created_at": "2026-08-19T10:00:00Z",
  "submitted_at": "2026-08-19T10:05:00Z",
  "retrieval_deadline": "2026-09-17T10:00:00Z"
}

Javni objekt privzeto ne bi smel razkrivati ID-jev datotek ponudnika, imen operacij ali neobdelanih napak navzgor. Ti spadajo v metapodatke, s katerimi se sooča operater.

Uporabite trajne zapise o opravilih kot vir resnice

Paketna plast v lasti prehoda potrebuje trajno stanje, preden se karkoli predloži navzgor. Ne zanašajte se na paketne zapise ponudnika kot edino državno shrambo. Zapisi ponudnika so potrebni, vendar ne poznajo vaše hierarhije najemnikov, proračunskih rezervacij, notranjih vzdevkov modela, partnerskih strank ali analitičnih zahtev.

Minimalni model baze podatkov

Uporabna shema ima tri ravni:

1. Paketno opravilo

batch_jobs
- job_id
- tenant_id
- project_id
- customer_id ničen- api_key_id
- končna točka
- zahtevani_model
- razrešen_ponudnik
- model_razrešenega_ponudnika
- stanje
- item_count
- ocenjeni_vhodni_žetoni
- ocenjeni_izhodni_žetoni
- rezerviran_znesek
- poravnani_znesek
- ustvarjen_at
- predloženo_at
- dokončano_ob
- expires_at
- rok_priklica
- cancellation_requested_at

2. Paketni element

batch_items
- job_id
- item_id
- custom_id
- idempotenca_ključ
- hash_zahteve
- stanje
- provider_request_index ničen
- ocenjeni_žetoni
- dejanski_vhodni_žetoni ničelni
- dejanski_izhodni_žetoni ničelni
- poravnani_znesek ničen
- kazalec_rezultata ničen
- koda_napake ničelna
- retry_of_item_id ničen
- ustvarjen_at
- settled_at

3. Metapodatki ponudnika

batch_provider_metadata
- job_id
- ponudnik
- provider_batch_id ničen
- input_file_id ničen
- izhodna_datoteka_id ničelna
- napaka_file_id ničelna
- ime_operacije ničelno
- končna točka
- regija nična
- domači_status
- native_request_counts jsonb
- zadnji_anket_at
- raw_error_pointer nullable

Ohranjanje metapodatkov ponudnika ločeno od pogodbe o javnem delu omogoča prehodu, da razvija adapterje ponudnika, ne da bi zlomil API-je, obrnjene k najemnikom.

Zahtevajte stabilne identifikatorje elementov pred pošiljanjem

Priporočilo: ustvarite job_id prehoda in zahtevajte na element custom_id ali ključ idempotence pred odpremo. Nikoli ne usklajujte rezultatov po vrstnem redu.

Anthropic izrecno opozarja, da vrstni red rezultatov ni zajamčen, in priporoča smiselne vrednosti custom_id. Tudi ko se zdi, da ponudnik ohranja red, prehod ne bi smel biti odvisen od njega. Opravila se razdelijo, poskusijo znova, prekličejo, delno dokončajo in ponovno zaužijejo. Predpostavke o naročanju sčasoma ne uspejo.

Varna oblika identifikatorja elementov je opisna, vendar ni občutljiva:

tenantA.invoice_extraction.2026-08-19.row_000381

Izogibajte se vstavljanju neobdelanih e-poštnih sporočil, imen, naslovov dokumentov ali skrivnosti strank v identifikatorje. Shranjujte občutljive podatke o korelaciji v lastno zbirko podatkov najemnikov, ne znotraj ID-jev, ki so vidni ponudniku.

Normalizirajte stanja, ne da bi izbrisali podrobnosti ponudnika

Paketni API-ji ponudnika razkrivajo različne življenjske cikle. Prehod bi jih moral normalizirati v majhen notranji stroj stanja, ki ga lahko razumejo nadzorne plošče, zaračunavanje in avtomatizacija.

Priporočen normaliziran življenjski cikel:

  • osnutek: opravilo obstaja, vendar ga je še vedno mogoče urejati.
  • preverjanje: preverjanje prehoda ali ponudnika se izvaja.
  • v čakalni vrsti: sprejeto, vendar še ne obdelava.
  • teče: ponudnik obdeluje elemente.
  • finaliziranje: ponudnik je končal računanje in pripravlja artefakte rezultatov.
  • končano: vsi sprejeti elementi so dosegli terminalski uspeh.
  • completed_with_errors: nekateri elementi so bili uspešni in nekateri neuspešno.
  • poteklo: okno ponudnika se je končalo, preden je bilo vse delo končano.
  • cancel_requested: najemnik je pozvan k preklicu, vendar končno plačljivo delo ni poravnano.
  • cancelled: preklic poravnan.
  • failed: napaka na ravni posla preprečena uporabno izvajanje.

Ne strnite izvornih napak ponudnika v generične oznake prezgodaj. Operaterji pri odpravljanju napak še vedno potrebujejo dostop do izvornih statusov, napak pri preverjanju, števila zahtev, ID-jev datotek in imen operacij.

Pred oddajo preverite glede na matriko zmogljivosti

Priporočilo: zaženite preverjanje pred tiskom pred rezervacijo proračuna in pošiljanjem ponudnika. Paketni način ni samo sinhroni način z zamikom. Ponudnikov paketni API morda ne podpira nekaterih modelov, končnih točk, funkcij zahtev, regij in konfiguracij orodij.

Vaša interna matrika zmogljivosti mora preveriti:

  • Podprto končno točko: klepet, sporočila, vdelave, moderiranje ali generiranje.
  • Upravičenost modela za paketni način.
  • Največja velikost opravila, število elementov, velikost zahteve, in velikost naložene datoteke.
  • Ali je pretakanje prepovedano.
  • Uporaba orodja in podpora za klicanje funkcij.
  • Podpora za strukturiran izhod ali shemo JSON.
  • Podpora za slike, zvok ali multimodalni vnos.
  • Omejitve glede regije in stalnega prebivališča.
  • Zadrževanje ponudnika in pridobivanje rezultatov windows.
  • Omejitve hitrosti, specifične za pakete, in omejitve čakalne vrste.
  • Semantika preklica.

Dober odziv pred tiskom je specifičen:

{
  "napaka": "batch_capability_not_supported",
  "message": "Izbrani paketni adapter ponudnika ne podpira pretočnih odzivov. Odstranite stream=true ali izberite sinhrono končno točko.",
  "field": "items[*].request.stream"}

To je bolj uporabno kot sprejeti opravilo in ga zavrniti po potrditvenem prehodu navzgor.

Rezervirajte proračun najemnika, nato poravnajte dejansko porabo

Paketno izvajanje zaplete obračunavanje, ker lahko prehod izgubi sinhroni dostop do natančne uporabe, dokler niso na voljo datoteke z rezultati. Varen vzorec je ponudba, rezervacija, oddaja, vnos, poravnava in uskladitev.

Preverjena dejstva: OpenAI navaja, da so cene paketnega API-ja ponujene s popustom v primerjavi s sinhronimi API-ji, potečeni ali preklicani paketi pa lahko še vedno vrnejo dokončano delo, ki je plačljivo. Anthropic ugotavlja, da lahko paketna obdelava z visoko zmogljivostjo nekoliko preseže omejitev porabe delovnega prostora, zaradi česar sta rezervacija na strani prehoda in naknadna poravnava pomembni.

Priporočilo: rezervirajte proračun najemnika pred oddajo z uporabo ocenjenih žetonov, pravil o cenah izbranega ponudnika in varnostne rezerve. Ko so rezultati zaužiti, poravnajte dejansko uporabo na ravni predmeta. Če je bila ocena previsoka, sprostite neporabljeno rezervacijo. Če je bil prenizek, uporabite najemnikov konfiguriran pravilnik o presežku.

Praktični dogodki v glavni knjigi:

batch.estimated
serija.rezervirano
serija.predloženo
serija.postavka.poravnana
batch.item.refunded
batch.cancel_requested
serija.potekelbatch.reconciled

Knjiga na ravni postavk je bistvena. Če je dokončanih 45.000 postavk in jih 5.000 poteče, je treba najemniku zaračunati opravljeno delo ponudnika, ne pa izvirnega manifesta kot enega samega nediferenciranega bloba.

Izdelajte adapterje ponudnika kot prevajalce, ne lastnike poslovne logike

Vsak adapter ponudnika bi moral vedeti, kako preoblikovati opravilo prehoda v paketno obliko ponudnika, ga predložiti, vprašati ali pridobiti status, prenesite rezultate in preslikajte izvorne rezultate nazaj v normalizirane zapise.

Politika najemnika naj bo zunaj vmesnika. Adapter ne bi smel odločati, ali ima stranka dovolj proračuna, ali je partnerska stranka začasno ustavljena ali ali je mogoče shraniti pozive. To so odločitve o prehodu.

Odgovornosti adapterja

  • Upodobitev manifestov zahtev, specifičnih za ponudnika.
  • Naložite vhodne datoteke ali ustvarite operacije ponudnika.
  • Shranite identifikatorje ponudnika v metapodatke.
  • Preslikajte izvorno stanje v normalizirano stanje.
  • Pridobite izhodne podatke in artefakte napak.
  • Razčlenite rezultati na ravni elementa.
  • Vrni izvorne zapise o uporabi, ko so na voljo.
  • Površinska možnost ponovnega poskusa v primerjavi s terminalskimi napakami.

Odgovornosti prehoda

  • Preverjanje pristnosti najemnika in ključa API.
  • Uporaba skupinskih, projektnih in uporabniških kontrol.
  • Razreševanje vzdevkov modela in usmerjanja ponudnika pravilnik.
  • Potrdite paketne zmožnosti.
  • Rezervirajte in poravnajte proračun.
  • Vztrajajte pri opravilu in stanju predmeta.
  • Uveljavite pravilnik o hrambi.
  • Izpostavite analitiko in izvoze.

Ta ločitev olajša dodajanje novega ponudnika brez ponovnega pisanja obračunavanja, analitike ali najemnika upravljanje.

Zaužitje rezultatov idempotentno

Pri zaužitju rezultatov veliko paketnih sistemov pomotoma podvoji stroške ali izgubi delno delo. Zaužitje obravnavajte kot ponovljiv proces. Varno bi moralo biti dvakrat prenesti isto izhodno datoteko, dvakrat obdelati operacijo istega ponudnika ali dvakrat ponoviti isti dogodek webhook.

Priporočilo: uporabite ključe idempotence na ravni elementa in omejitve edinstvenosti glavne knjige. Rezultat za job_id + custom_id bi se moral poravnati natanko enkrat, tudi če se vnos poskusi znova.

Stabilen tok vnosa:

  1. Pridobite kratkotrajno zaklepanje za artefakt opravila ali rezultata.
  2. Pridobite izhod ponudnika in artefakte napak.
  3. Razčlenite zapise v normalizirane dogodke rezultatov elementov.
  4. Ujemite vsakega zapis po custom_id ali ID-ju elementa prehoda.
  5. Zapišite metapodatke o rezultatu in uporabo v transakciji.
  6. Ustvarite dogodek poravnave v glavni knjigi samo, če še ne obstaja.
  7. Posodobite štetje opravil iz stanj postavk, ne iz predpostavk.
  8. Sprostite neuporabljeno proračunsko rezervacijo, ko so znana vsa končna stanja.

Če webhooki so na voljo, preverjajo podpise in ščitijo pred ponovnim predvajanjem. Če je zahtevano anketiranje, uporabite prilagodljivo anketiranje: anketirajte pogosto blizu pričakovanega zaključka, umaknite se med dolgotrajnimi obdobji in ustavite po terminalski poravnavi.

Poskusite znova elemente, ne celotnih opravil

Priporočilo: poskusite znova na ravni elementa, kadar koli je to mogoče. Ponovni poskusi celotnega opravila so preprosti, vendar povečajo tveganje podvajanja dela in otežijo zaračunavanje.

Razvrstite neuspehe pred ponovnim poskusom:

  • Napake pri preverjanju: običajno prenehajo, dokler zahteva ni popravljena.
  • Napake ponudnika 5xx: pogosto je mogoče znova poskusiti z odlogom.
  • Kvota ali omejitev stopnje napake: poskusite znova šele, ko je na voljo zmogljivost.
  • Varnostni bloki: ne poskušajte znova na slepo; pot do obravnavanja pravilnika.
  • Potečeni elementi: se lahko znova preizkusijo v novem delovnem mestu, če najemnik še vedno želi delo in proračun to dopušča.

Ponovni poskus bi moral ustvariti nov element, povezan z izvirnikom:

{
  "item_id": "item_retry_002",
  "retry_of_item_id": "item_001",
  "custom_id": "tenantA.eval.row_901.retry_1"
}

Ne pošiljajte znova dokončanih elementov samo zato, ker so bili del opravila, ki se je končalo kot completed_with_errors ali expired.

Odločite se, kaj boste shranili: neobdelane rezultate, kazalce ali zgoščene vrednosti

Paketni sistemi so vabljiva mesta za kopičenje pozivov in rezultatov. To je lahko uporabno za izvoze in odpravljanje napak, vendar poveča odgovornost za hrambo podatkov.

Priporočilo: naj bo pravilnik o shranjevanju nastavljiv za najemnika. Za občutljive delovne obremenitve shranite metapodatke, zgoščene vrednosti, uporabo in kazalce rezultatov namesto neobdelanih pozivov in rezultatov.Za manj občutljive delovne obremenitve je normalizirano shranjevanje rezultatov morda sprejemljivo, če so okna hrambe, nadzor dostopa in poteki dela za brisanje jasni.

Sledite vsaj:

  • ali je bil neobdelani vnos shranjen.
  • ali je bil neobdelani izhod shranjen.
  • kje so artefakti rezultatov ponudnika v živo.
  • pridobitev ponudnika rok.
  • Rok za izbris prehoda.
  • Zgoščena zahteva in odgovor za revizijo brez izpostavljenosti vsebine.

Preverjeno dejstvo: Rezultati serije antropičnih stanj so na voljo 29 dni po ustvarjanju in izolirani v delovnem prostoru. Tovrstno okno za pridobivanje, specifično za ponudnika, bi se moralo odražati v metapodatkih prehoda in izvozih, obrnjenih k najemnikom.

Izpostavite analitiko, ki se ujema s tem, kako delujejo ekipe

Paketna analitika bi morala obstajati na ravni opravila in postavke. Lastnik izdelka želi vedeti, ali je nočna obogatitev končana. Finančni skrbnik želi stroške glede na najemnika, model in stranko. Inženir želi vedeti, kateri razred neuspeha naj poskusi znova.

Uporabne meritve vključujejo:

  • Štetje oddanih, dokončanih, neuspešnih, potečenih in preklicanih elementov.
  • Ocenjeni stroški v primerjavi s poravnanimi.
  • Rezervirani proračun je še vedno na voljo.
  • Vhodni in izhodni žetoni glede na ponudnika in model.
  • Zadetek predpomnilnika indikatorji, kjer jih ponudniki razkrijejo.
  • Število ponovnih poskusov in stopnja uspešnosti ponovnih poskusov.
  • Povprečni čas v čakalni vrsti, v stanjih izvajanja in zaključevanju.
  • Najpogostejše napake pri preverjanju veljavnosti po končni točki in modelu.
  • Dodeljevanje partnerskih strank.

Za uporabnike API-jev partnerjev razkrijte paketna opravila kot vire v obsegu stranke. To omogoča agencijam in izdelovalcem SaaS, da ponujajo obdelavo umetne inteligence brez povezave, hkrati pa ohranijo poverilnice ponudnika navzgor, usklajevanje zaračunavanja in ravnanje z omejitvijo hitrosti znotraj prehoda.

Kompromisi, da bi bili eksplicitni

Abstrakcija prehoda v primerjavi z zmogljivostjo, specifično za ponudnika: poenotena pogodba poenostavlja integracijo, vendar ne more zagotoviti, da je vsaka funkcija ponudnika enaka. Napake zmogljivosti naj bodo jasne.

Rezervacija proračuna v primerjavi z natančnostjo ocene: rezervacija ščiti najemnike pred pobegom delovnih mest, vendar so ocene lahko napačne. Glavna knjiga mora podpirati prilagoditve, povračila in ravnanje s presežki.

Vzpostavitev v primerjavi s spletnimi trnki: anketa je preprosta in zanesljiva, vendar lahko zapravlja klice API-ja in zakasni dokončanje. Webhooki so hitrejši, vendar zahtevajo preverjanje podpisa, zaščito pred ponovnim predvajanjem in spremljanje.

Shranjevanje neobdelanih rezultatov v primerjavi z zmanjšanjem zadrževanja: shranjevanje normaliziranih rezultatov izboljša izvoz in analitiko, vendar poveča breme skladnosti. Občutljivi najemniki imajo morda raje kazalce in zgoščene vrednosti.

Veliki paketi v primerjavi s paketi v kosih: ogromni paketi lahko izboljšajo učinkovitost na strani ponudnika, manjši kosi pa zmanjšajo radij razstreljevanja in olajšajo ponovne poskuse.

Kontrolni seznam za implementacijo

  • Ustvarite ločeno površino API-ja za paketna opravila.
  • Vztrajajte zapise opravil in elementov pred oddajo ponudnika.
  • Zahtevaj ID-je opravil prehoda in ID-je po meri za posamezno postavko.
  • Normaliziraj stanja ob shranjevanju izvornih metapodatkov ponudnika.
  • Izdelaj matriko zmogljivosti za vsak paketni adapter ponudnika.
  • Potrdi manifeste pred rezervacijo proračuna.
  • Rezerviraj proračun najemnika pred pošiljanjem.
  • Poravnaj dejansko porabo pri artiklu raven po zaužitju.
  • Naj bo zaužitje rezultatov idempotentno.
  • Selektivno poskusite z neuspešnimi elementi, ne slepo s celimi opravili.
  • Sledite ponudnikovim rokom za pridobitev in politiki zadrževanja prehoda.
  • Izpostavite analitiko opravil in elementov najemnikom in partnerskim strankam.

Napovedi: kje je ta vzorec heading

Napoved: paketno izvajanje bo postalo običajen del infrastrukture za avtomatizacijo umetne inteligence, ne le mehanizem popustov. Ko bodo ekipe izvajale več ocen, nalog čiščenja podatkov, varnostnih pregledov in cevovodov za obogatitev, bodo pričakovale, da bodo asinhrone delovne obremenitve imele enako upravljanje kot sinhroni klici API-ja.

Predvidevanje: paketni API-ji ponudnikov se bodo še naprej razlikovali na koristne načine. Nekateri bodo optimizirali za datoteke, drugi za dolgotrajne operacije, tretji pa za upravljane nabore podatkov ali povratne klice dogodkov. Adapterski sloj prehoda bo postal bolj dragocen, ne manj, ker lahko operativna pogodba nad adapterji ostane stabilna.

Ukrepljiv zaključek

Ne privijajte paketne obdelave na prehod AI API kot loputo za izhod v sili ponudnika. Zgradite ga kot trajen podsistem z lastnimi zapisi opravil, identifikatorji postavk, statusnim modelom, adapterji ponudnika, proračunsko rezervacijo, idempotentnim zaužitjem in analitiko.

Najpomembnejša izbira zasnove je računovodstvo na ravni postavk. Ko ima vsaka zahteva znotraj paketa stabilno identiteto, lahko prehod uskladi neurejene rezultate, znova poskusi samo neuspešno delo, zaračuna le opravljeno delo ponudnika in najemnikom pokaže, kaj se je zgodilo.To je razlika med pošiljanjem datotek ponudniku in upravljanjem zanesljivega večmodelnega API-ja za asinhrone delovne obremenitve.

Sorodno branje

FAQ

Pogosta vprašanja

Ali naj prehod neposredno razkrije izvorne paketne API-je ponudnika?
Ponavadi ne. Izpostavitev izvornih API-jev neposredno omogoča razvijalcem dostop do funkcij ponudnika, vendar oslabi zaračunavanje na ravni najemnika, analitiko, ponovne poskuse in upravljanje. Boljši vzorec je glede ponudnika nevtralna pogodba o zaposlitvi z metapodatki, specifičnimi za ponudnika, ki so na voljo operaterjem.
Zakaj je zahtevan custom_id za posamezno postavko?
Paketni rezultati morda ne bodo vrnjeni v istem vrstnem redu, kot so bili poslani. Stabilen identifikator posamezne postavke omogoča prehodu uskladitev rezultatov, poravnavo porabe, ponovni poskus neuspelih postavk in izogibanje podvojenim bremenitvam.
Kako naj se zaračunajo preklicane ali potečene serije?
Zaračunajte samo opravljeno delo ponudnika po vnosu in uskladitvi rezultatov. Preklicana ali potekla opravila lahko še vedno vsebujejo dokončane postavke, zato samo stanje na ravni opravila ni dovolj za natančno obračunavanje.
Ali naj prehod shrani neobdelane pozive in izhode iz paketnih opravil?
Ni privzeto za občutljive najemnike. Shranjujte metapodatke, zgoščene vrednosti, uporabo in kazalce rezultatov, razen če najemnik izrecno omogoči shranjevanje neobdelanih rezultatov z jasno politiko hrambe.