merge master

This commit is contained in:
debugtalk
2022-09-01 22:39:47 +08:00
2 changed files with 21 additions and 14 deletions

View File

@@ -1,9 +1,15 @@
# Release History # Release History
## v4.2.1 (2022-08-23) ## v4.3.0 (2022-09-01)
- feat: support iOS UI automation with WebDriverAgent - feat: support iOS UI automation with WebDriverAgent
## v4.2.1 (2022-09-01)
**go version**
- fix: hrp boom duration still limited without specifying `--run-time`
## v4.2.0 (2022-08-21) ## v4.2.0 (2022-08-21)
**go version** **go version**

View File

@@ -11,11 +11,12 @@ import (
"time" "time"
"github.com/go-errors/errors" "github.com/go-errors/errors"
"github.com/httprunner/httprunner/v4/hrp/internal/boomer/grpc/messager"
"github.com/httprunner/httprunner/v4/hrp/internal/builtin"
"github.com/jinzhu/copier" "github.com/jinzhu/copier"
"github.com/olekukonko/tablewriter" "github.com/olekukonko/tablewriter"
"github.com/rs/zerolog/log" "github.com/rs/zerolog/log"
"github.com/httprunner/httprunner/v4/hrp/internal/boomer/grpc/messager"
"github.com/httprunner/httprunner/v4/hrp/internal/builtin"
) )
const ( const (
@@ -245,7 +246,7 @@ func (r *runner) getSpawnRate() float64 {
} }
func (r *runner) setRunTime(runTime int64) { func (r *runner) setRunTime(runTime int64) {
atomic.StoreInt64(&r.runTime, time.Now().Unix()+runTime) atomic.StoreInt64(&r.runTime, runTime)
} }
func (r *runner) getRunTime() int64 { func (r *runner) getRunTime() int64 {
@@ -381,15 +382,15 @@ func (r *runner) runTimeCheck(runTime int64) {
if runTime <= 0 { if runTime <= 0 {
return return
} }
stopTime := time.Now().Unix() + runTime
var ticker = time.NewTicker(time.Second * 3) ticker := time.NewTicker(time.Second)
for { for {
select { select {
case <-r.stopChan: case <-r.stopChan:
return return
case <-ticker.C: case <-ticker.C:
nowTime := time.Now().Unix() if time.Now().Unix() > stopTime {
if nowTime > runTime {
r.stop() r.stop()
return return
} }
@@ -552,7 +553,7 @@ func (r *runner) getTask() *Task {
} }
func (r *runner) statsStart() { func (r *runner) statsStart() {
var ticker = time.NewTicker(reportStatsInterval) ticker := time.NewTicker(reportStatsInterval)
for { for {
select { select {
// record stats // record stats
@@ -872,7 +873,7 @@ func (r *workerRunner) run() {
// notify master that worker is quitting // notify master that worker is quitting
r.onQuiting() r.onQuiting()
var ticker = time.NewTicker(1 * time.Second) ticker := time.NewTicker(1 * time.Second)
if r.client != nil { if r.client != nil {
// waitting for quit message is sent to master // waitting for quit message is sent to master
select { select {
@@ -900,7 +901,7 @@ func (r *workerRunner) run() {
// heartbeat // heartbeat
// See: https://github.com/locustio/locust/commit/a8c0d7d8c588f3980303358298870f2ea394ab93 // See: https://github.com/locustio/locust/commit/a8c0d7d8c588f3980303358298870f2ea394ab93
var ticker = time.NewTicker(heartbeatInterval) ticker := time.NewTicker(heartbeatInterval)
for { for {
select { select {
case <-ticker.C: case <-ticker.C:
@@ -1047,8 +1048,8 @@ func (r *masterRunner) setExpectWorkers(expectWorkers int, expectWorkersMaxWait
func (r *masterRunner) heartbeatWorker() { func (r *masterRunner) heartbeatWorker() {
log.Info().Msg("heartbeatWorker, listen and record heartbeat from worker") log.Info().Msg("heartbeatWorker, listen and record heartbeat from worker")
var heartBeatTicker = time.NewTicker(heartbeatInterval) heartBeatTicker := time.NewTicker(heartbeatInterval)
var reportTicker = time.NewTicker(heartbeatLiveness) reportTicker := time.NewTicker(heartbeatLiveness)
for { for {
select { select {
case <-r.closeChan: case <-r.closeChan:
@@ -1192,8 +1193,8 @@ func (r *masterRunner) run() {
if r.autoStart { if r.autoStart {
go func() { go func() {
log.Info().Msg("auto start, waiting expected workers joined") log.Info().Msg("auto start, waiting expected workers joined")
var ticker = time.NewTicker(1 * time.Second) ticker := time.NewTicker(1 * time.Second)
var tickerMaxWait = time.NewTicker(time.Duration(r.expectWorkersMaxWait) * time.Second) tickerMaxWait := time.NewTicker(time.Duration(r.expectWorkersMaxWait) * time.Second)
for { for {
select { select {
case <-r.closeChan: case <-r.closeChan: