forked from cerc-io/ipld-eth-server
Make queue recheck interval configurable via CLI
This commit is contained in:
parent
b036053937
commit
6716c3b92a
@ -19,6 +19,7 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"plugin"
|
"plugin"
|
||||||
syn "sync"
|
syn "sync"
|
||||||
|
"time"
|
||||||
|
|
||||||
log "github.com/sirupsen/logrus"
|
log "github.com/sirupsen/logrus"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
@ -191,5 +192,6 @@ func composeAndExecute() {
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
rootCmd.AddCommand(composeAndExecuteCmd)
|
rootCmd.AddCommand(composeAndExecuteCmd)
|
||||||
composeAndExecuteCmd.Flags().BoolVar(&recheckHeadersArg, "recheckHeaders", false, "checks headers that are already checked for each transformer.")
|
composeAndExecuteCmd.Flags().BoolVarP(&recheckHeadersArg, "recheck-headers", "r", false, "whether to re-check headers for watched events")
|
||||||
|
composeAndExecuteCmd.Flags().DurationVarP(&queueRecheckInterval, "queue-recheck-interval", "q", 5 * time.Minute, "how often to recheck queued storage diffs")
|
||||||
}
|
}
|
||||||
|
@ -138,7 +138,8 @@ func execute() {
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
rootCmd.AddCommand(executeCmd)
|
rootCmd.AddCommand(executeCmd)
|
||||||
executeCmd.Flags().BoolVar(&recheckHeadersArg, "recheckHeaders", false, "checks headers that are already checked for each transformer.")
|
executeCmd.Flags().BoolVarP(&recheckHeadersArg, "recheck-headers", "r", false, "whether to re-check headers for watched events")
|
||||||
|
executeCmd.Flags().DurationVarP(&queueRecheckInterval, "queue-recheck-interval", "q", 5 * time.Minute, "how often to recheck queued storage diffs")
|
||||||
}
|
}
|
||||||
|
|
||||||
type Exporter interface {
|
type Exporter interface {
|
||||||
|
@ -41,6 +41,7 @@ var (
|
|||||||
genConfig config.Plugin
|
genConfig config.Plugin
|
||||||
ipc string
|
ipc string
|
||||||
levelDbPath string
|
levelDbPath string
|
||||||
|
queueRecheckInterval time.Duration
|
||||||
startingBlockNumber int64
|
startingBlockNumber int64
|
||||||
storageDiffsPath string
|
storageDiffsPath string
|
||||||
syncAll bool
|
syncAll bool
|
||||||
@ -50,7 +51,6 @@ var (
|
|||||||
|
|
||||||
const (
|
const (
|
||||||
pollingInterval = 7 * time.Second
|
pollingInterval = 7 * time.Second
|
||||||
queueRecheckInterval = 5 * time.Minute
|
|
||||||
validationWindow = 15
|
validationWindow = 15
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -36,6 +36,20 @@ composeAndExecute:
|
|||||||
|
|
||||||
`./vulcanizedb composeAndExecute --config=./environments/config_name.toml`
|
`./vulcanizedb composeAndExecute --config=./environments/config_name.toml`
|
||||||
|
|
||||||
|
## Flags
|
||||||
|
|
||||||
|
The `compose` and `composeAndExecute` commands can be passed optional flags to specify the operation of the watchers:
|
||||||
|
|
||||||
|
- `--recheck-headers`/`-r` - specifies whether to re-check headers for events after the header has already been queried for watched logs.
|
||||||
|
Can be useful for redundancy if you suspect that your node is not always returning all desired logs on every query.
|
||||||
|
Argument is expected to be a boolean: e.g. `-r=true`.
|
||||||
|
Defaults to `false`.
|
||||||
|
|
||||||
|
- `query-recheck-interval`/`-q` - specifies interval for re-checking storage diffs that haven been queued for later processing
|
||||||
|
(by default, the storage watched queues storage diffs if transformer execution fails, on the assumption that subsequent data derived from the event transformers may enable us to decode storage keys that we don't recognize right now).
|
||||||
|
Argument is expected to be a duration (integer measured in nanoseconds): e.g. `-q=10m30s` (for 10 minute, 30 second intervals).
|
||||||
|
Defaults to `5m` (5 minutes).
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
A .toml config file is specified when executing the commands.
|
A .toml config file is specified when executing the commands.
|
||||||
The config provides information for composing a set of transformers from external repositories:
|
The config provides information for composing a set of transformers from external repositories:
|
||||||
|
Loading…
Reference in New Issue
Block a user