FastLED 3.9.15
Loading...
Searching...
No Matches

◆ stress_test_concurrent()

None test_stress.stress_test_concurrent ( StressTestConfig config,
StressTestResults results )
Test: Multiple concurrent connections.

Definition at line 147 of file test_stress.py.

149) -> None:
150 """Test: Multiple concurrent connections."""
151 console.print("\n[bold cyan]Test 1: Concurrent Connections[/bold cyan]")
152 console.print(f"Making {config.num_connections} concurrent requests...")
153
154 with Progress(
155 SpinnerColumn(),
156 TextColumn("[progress.description]{task.description}"),
157 BarColumn(),
158 TaskProgressColumn(),
159 console=console,
160 ) as progress:
161 task = progress.add_task("Requesting...", total=config.num_connections)
162
163 threads: list[threading.Thread] = []
164 with httpx.Client() as client:
165 for _ in range(config.num_connections):
166 thread: threading.Thread = threading.Thread(
167 target=make_request, args=(config, results, client)
168 )
169 thread.start()
170 threads.append(thread)
171
172 for thread in threads:
173 thread.join()
174 progress.update(task, advance=1)
175
176 success_rate = (
177 (results.successful_requests / results.total_requests * 100)
178 if results.total_requests > 0
179 else 0
180 )
181 console.print(
182 f" Success rate: {success_rate:.1f}% ({results.successful_requests}/{results.total_requests})"
183 )
184
185

Referenced by main().

+ Here is the caller graph for this function: