Jaz razumem vaš opis in vaše točke. Sedaj moramo ugotoviti, kako je možno, da tehnično delo.
Eno vprašanje vidim tukaj je, kako bomo priznati, da že imamo okviru razpoložljivih sredstev po tistih, kjer prej.
Mi lahko preprosto vsakič vprašati prednost ponudnik, nato pa pojdite na naslednjo. To bo stroškovno učinkovitost - zato, ker za vsako zahtevo na stran, ki zahteva prevod, se bomo na neuspešen klic, da prednost ponudnik, nato pa do naslednjega (tako je lahko več neuspešnih klicev, ko bo vBET podporo več API-jev).
Druga rešitev bi bila za shranjevanje podatkov, ki raje ponudnik ni na voljo, in gredo neposredno na naslednjega. To bi bilo veliko hitreje, saj preverjanje lokalna spremenljivka je veliko hitreje, kot čakajo na odgovor iz zunanjega strežnika. Tokrat imamo drugo vprašanje - ne vemo, kdaj ima prednost ponudnik na voljo. Mi lahko seveda naredil nekaj načrtovano opravilo, ki bi prosil za enostavne (kratka) prevod na primer enkrat na uro / dan, da to preveri. Torej, v tej strategiji moramo odločiti, kako pogosto privzeto takšne naloge domnevam, da dela. Seveda bi mi bilo preverjanje samo, ko je nekaj ponudnika označeni, da niso na voljo.
Tudi če bomo oznako ponudniki so na voljo - kaj storiti, ko vemo, da vsi ponudniki niso na voljo - dodati nekaj informacij za končnega uporabnika ali pa samo prevesti, kaj je v cache in ostalo, kot original, brez dodatnih informacij o začasno pomanjkanje prevod ponudnikov .
Ne glede na to, kako bo to potekalo, bo Google obravnava kot en API (v1 in v2, odvisno od konfiguracije) - ni smiselno, da ga po delih, saj bo Google v1 zaprte zelo kmalu.
Druga stvar je, da se omogoči, da nastavite ponudnikom čakalno vrsto za vsak jezikovni par posebej. V tem trenutku vBET že omogoča, da nastavite prevod ponudnika za vsak jezikovni par. Mislim, da bomo lahko to prehod iz ene vrednosti do vrednosti ločene z vejico (CSV). Na ta način bomo vedeli, za vsak jezikovni par, ki podpirajo to storitev prevajanja in kakšne so želje za (samo, da na seznamu CSV).
OPOZORILO: To bo življati neki predstava zadetje anyway. Ustvarja en predmet za prevajanje bomo morali ustvariti matrično takih predmetov in dodatne embaliranje predmeta (da je pregleden za druge dele kode in manj bugova nagnjeni). Seveda smo bo ne ustvarite predmete za ponudnike, ki vemo niso na voljo v tem trenutku.
Rešitev za to bi bilo preoblikovati za boljše delovanje in odstranjevanje ponudniki čakalni vrsti - tako kot je zdaj - en ponudnik za par jezika.
To ne bi smelo biti drago za izvajanje, vendar še vedno nekaj dodatne logike in porabo pomnilnika.
Obvestite ki je najprimernejša rešitev.