Skip to content

Commit

Permalink
chore: Use exit instead of panic for CLI checks
Browse files Browse the repository at this point in the history
Signed-off-by: Mahendra Paipuri <mahendra.paipuri@gmail.com>
  • Loading branch information
mahendrapaipuri committed Jan 14, 2024
1 parent cd7371b commit 923bd0a
Showing 1 changed file with 19 additions and 20 deletions.
39 changes: 19 additions & 20 deletions pkg/jobstats/cli/cli.go
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,8 @@ func (b *BatchJobStatsServer) Main() {
).Default("").String()
dataPath = b.App.Flag(
"storage.data.path",
"Base path for data storage. Default is current working directory.",
).Default("").String()
"Base path for data storage.",
).Default("data").String()
retentionPeriodString = b.App.Flag(
"storage.data.retention.period",
"How long to retain job data. Units Supported: y, w, d, h, m, s, ms.",
Expand Down Expand Up @@ -259,38 +259,37 @@ func (b *BatchJobStatsServer) Main() {
}
}

// Set logger here after properly configuring promlog
logger := promlog.New(promlogConfig)

level.Info(logger).Log("msg", fmt.Sprintf("Starting %s", b.appName), "version", version.Info())
level.Info(logger).Log("msg", "Build context", "build_context", version.BuildContext())
level.Info(logger).Log("fd_limits", batchjob_runtime.Uname())
level.Info(logger).Log("fd_limits", batchjob_runtime.FdLimits())

runtime.GOMAXPROCS(*maxProcs)
level.Debug(logger).Log("msg", "Go MAXPROCS", "procs", runtime.GOMAXPROCS(0))

// If dataPath is empty, use current directory
if *dataPath == "" {
path, err := os.Getwd()
if err != nil {
panic(fmt.Sprintf("Failed to get current working directory. Error: %s", err))
}
*dataPath = filepath.Join(path, "data")
*dataPath = "data"
}

// Get absolute Data path
absDataPath, err := filepath.Abs(*dataPath)
if err != nil {
panic(fmt.Sprintf("Failed to get absolute path for --storage.data.path=%s. Error: %s", *dataPath, err))
fmt.Printf("Failed to get absolute path for --storage.data.path=%s. Error: %s", *dataPath, err)
os.Exit(1)
}

// Check if absDataPath exists and create one if it does not
if _, err := os.Stat(absDataPath); os.IsNotExist(err) {
if err := os.Mkdir(absDataPath, 0750); err != nil {
panic(fmt.Sprintf("Failed to create data directory. Error: %s", err))
fmt.Printf("Failed to create data directory. Error: %s", err)
os.Exit(1)
}
}

// Set logger here after properly configuring promlog
logger := promlog.New(promlogConfig)

level.Info(logger).Log("msg", fmt.Sprintf("Starting %s", b.appName), "version", version.Info())
level.Info(logger).Log("msg", "Build context", "build_context", version.BuildContext())
level.Info(logger).Log("fd_limits", batchjob_runtime.Uname())
level.Info(logger).Log("fd_limits", batchjob_runtime.FdLimits())

runtime.GOMAXPROCS(*maxProcs)
level.Debug(logger).Log("msg", "Go MAXPROCS", "procs", runtime.GOMAXPROCS(0))

jobstatDBPath := filepath.Join(absDataPath, "jobstats.db")
jobsLastTimeStampFile := filepath.Join(absDataPath, "lastjobsupdatetime")

Expand Down

0 comments on commit 923bd0a

Please sign in to comment.