daemon cmd: Add progress bar to chain import
This commit is contained in:
parent
b14afba859
commit
a3145bae07
@ -23,6 +23,7 @@ import (
|
|||||||
"go.opencensus.io/stats/view"
|
"go.opencensus.io/stats/view"
|
||||||
"go.opencensus.io/tag"
|
"go.opencensus.io/tag"
|
||||||
"golang.org/x/xerrors"
|
"golang.org/x/xerrors"
|
||||||
|
"gopkg.in/cheggaaa/pb.v1"
|
||||||
|
|
||||||
"github.com/filecoin-project/lotus/api"
|
"github.com/filecoin-project/lotus/api"
|
||||||
"github.com/filecoin-project/lotus/build"
|
"github.com/filecoin-project/lotus/build"
|
||||||
@ -333,6 +334,11 @@ func ImportChain(r repo.Repo, fname string, snapshot bool) error {
|
|||||||
}
|
}
|
||||||
defer fi.Close() //nolint:errcheck
|
defer fi.Close() //nolint:errcheck
|
||||||
|
|
||||||
|
st, err := os.Stat(fname)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
lr, err := r.Lock(repo.FullNode)
|
lr, err := r.Lock(repo.FullNode)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@ -354,7 +360,17 @@ func ImportChain(r repo.Repo, fname string, snapshot bool) error {
|
|||||||
cst := store.NewChainStore(bs, mds, vm.Syscalls(ffiwrapper.ProofVerifier))
|
cst := store.NewChainStore(bs, mds, vm.Syscalls(ffiwrapper.ProofVerifier))
|
||||||
|
|
||||||
log.Info("importing chain from file...")
|
log.Info("importing chain from file...")
|
||||||
ts, err := cst.Import(fi)
|
|
||||||
|
bar := pb.New64(st.Size())
|
||||||
|
br := bar.NewProxyReader(fi)
|
||||||
|
bar.ShowTimeLeft = true
|
||||||
|
bar.ShowPercent = true
|
||||||
|
bar.Units = pb.U_BYTES
|
||||||
|
|
||||||
|
bar.Start()
|
||||||
|
ts, err := cst.Import(br)
|
||||||
|
bar.Finish()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return xerrors.Errorf("importing chain failed: %w", err)
|
return xerrors.Errorf("importing chain failed: %w", err)
|
||||||
}
|
}
|
||||||
|
1
go.mod
1
go.mod
@ -125,6 +125,7 @@ require (
|
|||||||
golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980
|
golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980
|
||||||
golang.org/x/time v0.0.0-20191024005414-555d28b269f0
|
golang.org/x/time v0.0.0-20191024005414-555d28b269f0
|
||||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1
|
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1
|
||||||
|
gopkg.in/cheggaaa/pb.v1 v1.0.28
|
||||||
gotest.tools v2.2.0+incompatible
|
gotest.tools v2.2.0+incompatible
|
||||||
launchpad.net/gocheck v0.0.0-20140225173054-000000000087 // indirect
|
launchpad.net/gocheck v0.0.0-20140225173054-000000000087 // indirect
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user