Hej
Mam pytanie dotyczące obsługi wielu zapytań wielu użytkowników w pythonie. (Pomijając kwestie wydajnościowe samego pythona)
Z tego co kojarzę, ostatnio w kwestii multiprocessingu czy też wielowątkowości w pythonie co nieco się pozmieniało.
Ogółem mam taki problem.
Program ma za zadanie odbierać dane z pewnego api. W zależności od danych uzyskanych z api - wiele podprocesów będzie wysyłać zapytania do innego api.
Zakładając, że mam bazę danych użytkowników. Każdy z użytkowników jest w stanie uruchomić swój oddzielny "proces". Im więcej użytkowników tym więcej równolegle uruchomionych procesów.
Czyli tak:
- jeden główny proces zbierający dane z pierwszego API i wyznaczający wynik analizy
- powiedzmy sto/tysiąc podprocesów, które w zależności od wyniku powyższej analizy wysyłają (w miarę równolegle) zapytanie do innego api. Częstotliwość wysyłanych zapytań nie będzie duża (powiedzmy co kilka dni) ale za to w jednym momencie wszyscy użytkownicy powinni być obsłużeni (w momencie zmiany wyniku analizy patrz 1.)
Jak to ugryźć?
Multiprocessing czy wielowątkowość? Jakieś biblioteki w pythonie? Na czym się skupić a co od razu odrzucić? Na początku chcę to zrobić w pythonie, w przyszłości pewnie ze względu na wydajność przejść na inny język.
Na ogółem nigdy nie robiłem tego nigdy a jak już coś robić to wolałbym zacząć od dobrych praktyk i uczyć się czegoś co ma sens :D
Wszelkie sugestie - zarówno co do języka jak i metod, bibliotek pythonowych ja najbardziej mile widziane.
Zapraszam do dyskusji - zakładam, że jest to zadanie które można rozwiązać w różny sposób :)