Metoda zwracająca JSON wykonuje się bardzo długo i zwraca 502

0

Witajcie,
Mam dziwny problem z django. Stawiam pierwsze kroki w Pythonie, więc może to pytanie jest głupie - jak coś, to z góry przepraszam :)

Mam 2 metody:

def metoda1(self):
        url = settings.PAYMENT_GATEWAY_URL + "payments/" + self.bank_account_nr + "/" + settings.PAYMENT_POS_ID + "/funkcja1/"
        ctx = ssl.create_default_context()
        ctx.check_hostname = False
        ctx.verify_mode = ssl.CERT_NONE
        data = urllib.request.urlopen(url, context=ctx)
        contents = data.read().decode('utf-8')
        # content = '{"amount_sum": "120.00"}'
        data = json.loads(contents)
        data = data.get("amount_sum")
        return data


def metoda2(self):
        url = settings.PAYMENT_GATEWAY_URL + "payments/" + self.bank_account_nr + "/" + settings.PAYMENT_POS_ID + "/funkcja2/"
        ctx = ssl.create_default_context()
        ctx.check_hostname = False
        ctx.verify_mode = ssl.CERT_NONE
        data = urllib.request.urlopen(url, context=ctx)
        contents = data.read().decode('utf-8')
        data = json.loads(contents)
        return data


funkcja2 pobiera z endpointa: {"status": "OK", "paymentsA": 1, "paymentsCt": 1, "paymentsD": 0}
funkcja1 pobiera z endpointa: {"amountsum": "120.00"}

Przy wywołaniu metody1 - wszystko działa poprawnie, w przypadku metody 2 aplikacj bardzo długo się wyoknuje i wyrzuca error 502,

Przez przeglądarkę oba linki wczytują się błyskawicznie. Oba adresy www są na 1 serwerze i są 1 aplikacją.

Żeby bylo dziwniej, na lokalnym komputerze działają obie funkcje, a na serwerze tylko 1 :(

0

Lokalne logi serwera pewnie zawierają dużo informacji (zwracany na zewnątrz 502 nie może tego robić)

0

ale to co wrzuciłeś to nie ma żadnego znaczenia - kod/logi SERWERA są potrzebne i to tam (w sensie na serwerze) trzeba szukać przyczyny

1

Zacznij uzywać f-stringów, błagam :( https://www.geeksforgeeks.org/formatted-string-literals-f-strings-python/ P.S upewnij się, że flage DEBUG w settingsach masz na True. Wtedy będziesz widział logi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1