Wpis z mikrobloga

Robie po raz pierwszy aplikacje w #django i mam taka zagwozdke. Na stronie uzytkownik moze wywolac pewna akcje, trwa ona dosyc dlugo - kilka sekund, po czym dostaje on przekierowanie na kolejna strone gdzie wynik tej akcji jest ladnie wyswietlany. I doszedlem do wniosku, ze przez te kilka sekund czekania uzytkownik sie po prostu moze wkurzyc, wiec pomysl jest taki, zeby jak najszybciej przekierowac go na nowa strone, ktora jeszcze nie bedzie miala za wiele kontentu. Czasochlonna akcja zostanie wrzucona w nowy watek, a jej wynik na biezaco bedzie sie doczytywal i wyswietlal za pomoca ajax-a.
I teraz nie chce korzystac z Celery/Redis czy innych djangowych bibliotek tylko uzyje python.threading. Celery/Redis wydaja sie kombajnami a ja mam nieduza aplikacje i proste rozwiazanie z natywnym pythonem wydaje sie lepsze. Szczegolnie, ze Django ORM jest thread-safe, wiec jezeli kilka watkow bedzie sie dobijalo do bazy i zapisywalo w niej rekordy to nic sie nie spieprzy, prawda? ( ͡° ͜ʖ ͡°)

Wynik tej dlugotrwalej akcji - string o dlugosci nawet 10k znakow - zapisuje sobie w bazie danych, zeby w przyszlosci oszczedzic na czasie. Tak duze wpisy powinienem umieszczac w pliku tekstowym na dysku a w baze wrzucac tylko jego adres?

I jeszcze jedno pytanie. Trace cos na zdefiniowaniu Text albo CharFielda na 10k znakow jak bede tam wprowadzal tylko np. 15 znakow?

#naukaprogramowania #python #webdev
  • 4
  • Odpowiedz