diff options
| author | Rikki <i@rikki.moe> | 2025-04-13 18:52:06 +0800 |
|---|---|---|
| committer | Rikki <i@rikki.moe> | 2025-04-13 18:52:06 +0800 |
| commit | 5f71e854fa722f79f031ab12248f15240d515caa (patch) | |
| tree | 7185752020285283a60e24943937cb71d4a10db6 | |
| parent | 9e92b326e4d27d1ed21aaac84945c2076e09c5fe (diff) | |
use custom interval
| -rw-r--r-- | main.go | 20 |
1 files changed, 2 insertions, 18 deletions
@@ -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 { |
