Mam następujący przypadek użycia dla mojego Tornado serwer internetowy:Jak udostępniać dane pomiędzy żądaniami w Tornado Web
Upon POST żąda wpisy mogą być wykonane na serwerze, wpisy, które nie będą utrzymywały się do pliku lub bazy danych . Na żądanie GET proces może zostać rozpoczęty lub zakończony.
Dlatego potrzebuję udostępnić dane między różnymi żądaniami w mojej implementacji RequestHandler
. Jaki jest normalny sposób na zrobienie tego?
Miałem problemy z zapisaniem danych do self
, na przykład self.entry = "..."
. W innym wniosku dane nie były już obecne.
Rozwiązanie działa tylko znalazłem jest przechowywanie że w obiekcie aplikacji:
application = web.Application([
(r'.*', MainHandler,
])
i
def get(self):
# ...
self.application.entry = "..."
Czy to jest właściwy sposób? Co z synchronizacją tutaj, mam na myśli to oznacza dostęp do udostępnionych danych.
Nie jestem zaznajomiony z Tornado, ale pamiętaj, że to prawdopodobnie nie zadziała, jeśli używasz więcej niż jednego procesu. – monkut
@monkut Więcej niż jeden proces do czego, serwer, klient? –
Tornado jest jednoprocesowym, jednowątkowym serwerem ... to zadziała. – oDDsKooL