diff options
author | Alan Pearce | 2024-06-09 17:54:57 +0200 |
---|---|---|
committer | Alan Pearce | 2024-06-09 17:54:57 +0200 |
commit | 63599c719d8e4e09548546bb366a849ef40c602b (patch) | |
tree | 549336370f77a8a1a3c626fe6bf0118f32baef59 /internal/config | |
parent | 789d0079f84017ddafad763ffba9aadbcd6aa6da (diff) | |
download | searchix-63599c719d8e4e09548546bb366a849ef40c602b.tar.lz searchix-63599c719d8e4e09548546bb366a849ef40c602b.tar.zst searchix-63599c719d8e4e09548546bb366a849ef40c602b.zip |
feat: add low-memory mode
Diffstat (limited to 'internal/config')
-rw-r--r-- | internal/config/config.go | 2 | ||||
-rw-r--r-- | internal/config/default.go | 9 | ||||
-rw-r--r-- | internal/config/structs.go | 7 |
3 files changed, 10 insertions, 8 deletions
diff --git a/internal/config/config.go b/internal/config/config.go index c8739f0..83ddd2c 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -91,7 +91,7 @@ func mustLocalTime(in string) (time LocalTime) { } func GetConfig(filename string) (*Config, error) { - config := defaultConfig + config := DefaultConfig if filename != "" { slog.Debug("reading config", "filename", filename) f, err := os.Open(filename) diff --git a/internal/config/default.go b/internal/config/default.go index 5e7b388..5b924a9 100644 --- a/internal/config/default.go +++ b/internal/config/default.go @@ -18,7 +18,7 @@ const self = "'self'" const maxAge = (1 * 365 * 24 * time.Hour) -var defaultConfig = Config{ +var DefaultConfig = Config{ DataPath: "./data", Web: &Web{ ListenAddress: "localhost", @@ -47,8 +47,9 @@ var defaultConfig = Config{ }, }, Importer: &Importer{ - Timeout: Duration{30 * time.Minute}, - UpdateAt: mustLocalTime("04:00:00"), + LowMemory: false, + Timeout: Duration{30 * time.Minute}, + UpdateAt: mustLocalTime("04:00:00"), Sources: map[string]*Source{ "nixos": { Name: "NixOS", @@ -116,7 +117,7 @@ var defaultConfig = Config{ } func GetDefaultConfig() string { - out, err := toml.Marshal(&defaultConfig) + out, err := toml.Marshal(&DefaultConfig) if err != nil { panic("could not read default configuration") } diff --git a/internal/config/structs.go b/internal/config/structs.go index a434698..70283f2 100644 --- a/internal/config/structs.go +++ b/internal/config/structs.go @@ -27,9 +27,10 @@ type Web struct { } type Importer struct { - Sources map[string]*Source - Timeout Duration `comment:"Abort fetch and import process for all jobs if it takes longer than this value."` - UpdateAt LocalTime `comment:"Local time of day to run fetch/import process"` + Sources map[string]*Source + LowMemory bool `comment:"Use less memory at the expense of import performance"` + Timeout Duration `comment:"Abort fetch and import process for all jobs if it takes longer than this value."` + UpdateAt LocalTime `comment:"Local time of day to run fetch/import process"` } type Source struct { |