Documentation ¶
Index ¶
- Constants
- Variables
- type CheckpointState
- type Client
- func NewActivityPubClient(network network.Network, param *config.Parameters) (Client, error)
- func NewArweaveClient() (Client, error)
- func NewEthereumClient(endpoint config.Endpoint) (Client, error)
- func NewFarcasterClient() (Client, error)
- func NewNearClient(endpoint config.Endpoint) (Client, error)
- type CronJob
- type Monitor
- func (m *Monitor) GetWorkerStatusByID(ctx context.Context, workerID string) workerx.Status
- func (m *Monitor) MaintainCoveragePeriod(ctx context.Context) error
- 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 ¶
const ( MonitorWorkerStatusJob = "worker_status" DatabaseMaintenanceJob = "database_maintenance" )
Variables ¶
var KeyPrefix = "cronjob:%s"
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 NewActivityPubClient ¶ added in v1.1.0
NewActivityPubClient returns a new ActivityPub client.
func NewArweaveClient ¶
NewArweaveClient returns a new arweave client.
func NewEthereumClient ¶
NewEthereumClient returns a new ethereum client.
func NewFarcasterClient ¶
NewFarcasterClient returns a new farcaster client.
type CronJob ¶ added in v1.1.0
type CronJob struct {
// contains filtered or unexported fields
}
func NewCronJob ¶ added in v1.1.0
func (*CronJob) ReleaseLock ¶ added in v1.1.0
func (c *CronJob) ReleaseLock()
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) MaintainCoveragePeriod ¶ added in v1.1.0
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.