atviriduomenys / katalogas

Lietuvos atvirų duomenų katalogas (data.gov.lt).
14 stars 2 forks source link

502 Bad Gateway peržiūrint duomenis #1116

Open sirex opened 3 months ago

sirex commented 3 months ago

Peržiūrint duomenis, tarkim:

https://data.gov.lt/datasets/1000/data/Statinys/

Gaunam 502 Bad Gateway klaidą.

Peržiūrint duomenis, į Saugyklą daromos dvi užklausos:

  1. https://get.data.gov.lt/datasets/gov/vtpsi/infostatyba/Statinys - veikia greitai
  2. https://get.data.gov.lt/datasets/gov/vtpsi/infostatyba/Statinys?count() - veikia lėtai, ypač jei yra dideli duomenų kiekiai

Antrai užklausai reikėtu padaryti atskirą http request į data.gov.lt su JavaScript, užsikrovus puslapiui, kad count() skaičiavimas nestabdytų viso puslapio.

Taip pat, skaičiuojant count() rezultatą reikėtu užkešuoti, 24 valandoms ir skliausteliuose prie objektų skaičių matyti reikia nurodyti, kada paskutinį kartą šis skaičius buvo atnaujintas.

Taip pat darant count() ir visas kitas užklausas, būtina apdoroti timeout klaidas, kreipimasis į išorinį servisą, neturi nulaužti viso puslapio. Jei suveikia timeout, turi būti atvaizduojamas puslapis, su paaiškinimu, kad nepavyko gauti duomenų iš Saugyklos, per nustatytą laiką.

https://github.com/atviriduomenys/katalogas/blob/2cc41a7a300a09cdf7a55a6484d7e42101d330ff/vitrina/structure/services.py#L875-L889

Taip pat, neturi būti įhardcodintas get.data.gov.lt, nes testavimo aplinkoje, turi būti naudojamas get-test.data.gov.lt.

Ir requests.get(url) būtina nurodyti timeout, tarkim 5 sekundes:

https://docs.python-requests.org/en/latest/user/advanced/#timeouts

Susiję

IngaIVPK commented 3 months ago

Grąžinama dėl susijusios užduoties grąžinimo: https://github.com/atviriduomenys/katalogas/issues/828

ATEAanalyst commented 2 months ago

Aptarta susitikimo metu, ši užduotis (tai kas aprašyta ir įsivertinta) yra išspręsta, jeigu #828 yra neišspręsta, ją reikėtų atidaryti ir grąžinti taisymui, arba sukurti naują užduotį.