this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

db max conns cfg

dholms 4a06520b dcec76dc

+12 -4
+7
cmd/nexus/main.go
··· 51 51 Value: "sqlite://./nexus.db", 52 52 EnvVars: []string{"NEXUS_DATABASE_URL"}, 53 53 }, 54 + &cli.IntFlag{ 55 + Name: "db-max-conns", 56 + Usage: "maximum number of database connections", 57 + Value: 32, 58 + EnvVars: []string{"NEXUS_DB_MAX_CONNS"}, 59 + }, 54 60 &cli.StringFlag{ 55 61 Name: "relay-url", 56 62 Usage: "AT Protocol relay URL", ··· 133 139 134 140 config := NexusConfig{ 135 141 DatabaseURL: cctx.String("database-url"), 142 + DBMaxConns: cctx.Int("db-max-conns"), 136 143 RelayUrl: cctx.String("relay-url"), 137 144 FirehoseParallelism: cctx.Int("firehose-parallelism"), 138 145 ResyncParallelism: cctx.Int("resync-parallelism"),
+5 -4
cmd/nexus/nexus.go
··· 44 44 45 45 type NexusConfig struct { 46 46 DatabaseURL string 47 + DBMaxConns int 47 48 RelayUrl string 48 49 FirehoseParallelism int 49 50 ResyncParallelism int ··· 56 57 } 57 58 58 59 func NewNexus(config NexusConfig) (*Nexus, error) { 59 - db, err := SetupDatabase(config.DatabaseURL) 60 + db, err := SetupDatabase(config.DatabaseURL, config.DBMaxConns) 60 61 if err != nil { 61 62 return nil, err 62 63 } ··· 191 192 return nil 192 193 } 193 194 194 - func SetupDatabase(dbUrl string) (*gorm.DB, error) { 195 + func SetupDatabase(dbUrl string, maxConns int) (*gorm.DB, error) { 195 196 // Setup database connection (supports both SQLite and Postgres) 196 197 var dialector gorm.Dialector 197 198 isSqlite := false ··· 226 227 if err != nil { 227 228 return nil, err 228 229 } 229 - sqlDB.SetMaxOpenConns(400) 230 - sqlDB.SetMaxIdleConns(400) 230 + sqlDB.SetMaxOpenConns(maxConns) 231 + sqlDB.SetMaxIdleConns(maxConns) 231 232 sqlDB.SetConnMaxIdleTime(time.Hour) 232 233 233 234 }