Schon seit langem versuche ich folgendes zu verwirklichen:
Es wird eine API Anfrage gesendet. Ich erhalte als Ergebnis eine Liste mit 100 Artikeln und der Info, dass noch 30 weitere Seiten vorhanden sind.
Also muss ich 30 weitere Aufrufe starten bei denen ich die Seitenanzahl mitliefere, um die Artikel der jeweiligen Seite zu bekommen.
Da so ein Aufruf etwas längern dauert und sechs Aufrufe parallel möglich sind möchte ich das auch gerne nutzen. Ich bin mir nur nicht sicher welches Werkzeug dafür am geeignetsten ist und auf was ich zu achten habe:
Bisheriger Aufruf:
Code: Alles auswählen
import myapi
response = myapi.get_all_products()
products = response["items"]
pages = response["item_pages_available"]
for page in range(int(pages)):
response = myapi.get_all_products(page=page)
products.extend(response["items"])
Ist multiprocessing hier überhaupt passend? Ist man hier nicht auf die Anzahl der Prozessoren beschränkt? Ist ja bei diesen Aufrufen gar nicht wichtig, denn selbst ein alter Einkerner kann ja 6 Anfragen senden und auf die Antworten warten.
Ich glaube das ist erstmal die wichtigste Frage.