Šis tekstas padeda atstovams ir konsultantams paaiškinti klientams, kodėl tam tikros užduotys gali užtrukti, būti nutrauktos pagal laiką arba ribojamos pagal kiekį — be „sistemos kaltės“ mitologijos, bet su aiškiu kontekstu: bendras debesis, API sutartys, eilės ir duomenų apimtys.
Susiję dokumentai
| Dokumentas | Ką ten rasti |
|---|---|
| Tema 1 · Įvadas ir planas | Mokymų formatas ir temų medis — Tema 1–12 skaidrėse; įvadas ir formatas atskirai Tema 1, ERP objektas JSON — Tema 2. |
| rivile-erp-architektura-bendra.html | Visa architektūra viename paveiksle: frontend, K8s, REST/GQL, Spring, Artemis, Axon, DB |
| rivile-erp-duomenu-istraukimas-keliai-ribos.html | Keturi keliai (Reporting, Automation, Data Export, BI): eilučių ir laiko ribos, spausdinimas vs eksportas |
| rivile-erp-guide-api.html | Viešojo REST API skaičiai: 100 įrašų GET, 5 MB POST/PUT, ~5 min atsakymo laikas |
| rivile-erp-automatizavimo-konceptas.html | Automatizavimų eilės, prioritetai, lygiagretumas, resursai |
| rivile-erp-data-export-async.html | Kodėl didelis eksportas vyksta ne sinchroniškai (užduotys, failas) |
| rivile-erp-graphql-overview.html | Klaidų tipai (DEADLINE_EXCEEDED, apkrovos ribojimas schemoje) |
| Priežastis | Trumpai |
|---|---|
| Bendri resursai | Kelios organizacijos naudoja tą pačią platformą — būtina spravedingumas (viena organizacija ne„suvalgo“ visų CPU ir DB ryšių). |
| Stabilumas | Begalinės užklausos ar milžiniški atsakymai gali nulaužti darbines eilutes, atmintį ar DB — ribos saugo visus. |
| Tinklo realybė | HTTP užklausa negali kabėti amžinai: tarp naršyklės, balansuotojo ir servisų yra timeout sluoksniai. |
| Kaina ir planas | Debesis ir pralaida kainuoja; tam tikri limitai siejami su prenumerata / moduliais (pvz. funkcijų naudojimo apskaita schemoje). |
| Saugumas | Didelės apkrovos be ribų lengviau panaudojamos piktavališkai (per dideli payload’ai, masinis skaitymas). |
Tai normalu SaaS ir debesų ERP — ne klaida dizaine, o sąmoninga apsauga ir planavimas.
Kas vyksta: užklausa prasideda serveryje; jei logika ar DB trunka ilgiau nei leidžia sluoksnis, ryšys nutraukiamas ir klientas mato timeout arba atitinkamą klaidos kodą.
Kur tai pasimato
DEADLINE_EXCEEDED (terminas baigėsi iki operacijos pabaigos).Kodėl konsultantui svarbu: klientas „eksportuoja viską už metus“ vienoje sinchroninėje užklausoje — reikia tikėtis timeout arba perkelti į foninę užduotį (žr. asinchroninį eksportą).
Kas vyksta: ne tik „kiek sekundžių skaičiuojame“, bet ir kiek įrašų traukiame, kiek MB siunčiame, kiek atminties užima vienas atsakas serveryje.
Pavyzdžiai iš dokumentacijos
Produkto diagrama (RAW → Reporting / Automation / Data Export / BI): konkretūs eilučių ir laiko rėmai pagal kelią — rivile-erp-duomenu-istraukimas-keliai-ribos.html.
„Apdorojimo limitas“ praktikoje gali reikšti: per didelis rezultatų rinkinys scenarijuje, per daug iteracijų, arba vidinės kvotos (automatikai stebimi resursai).
Užduotys skirstomos į atskiras eiles pagal rūšį (Automation, Email Template, Reporting), kiekviena eilė turi prioritetų poskirsnius ir procesorius — tarp skirtingų eilių vykdymas gali būti lygiagretus, vienoje eilėje su vienu procesoriumi užduotys eina nuosekliai (konceptas §9). Bendras tikslas — ribotas lygiagretumas ir sąžiningumas, kad vienas sunkus scenarijus neužgožtų visko.
Pasekmė atstovui: ilgas ar dažnas scenarijus gali laukti eilėje, vykti ilgiau piko metu arba būti stabdomas pagal politiką — tai reikia įvardyti diegiant ir stebint vykdymo žurnalą / auditą.
| Tema | Žinutė |
|---|---|
| Timeout | Užklausa turi „termą“ — ilgos operacijos turi eiti per foną arba skaidyti. |
| Kiekio ribos | 100 / 5 MB / puslapiavimas — ne patogumas, o stabilumas ir sąžiningumas. |
| Eilės | Automatizavimai konkuruoja dėl resursų — prioritetai ir planavimas. |
| Eksportas | Artemis / Data Mobility / failas — sąmoningas atsakas į didelį tūrį. |
Jei Rivile vėliau pateiks tikslų papildomą dokumentą (pvz. tik organizacijai skirtos kvotos), šį failą verta papildyti konkrečiais skaičiais ir nuoroda.