feat: spawn workers with rate limit

This commit is contained in:
debugtalk
2021-12-24 17:24:30 +08:00
parent b42246f664
commit 33b1c0d390
2 changed files with 6 additions and 2 deletions

View File

@@ -3,7 +3,8 @@
## v0.3.0 (2021-12-22)
- feat: implement `transaction` mechanism for load test
- feat: support `--continue-on-failure` flag to continue running next step when failure occurs, default to failfast
- feat: continue running next step when failure occurs with `--continue-on-failure` flag, default to failfast
- feat: spawn workers with `--spawn-rate` flag
- refactor: fork [boomer] as sub module
- feat: report GA events with version
- feat: run load test with the given limit and burst as rate limiter

View File

@@ -117,8 +117,11 @@ func (r *runner) spawnWorkers(spawnCount int, spawnRate float64, quit chan bool,
Msg("Spawning workers")
atomic.StoreInt32(&r.state, stateSpawning)
// TODO: spawn workers with spawnRate
for i := 1; i <= spawnCount; i++ {
// spawn workers with rate limit
sleepTime := time.Duration(1000000/r.spawnRate) * time.Microsecond
time.Sleep(sleepTime)
select {
case <-quit:
// quit spawning goroutine