sync miners
This commit is contained in:
parent
666023f804
commit
909c12c6b4
@ -3,8 +3,6 @@ package main
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"math/rand"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/filecoin-project/lotus/build"
|
"github.com/filecoin-project/lotus/build"
|
||||||
"github.com/testground/sdk-go/sync"
|
"github.com/testground/sdk-go/sync"
|
||||||
@ -54,15 +52,15 @@ func runMiner(t *TestEnvironment) error {
|
|||||||
stateMineNext := sync.State(fmt.Sprintf("mine-block-%d", i))
|
stateMineNext := sync.State(fmt.Sprintf("mine-block-%d", i))
|
||||||
t.SyncClient.MustSignalAndWait(ctx, stateMineNext, miners)
|
t.SyncClient.MustSignalAndWait(ctx, stateMineNext, miners)
|
||||||
|
|
||||||
// add some random delay to encourage a different miner winning each round
|
ch := make(chan struct{})
|
||||||
time.Sleep(time.Duration(100 + rand.Intn(int(100*time.Millisecond))))
|
|
||||||
|
|
||||||
err := miner.MineOne(ctx, func(mined bool) {
|
err := miner.MineOne(ctx, func(mined bool) {
|
||||||
t.D().Counter(fmt.Sprintf("block.mine,miner=%s", myActorAddr)).Inc(1)
|
t.D().Counter(fmt.Sprintf("block.mine,miner=%s", myActorAddr)).Inc(1)
|
||||||
|
close(ch)
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
<-ch
|
||||||
}
|
}
|
||||||
|
|
||||||
// signal the last block to make sure no miners are left stuck waiting for the next block signal
|
// signal the last block to make sure no miners are left stuck waiting for the next block signal
|
||||||
|
Loading…
Reference in New Issue
Block a user