| 172 | } |
| 173 | |
| 174 | type QueueConfig struct { |
| 175 | TransactionQueue string `json:"transaction_queue" envconfig:"LEDGERFORGE_QUEUE_TRANSACTION"` |
| 176 | WebhookQueue string `json:"webhook_queue" envconfig:"LEDGERFORGE_QUEUE_WEBHOOK"` |
| 177 | IndexQueue string `json:"index_queue" envconfig:"LEDGERFORGE_QUEUE_INDEX"` |
| 178 | InflightExpiryQueue string `json:"inflight_expiry_queue" envconfig:"LEDGERFORGE_QUEUE_INFLIGHT_EXPIRY"` |
| 179 | InflightCommitQueue string `json:"inflight_commit_queue" envconfig:"LEDGERFORGE_QUEUE_INFLIGHT_COMMIT"` |
| 180 | NumberOfQueues int `json:"number_of_queues" envconfig:"LEDGERFORGE_QUEUE_NUMBER_OF_QUEUES"` |
| 181 | EnableHotLane bool `json:"enable_hot_lane" envconfig:"LEDGERFORGE_QUEUE_ENABLE_HOT_LANE"` |
| 182 | HotQueueName string `json:"hot_queue_name" envconfig:"LEDGERFORGE_QUEUE_HOT_QUEUE_NAME"` |
| 183 | HotQueueConcurrency int `json:"hot_queue_concurrency" envconfig:"LEDGERFORGE_QUEUE_HOT_QUEUE_CONCURRENCY"` |
| 184 | HotPairTTL time.Duration `json:"hot_pair_ttl" envconfig:"LEDGERFORGE_QUEUE_HOT_PAIR_TTL"` |
| 185 | HotPairLockContentionThreshold int `json:"hot_pair_lock_contention_threshold" envconfig:"LEDGERFORGE_QUEUE_HOT_PAIR_LOCK_CONTENTION_THRESHOLD"` |
| 186 | RejectLockContentionImmediately bool `json:"reject_lock_contention_immediately" envconfig:"LEDGERFORGE_QUEUE_REJECT_LOCK_CONTENTION_IMMEDIATELY"` |
| 187 | InsufficientFundRetries bool `json:"insufficient_fund_retries" envconfig:"LEDGERFORGE_QUEUE_INSUFFICIENT_FUND_RETRIES"` |
| 188 | MaxRetryAttempts int `json:"max_retry_attempts" envconfig:"LEDGERFORGE_QUEUE_MAX_RETRY_ATTEMPTS"` |
| 189 | MonitoringPort string `json:"monitoring_port" envconfig:"LEDGERFORGE_QUEUE_MONITORING_PORT"` |
| 190 | WebhookConcurrency int `json:"webhook_concurrency" envconfig:"LEDGERFORGE_QUEUE_WEBHOOK_CONCURRENCY"` |
| 191 | TransactionWorkerConcurrency int `json:"transaction_worker_concurrency" envconfig:"LEDGERFORGE_QUEUE_TRANSACTION_WORKER_CONCURRENCY"` |
| 192 | } |
| 193 | |
| 194 | type Configuration struct { |
| 195 | ProjectName string `json:"project_name" envconfig:"LEDGERFORGE_PROJECT_NAME"` |
nothing calls this directly
no outgoing calls
no test coverage detected