Skip to content

Commit c91b3ef

Browse files
committed
Delay process start time and allow the first requests to propgate
1 parent 9c64018 commit c91b3ef

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

src/guidellm/config.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ class Settings(BaseSettings):
133133
max_concurrency: int = 512
134134
max_worker_processes: int = 10
135135
max_add_requests_per_loop: int = 20
136+
scheduler_start_delay: float = 5
136137

137138
# Data settings
138139
dataset: DatasetSettings = DatasetSettings()

src/guidellm/scheduler/scheduler.py

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -124,16 +124,24 @@ async def run(
124124
) as executor,
125125
):
126126
requests_iter: Optional[Iterator[Any]] = None
127-
# TODO: Configurable delay and move somewhere more appropriate
128127
scheduling_strategy.start_time = (
129-
time.time()
128+
time.time() + settings.scheduler_start_delay
130129
) # Add a small delay to allow processes to start
131130
futures, queues, stop_event = await self._start_processes(
132131
manager, executor, scheduling_strategy
133132
)
134133
run_info, requests_iter = self._run_setup(
135134
futures, scheduling_strategy, max_number, max_duration
136135
)
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)
137145
yield SchedulerResult(
138146
type_="run_start",
139147
run_info=run_info,
@@ -285,9 +293,9 @@ def _add_requests(
285293
if time.time() >= run_info.end_time:
286294
raise StopIteration
287295

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
291299
):
292300
if run_info.created_requests >= run_info.end_number:
293301
raise StopIteration

0 commit comments

Comments
 (0)