Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { // Processing interval Interval time.Duration `yaml:"interval"` // Processing mode: forwards, backwards Mode string `yaml:"mode"` // Maximum concurrent transactions to process Concurrency int `yaml:"concurrency"` // Leader election configuration LeaderElection LeaderElectionConfig `yaml:"leaderElection"` // Queue control configuration MaxProcessQueueSize int `yaml:"maxProcessQueueSize"` BackpressureHysteresis float64 `yaml:"backpressureHysteresis"` // Processor configurations TransactionStructlog structlog.Config `yaml:"transactionStructlog"` }
Config holds the unified processor configuration
type LeaderElectionConfig ¶
type LeaderElectionConfig struct { // Enable leader election (default: true) Enabled bool `yaml:"enabled"` // TTL for leader lock (default: 10s) TTL time.Duration `yaml:"ttl"` // Renewal interval (default: 3s) RenewalInterval time.Duration `yaml:"renewalInterval"` // Optional node ID (auto-generated if empty) NodeID string `yaml:"nodeId"` }
LeaderElectionConfig holds configuration for leader election
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager coordinates multiple processors with distributed task processing
func NewManager ¶
func (*Manager) GetQueueName ¶ added in v0.0.10
GetQueueName returns the current queue name based on processing mode
func (*Manager) QueueBlockManually ¶ added in v0.0.10
func (m *Manager) QueueBlockManually(ctx context.Context, processorName string, blockNumber uint64) (*QueueResult, error)
QueueBlockManually allows manual queuing of a specific block for processing
type QueueResult ¶ added in v0.0.10
QueueResult contains the result of queuing a block
type WorkerConfig ¶
WorkerConfig holds worker configuration
Click to show internal directories.
Click to hide internal directories.