diff --git a/config/config.go b/config/config.go index fb462f8f..2eaa31ce 100644 --- a/config/config.go +++ b/config/config.go @@ -9,13 +9,21 @@ import ( "strconv" ) +// Default config parameters values const ( - DefaultBaseURL = "http://localhost" + DefaultBaseURL = "http://localhost" + DefaultDatabaseURL = "postgres://postgres:postgres@localhost/miniflux2?sslmode=disable" + DefaultWorkerPoolSize = 5 + DefaultPollingFrequency = 60 + DefaultBatchSize = 10 + DefaultDatabaseMaxConns = 20 + DefaultListenAddr = "127.0.0.1:8080" ) -type Config struct { -} +// Config manages configuration parameters. +type Config struct{} +// Get returns a config parameter value. func (c *Config) Get(key, fallback string) string { value := os.Getenv(key) if value == "" { @@ -25,6 +33,7 @@ func (c *Config) Get(key, fallback string) string { return value } +// GetInt returns a config parameter as integer. func (c *Config) GetInt(key string, fallback int) int { value := os.Getenv(key) if value == "" { @@ -35,6 +44,7 @@ func (c *Config) GetInt(key string, fallback int) int { return v } +// NewConfig returns a new Config. func NewConfig() *Config { return &Config{} } diff --git a/locale/translations.go b/locale/translations.go index ed17220d..57b8cbd5 100644 --- a/locale/translations.go +++ b/locale/translations.go @@ -1,5 +1,5 @@ // Code generated by go generate; DO NOT EDIT. -// 2017-11-21 19:31:59.645632989 -0800 PST m=+0.024631837 +// 2017-11-21 20:18:16.06757584 -0800 PST m=+0.047008676 package locale diff --git a/main.go b/main.go index aedbd0a1..9ab7cdc4 100644 --- a/main.go +++ b/main.go @@ -47,8 +47,17 @@ func run(cfg *config.Config, store *storage.Storage) { server := server.NewServer(cfg, store, feedHandler) go func() { - pool := scheduler.NewWorkerPool(feedHandler, cfg.GetInt("WORKER_POOL_SIZE", 5)) - scheduler.NewScheduler(store, pool, cfg.GetInt("POLLING_FREQUENCY", 30), cfg.GetInt("BATCH_SIZE", 10)) + pool := scheduler.NewWorkerPool( + feedHandler, + cfg.GetInt("WORKER_POOL_SIZE", config.DefaultWorkerPoolSize), + ) + + scheduler.NewScheduler( + store, + pool, + cfg.GetInt("POLLING_FREQUENCY", config.DefaultPollingFrequency), + cfg.GetInt("BATCH_SIZE", config.DefaultBatchSize), + ) }() <-stop @@ -82,8 +91,8 @@ func main() { cfg := config.NewConfig() store := storage.NewStorage( - cfg.Get("DATABASE_URL", "postgres://postgres:postgres@localhost/miniflux2?sslmode=disable"), - cfg.GetInt("DATABASE_MAX_CONNS", 20), + cfg.Get("DATABASE_URL", config.DefaultDatabaseURL), + cfg.GetInt("DATABASE_MAX_CONNS", config.DefaultDatabaseMaxConns), ) if *flagInfo { diff --git a/server/server.go b/server/server.go index 9ab0ab86..61b62291 100644 --- a/server/server.go +++ b/server/server.go @@ -20,7 +20,7 @@ func NewServer(cfg *config.Config, store *storage.Storage, feedHandler *feed.Han ReadTimeout: 5 * time.Second, WriteTimeout: 10 * time.Second, IdleTimeout: 60 * time.Second, - Addr: cfg.Get("LISTEN_ADDR", "127.0.0.1:8080"), + Addr: cfg.Get("LISTEN_ADDR", config.DefaultListenAddr), Handler: getRoutes(cfg, store, feedHandler), } diff --git a/server/static/bin.go b/server/static/bin.go index ae5a4b27..74c9e71d 100644 --- a/server/static/bin.go +++ b/server/static/bin.go @@ -1,5 +1,5 @@ // Code generated by go generate; DO NOT EDIT. -// 2017-11-21 19:31:59.626742594 -0800 PST m=+0.005741442 +// 2017-11-21 20:18:16.027243814 -0800 PST m=+0.006676650 package static diff --git a/server/static/css.go b/server/static/css.go index 11e827ef..72176a6d 100644 --- a/server/static/css.go +++ b/server/static/css.go @@ -1,5 +1,5 @@ // Code generated by go generate; DO NOT EDIT. -// 2017-11-21 19:31:59.629675274 -0800 PST m=+0.008674122 +// 2017-11-21 20:18:16.030648994 -0800 PST m=+0.010081830 package static diff --git a/server/static/js.go b/server/static/js.go index 07f2de07..b10a45d0 100644 --- a/server/static/js.go +++ b/server/static/js.go @@ -1,5 +1,5 @@ // Code generated by go generate; DO NOT EDIT. -// 2017-11-21 19:31:59.631783539 -0800 PST m=+0.010782387 +// 2017-11-21 20:18:16.035467739 -0800 PST m=+0.014900575 package static diff --git a/server/template/common.go b/server/template/common.go index 2dc24c60..7d437c5d 100644 --- a/server/template/common.go +++ b/server/template/common.go @@ -1,5 +1,5 @@ // Code generated by go generate; DO NOT EDIT. -// 2017-11-21 19:31:59.643994492 -0800 PST m=+0.022993340 +// 2017-11-21 20:18:16.064392532 -0800 PST m=+0.043825368 package template diff --git a/server/template/views.go b/server/template/views.go index cfa571f6..3d875ce8 100644 --- a/server/template/views.go +++ b/server/template/views.go @@ -1,5 +1,5 @@ // Code generated by go generate; DO NOT EDIT. -// 2017-11-21 19:31:59.633723314 -0800 PST m=+0.012722162 +// 2017-11-21 20:18:16.038376976 -0800 PST m=+0.017809812 package template diff --git a/sql/sql.go b/sql/sql.go index fffc6a98..dc8a1b80 100644 --- a/sql/sql.go +++ b/sql/sql.go @@ -1,5 +1,5 @@ // Code generated by go generate; DO NOT EDIT. -// 2017-11-21 19:31:59.625242989 -0800 PST m=+0.004241837 +// 2017-11-21 20:18:16.024887819 -0800 PST m=+0.004320655 package sql