Add PHOTOPRISM_DATABASE_CONNS config parameter
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
This commit is contained in:
parent
02800e796e
commit
ed8390906c
|
@ -86,6 +86,7 @@ func configAction(ctx *cli.Context) error {
|
|||
// Database config
|
||||
fmt.Printf("%-25s %s\n", "database-driver", conf.DatabaseDriver())
|
||||
fmt.Printf("%-25s %s\n", "database-dsn", conf.DatabaseDsn())
|
||||
fmt.Printf("%-25s %d\n", "database-conns", conf.DatabaseConns())
|
||||
|
||||
// External binaries
|
||||
fmt.Printf("%-25s %s\n", "sips-bin", conf.SipsBin())
|
||||
|
|
|
@ -33,6 +33,15 @@ func (c *Config) DatabaseDsn() string {
|
|||
return c.params.DatabaseDsn
|
||||
}
|
||||
|
||||
// DatabaseConns sets the maximum number of open connections to the database.
|
||||
func (c *Config) DatabaseConns() int {
|
||||
if c.params.DatabaseConns > 1024 || c.params.DatabaseConns < 0 {
|
||||
return 0
|
||||
}
|
||||
|
||||
return c.params.DatabaseConns
|
||||
}
|
||||
|
||||
// Db returns the db connection.
|
||||
func (c *Config) Db() *gorm.DB {
|
||||
if c.db == nil {
|
||||
|
@ -133,7 +142,7 @@ func (c *Config) connectToDatabase(ctx context.Context) error {
|
|||
db.LogMode(false)
|
||||
db.SetLogger(log)
|
||||
db.DB().SetMaxIdleConns(0)
|
||||
db.DB().SetMaxOpenConns(256)
|
||||
db.DB().SetMaxOpenConns(c.DatabaseConns())
|
||||
|
||||
c.db = db
|
||||
return err
|
||||
|
|
|
@ -243,6 +243,12 @@ var GlobalFlags = []cli.Flag{
|
|||
Value: "root:@tcp(localhost:2343)/photoprism?parseTime=true",
|
||||
EnvVar: "PHOTOPRISM_DATABASE_DSN",
|
||||
},
|
||||
cli.IntFlag{
|
||||
Name: "database-conns",
|
||||
Usage: "maximum `NUMBER` of open connections to the database",
|
||||
Value: 256,
|
||||
EnvVar: "PHOTOPRISM_DATABASE_CONNS",
|
||||
},
|
||||
cli.BoolFlag{
|
||||
Name: "detect-nsfw",
|
||||
Usage: "flag photos as private that may be offensive",
|
||||
|
|
|
@ -56,6 +56,7 @@ type Params struct {
|
|||
ResourcesPath string `yaml:"resources-path" flag:"resources-path"`
|
||||
DatabaseDriver string `yaml:"database-driver" flag:"database-driver"`
|
||||
DatabaseDsn string `yaml:"database-dsn" flag:"database-dsn"`
|
||||
DatabaseConns int `yaml:"database-conns" flag:"database-conns"`
|
||||
TidbServerHost string `yaml:"tidb-host" flag:"tidb-host"`
|
||||
TidbServerPort uint `yaml:"tidb-port" flag:"tidb-port"`
|
||||
TidbServerPassword string `yaml:"tidb-password" flag:"tidb-password"`
|
||||
|
|
Loading…
Reference in a new issue