Ich rufe die Funktionen mit Asyncio auf, in der jede der Funktionen, wenn sie alleine ausgeführt wird, unter einer Sekunde ausgeführt wird, aber wenn sie über Asyncio anruft und sammelt, steigt sie bis zu 4 Sekunden. Ich möchte es auf die Phase bringen, in der die maximale Zeit die Zeit sein sollte, die von der Langzeitfunktion benötigt wird. 3 = 1,5 Sekunden, dann sollte die Gesamtausführungszeit 3 sein, aber in meinem Fall ist es mehr als 4 oder 5. < /P>
Code: Select all
tasks = [call_function(func_name, **params) for func_name, params in functions_with_params]
results = await asyncio.gather(*tasks)
So beheben Sie das Problem.