feat(cmd/daemon): new flag to set clean cache interval
This commit is contained in:
		@@ -2,6 +2,7 @@ package daemon
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"log"
 | 
						"log"
 | 
				
			||||||
 | 
						"time"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/go-flucky/flucky/pkg/config"
 | 
						"github.com/go-flucky/flucky/pkg/config"
 | 
				
			||||||
	"github.com/go-flucky/flucky/pkg/daemon"
 | 
						"github.com/go-flucky/flucky/pkg/daemon"
 | 
				
			||||||
@@ -10,6 +11,7 @@ import (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
var compression bool
 | 
					var compression bool
 | 
				
			||||||
var configFile string
 | 
					var configFile string
 | 
				
			||||||
 | 
					var cleanCacheIntervall string
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var daemonCmd = &cobra.Command{
 | 
					var daemonCmd = &cobra.Command{
 | 
				
			||||||
	Use:   "daemon",
 | 
						Use:   "daemon",
 | 
				
			||||||
@@ -21,9 +23,14 @@ var daemonCmd = &cobra.Command{
 | 
				
			|||||||
			log.Fatalln(err)
 | 
								log.Fatalln(err)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		err = daemon.Start(cnf, compression)
 | 
							duration, err := time.ParseDuration(cleanCacheIntervall)
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			panic(err)
 | 
								log.Fatalf("Can not parse clean cache interval into duration time: %v", err)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							err = daemon.Start(cnf, duration, compression)
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								log.Fatalln(err)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
@@ -32,6 +39,7 @@ var daemonCmd = &cobra.Command{
 | 
				
			|||||||
func InitCmd(cmd *cobra.Command, cnfFile string) {
 | 
					func InitCmd(cmd *cobra.Command, cnfFile string) {
 | 
				
			||||||
	configFile = cnfFile
 | 
						configFile = cnfFile
 | 
				
			||||||
	cmd.AddCommand(daemonCmd)
 | 
						cmd.AddCommand(daemonCmd)
 | 
				
			||||||
	daemonCmd.Flags().BoolVarP(&compression, "compression", "c", true, "Compress measured values")
 | 
						daemonCmd.Flags().BoolVar(&compression, "compression", true, "Compress measured values")
 | 
				
			||||||
 | 
						daemonCmd.Flags().StringVar(&cleanCacheIntervall, "clean-cache-intervall", "30m", "Minute intervall to clean cache and write measured values into logfile")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -16,7 +16,9 @@ import (
 | 
				
			|||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Start the daemon
 | 
					// Start the daemon
 | 
				
			||||||
func Start(cnf *config.Configuration, compression bool) error {
 | 
					func Start(cnf *config.Configuration, cleanCacheIntervall time.Duration, compression bool) error {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						ticker := time.Tick(cleanCacheIntervall)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	interrupt := make(chan os.Signal, 1)
 | 
						interrupt := make(chan os.Signal, 1)
 | 
				
			||||||
	signal.Notify(interrupt, os.Interrupt, os.Kill, syscall.SIGTERM)
 | 
						signal.Notify(interrupt, os.Interrupt, os.Kill, syscall.SIGTERM)
 | 
				
			||||||
@@ -30,8 +32,6 @@ func Start(cnf *config.Configuration, compression bool) error {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	temperatures := make([]*types.Temperature, 0)
 | 
						temperatures := make([]*types.Temperature, 0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ticker := time.Tick(time.Second * 300)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	rgbLEDs := cnf.GetRGBLEDs(config.ENABLED)
 | 
						rgbLEDs := cnf.GetRGBLEDs(config.ENABLED)
 | 
				
			||||||
	err := rgbled.Green(rgbLEDs)
 | 
						err := rgbled.Green(rgbLEDs)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user