add lotus-miner dagstore initialize-all command.
This commit is contained in:
parent
7c858ece76
commit
28c550bbae
@ -7,6 +7,7 @@ import (
|
|||||||
"github.com/fatih/color"
|
"github.com/fatih/color"
|
||||||
"github.com/urfave/cli/v2"
|
"github.com/urfave/cli/v2"
|
||||||
|
|
||||||
|
"github.com/filecoin-project/lotus/api"
|
||||||
lcli "github.com/filecoin-project/lotus/cli"
|
lcli "github.com/filecoin-project/lotus/cli"
|
||||||
"github.com/filecoin-project/lotus/lib/tablewriter"
|
"github.com/filecoin-project/lotus/lib/tablewriter"
|
||||||
)
|
)
|
||||||
@ -17,6 +18,7 @@ var dagstoreCmd = &cli.Command{
|
|||||||
Subcommands: []*cli.Command{
|
Subcommands: []*cli.Command{
|
||||||
dagstoreListShardsCmd,
|
dagstoreListShardsCmd,
|
||||||
dagstoreInitializeShardCmd,
|
dagstoreInitializeShardCmd,
|
||||||
|
dagstoreInitializeAllCmd,
|
||||||
dagstoreGcCmd,
|
dagstoreGcCmd,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@ -94,6 +96,55 @@ var dagstoreInitializeShardCmd = &cli.Command{
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var dagstoreInitializeAllCmd = &cli.Command{
|
||||||
|
Name: "initialize-all",
|
||||||
|
Usage: "Initialize all uninitialized shards, streaming results as they're produced",
|
||||||
|
Flags: []cli.Flag{
|
||||||
|
&cli.UintFlag{
|
||||||
|
Name: "concurrency",
|
||||||
|
Usage: "maximum shards to initialize concurrently at a time; use 0 for unlimited",
|
||||||
|
Required: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Action: func(cctx *cli.Context) error {
|
||||||
|
concurrency := cctx.Uint("concurrency")
|
||||||
|
|
||||||
|
marketsApi, closer, err := lcli.GetMarketsAPI(cctx)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
defer closer()
|
||||||
|
|
||||||
|
ctx := lcli.ReqContext(cctx)
|
||||||
|
|
||||||
|
params := api.DagstoreInitializeAllParams{
|
||||||
|
MaxConcurrency: int(concurrency),
|
||||||
|
}
|
||||||
|
|
||||||
|
ch, err := marketsApi.DagstoreInitializeAll(ctx, params)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
for {
|
||||||
|
select {
|
||||||
|
case res, ok := <-ch:
|
||||||
|
if !ok {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if res.Success {
|
||||||
|
_, _ = fmt.Fprintln(os.Stdout, res.Key, color.New(color.FgGreen).Sprint("SUCCESS"))
|
||||||
|
} else {
|
||||||
|
_, _ = fmt.Fprintln(os.Stdout, res.Key, color.New(color.FgRed).Sprint("ERROR"), res.Error)
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-ctx.Done():
|
||||||
|
return fmt.Errorf("aborted")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
var dagstoreGcCmd = &cli.Command{
|
var dagstoreGcCmd = &cli.Command{
|
||||||
Name: "gc",
|
Name: "gc",
|
||||||
Usage: "Garbage collect the dagstore",
|
Usage: "Garbage collect the dagstore",
|
||||||
|
@ -1012,6 +1012,7 @@ USAGE:
|
|||||||
COMMANDS:
|
COMMANDS:
|
||||||
list-shards List all shards known to the dagstore, with their current status
|
list-shards List all shards known to the dagstore, with their current status
|
||||||
initialize-shard Initialize the specified shard
|
initialize-shard Initialize the specified shard
|
||||||
|
initialize-all Initialize all uninitialized shards, streaming results as they're produced
|
||||||
gc Garbage collect the dagstore
|
gc Garbage collect the dagstore
|
||||||
help, h Shows a list of commands or help for one command
|
help, h Shows a list of commands or help for one command
|
||||||
|
|
||||||
@ -1047,6 +1048,20 @@ OPTIONS:
|
|||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### lotus-miner dagstore initialize-all
|
||||||
|
```
|
||||||
|
NAME:
|
||||||
|
lotus-miner dagstore initialize-all - Initialize all uninitialized shards, streaming results as they're produced
|
||||||
|
|
||||||
|
USAGE:
|
||||||
|
lotus-miner dagstore initialize-all [command options] [arguments...]
|
||||||
|
|
||||||
|
OPTIONS:
|
||||||
|
--concurrency value maximum shards to initialize concurrently at a time; use 0 for unlimited (default: 0)
|
||||||
|
--help, -h show help (default: false)
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
### lotus-miner dagstore gc
|
### lotus-miner dagstore gc
|
||||||
```
|
```
|
||||||
NAME:
|
NAME:
|
||||||
|
Loading…
Reference in New Issue
Block a user