Markus Pesch
10069568f9
Changes: - Renamed storage endpoint into dsn (data source name). - Add additional dsn fallback property. This dsn will be used in futes to store informations, if the main dsn backend does not work correctly. For example, if no connection can be established over the network to a database.
49 lines
1.2 KiB
Go
49 lines
1.2 KiB
Go
package daemon
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/spf13/cobra"
|
|
"github.com/volker-raschek/flucky/pkg/config"
|
|
"github.com/volker-raschek/flucky/pkg/daemon"
|
|
"github.com/volker-raschek/go-logger/pkg/logger"
|
|
)
|
|
|
|
// InitCmd initialize all daemon subcommands
|
|
func InitCmd(cmd *cobra.Command) error {
|
|
daemonCmd := &cobra.Command{
|
|
Use: "daemon",
|
|
Short: "Read continuously data from all enabled sensors",
|
|
Example: "flucky daemon",
|
|
RunE: run,
|
|
}
|
|
|
|
daemonCmd.Flags().Bool("compression", true, "Compress measured values")
|
|
daemonCmd.Flags().Uint("cached-values", 500, "Number of cached values before saveing into the backend")
|
|
daemonCmd.Flags().Float64("round", 0.5, "Round values. The value 0 deactivates the function")
|
|
cmd.AddCommand(daemonCmd)
|
|
|
|
return nil
|
|
}
|
|
|
|
func run(cmd *cobra.Command, args []string) error {
|
|
configFile, err := cmd.Flags().GetString("config")
|
|
if err != nil {
|
|
return fmt.Errorf("No config file defined: %v", err)
|
|
}
|
|
|
|
// logLevel, err := cmd.Flags().GetString("loglevel")
|
|
// if err != nil {
|
|
// return fmt.Errorf("No loglevel defined: %v", err)
|
|
// }
|
|
|
|
flogger := logger.NewDefaultLogger(logger.LogLevelDebug)
|
|
|
|
cnf, err := config.Read(configFile)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
return daemon.Start(cnf, flogger)
|
|
}
|