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"`
TransactionSimple simple.Config `yaml:"transactionSimple"`
}
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.