summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRikki <i@rikki.moe>2025-04-13 18:52:06 +0800
committerRikki <i@rikki.moe>2025-04-13 18:52:06 +0800
commit5f71e854fa722f79f031ab12248f15240d515caa (patch)
tree7185752020285283a60e24943937cb71d4a10db6
parent9e92b326e4d27d1ed21aaac84945c2076e09c5fe (diff)
use custom interval
-rw-r--r--main.go20
1 files changed, 2 insertions, 18 deletions
diff --git a/main.go b/main.go
index ca2ab94..040a365 100644
--- a/main.go
+++ b/main.go
@@ -16,6 +16,7 @@ import (
)
var (
+ flagInterval = flag.Int("interval", 300, "Interval in seconds to record stats")
flagDatabase = flag.String("db", "v2stat.db", "Path to SQLite database")
flagServer = flag.String("server", "127.0.0.1:8080", "V2Ray API server address")
flagLogLevel = flag.String("log-level", "info", "Log level (debug, info, warn, error, fatal, panic)")
@@ -79,24 +80,7 @@ func main() {
logger.Errorf("Failed to query stats: %v", err)
}
- // Wait until the top of the next hour
- now := time.Now()
- if now.Minute() != 0 || now.Second() != 0 {
- nextHour := now.Truncate(time.Hour).Add(time.Hour)
- subDuration := nextHour.Sub(now)
- logger.Infof("Waiting for %s to start recording stats", subDuration)
-
- timer := time.NewTimer(subDuration)
- select {
- case <-timer.C:
- case <-sigCh:
- logger.Info("Received shutdown signal, exiting.")
- return
- }
- }
-
- // Start a ticker for every hour
- ticker := time.NewTicker(1 * time.Hour)
+ ticker := time.NewTicker(time.Duration(*flagInterval) * time.Second)
defer ticker.Stop()
// Main loop
for {