@@ -124,16 +124,24 @@ async def run(
124
124
) as executor ,
125
125
):
126
126
requests_iter : Optional [Iterator [Any ]] = None
127
- # TODO: Configurable delay and move somewhere more appropriate
128
127
scheduling_strategy .start_time = (
129
- time .time ()
128
+ time .time () + settings . scheduler_start_delay
130
129
) # Add a small delay to allow processes to start
131
130
futures , queues , stop_event = await self ._start_processes (
132
131
manager , executor , scheduling_strategy
133
132
)
134
133
run_info , requests_iter = self ._run_setup (
135
134
futures , scheduling_strategy , max_number , max_duration
136
135
)
136
+
137
+ # Add some initial requests to the queue
138
+ requests_iter = self ._add_requests (
139
+ requests_iter ,
140
+ queues .requests ,
141
+ run_info ,
142
+ )
143
+ # Wait for the test to start
144
+ await asyncio .sleep (time .time () - scheduling_strategy .start_time )
137
145
yield SchedulerResult (
138
146
type_ = "run_start" ,
139
147
run_info = run_info ,
@@ -285,9 +293,9 @@ def _add_requests(
285
293
if time .time () >= run_info .end_time :
286
294
raise StopIteration
287
295
288
- while (
289
- not requests_queue . full ()
290
- and added_count < settings .max_add_requests_per_loop
296
+ while not requests_queue . full () and added_count < (
297
+ run_info . strategy . queued_requests_limit
298
+ or settings .max_add_requests_per_loop
291
299
):
292
300
if run_info .created_requests >= run_info .end_number :
293
301
raise StopIteration
0 commit comments