Documentation ¶
Index ¶
- type CheckpointState
- type Client
- type Monitor
- func (m *Monitor) GetWorkerStatusByID(ctx context.Context, workerID string) workerx.Status
- func (m *Monitor) MonitorMockWorkerStatus(ctx context.Context, currentState CheckpointState, ...) error
- func (m *Monitor) MonitorWorkerStatus(ctx context.Context) error
- func (m *Monitor) Run(ctx context.Context) error
- func (m *Monitor) UpdateWorkerProgress(ctx context.Context, workerID string, progress WorkerProgress) error
- func (m *Monitor) UpdateWorkerStatusByID(ctx context.Context, workerID string, status string) error
- type WorkerProgress
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CheckpointState ¶
type Client ¶
type Client interface { // CurrentState returns the current block number (ethereum), height (arweave) or event id (farcaster) of the client from Checkpoints table in database. CurrentState(state CheckpointState) (uint64, uint64) // TargetState checks if the target block number/height is set in the parameters. TargetState(param *config.Parameters) (uint64, uint64) // LatestState returns the latest block number (ethereum), height (arweave) or event id (farcaster) or err (rss) of the client from network rpc/api. LatestState(ctx context.Context) (uint64, uint64, error) }
func NewArweaveClient ¶
NewArweaveClient returns a new arweave client.
func NewEthereumClient ¶
NewEthereumClient returns a new ethereum client.
func NewFarcasterClient ¶
NewFarcasterClient returns a new farcaster client.
func NewRssClient ¶ added in v0.5.16
func NewRssClient(endpoint string, param *config.Parameters) (Client, error)
NewRssClient returns a new rss client.
type Monitor ¶
type Monitor struct {
// contains filtered or unexported fields
}
func NewMonitor ¶
func NewMonitor(_ context.Context, configFile *config.File, databaseClient database.Client, redisClient rueidis.Client, networkParamsCaller *vsl.NetworkParamsCaller, settlementCaller *vsl.SettlementCaller) (*Monitor, error)
NewMonitor creates a new monitor instance.
func (*Monitor) GetWorkerStatusByID ¶ added in v0.4.24
GetWorkerStatusByID gets worker status from Redis cache by network and workerName.
func (*Monitor) MonitorMockWorkerStatus ¶
func (*Monitor) MonitorWorkerStatus ¶
MonitorWorkerStatus checks the worker status by comparing the current and latest block height/number. flags the worker as unhealthy if it's left behind the latest block height/number by more than the tolerance.
func (*Monitor) UpdateWorkerProgress ¶
func (m *Monitor) UpdateWorkerProgress(ctx context.Context, workerID string, progress WorkerProgress) error
UpdateWorkerProgress updates worker progress (state) in each monitoring cycle to Redis Cache.
type WorkerProgress ¶ added in v0.5.15
type WorkerProgress struct { RemoteState uint64 `json:"remote_state"` IndexedState uint64 `json:"indexed_state"` IndexCount int64 `json:"index_count"` }
func ConstructWorkerProgress ¶ added in v0.5.15
func ConstructWorkerProgress(currentWorkerState, targetWorkerState, latestWorkerState uint64, indexCount int64) WorkerProgress
ConstructWorkerProgress constructs the worker progress from current, target and latest block height/number.