added free-os-mem flag to contentserver

This commit is contained in:
Philipp Mieden 2019-05-21 11:43:06 +02:00
parent 0735b5ad18
commit 65b6b2341a

View File

@ -4,7 +4,9 @@ import (
"flag"
"fmt"
"os"
"runtime/debug"
"strings"
"time"
"github.com/foomo/contentserver/metrics"
"github.com/foomo/contentserver/status"
@ -32,6 +34,7 @@ var (
webserverAddress = flag.String("webserver-address", "", "address to bind web server host:port, when empty no webserver will be spawned")
webserverPath = flag.String("webserver-path", "/contentserver", "path to export the webserver on - useful when behind a proxy")
varDir = flag.String("var-dir", "/var/lib/contentserver", "where to put my data")
flagFreeOSMem = flag.Int("free-os-mem", 0, "free OS mem every X minutes")
logLevelOptions = []string{
logLevelError,
logLevelRecord,
@ -57,10 +60,22 @@ func exitUsage(code int) {
func main() {
flag.Parse()
if *showVersionFlag {
fmt.Printf("%v\n", uniqushPushVersion)
return
}
if *flagFreeOSMem > 0 {
log.Notice("[INFO] freeing OS memory every ", *flagFreeOSMem, " minutes!")
go func() {
for _ = range time.After(time.Duration(*flagFreeOSMem) * time.Minute) {
log.Notice("FreeOSMemory")
debug.FreeOSMemory()
}
}()
}
if len(flag.Args()) == 1 {
fmt.Println(*address, flag.Arg(0))
level := log.LevelRecord