Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVadim Iskuchekov <egregors@pm.me>2025-09-16 10:24:32 +0300
committerGitHub <noreply@github.com>2025-09-16 10:24:32 +0300
commit9623e875113adad1fcbae7370e043db040462f2a (patch)
tree925a7b445bfb7bd41b4bdec665d5c75353dafcfa /web/web.go
parentbc0518391ef06d3d6b9f826085b73d1f1e35c913 (diff)
feat: Simple periodic traffic reset (for Inbounds) – daily | weekly | monthly (#3407)
* Add periodic traffic reset feature model and ui with localization support * Remove periodic traffic reset fields from client * fix: add periodicTrafficReset field to inbound data structure * feat: implement periodic traffic reset job and integrate with cron scheduler * feat: enhance periodic traffic reset functionality with scheduling and inbound filtering * refactor: rename periodicTrafficReset to trafficReset and add lastTrafficResetTime field * feat: add periodic client traffic reset job and schedule tasks * Update web/job/periodic_traffic_reset_job.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update web/job/periodic_client_traffic_reset_job.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update web/service/inbound.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * refactor: rename periodicTrafficReset to trafficReset and add lastTrafficResetTime * feat: add last traffic reset time display and update logic in inbound service * fix: correct log message for completed periodic traffic reset * refactor: update traffic reset fields in Inbound model and remove unused client traffic reset job * refactor: remove unused traffic reset logic and clean up client model fields * cleanup comments * fix
Diffstat (limited to 'web/web.go')
-rw-r--r--web/web.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/web/web.go b/web/web.go
index cfd4de5f..d381539d 100644
--- a/web/web.go
+++ b/web/web.go
@@ -289,6 +289,19 @@ func (s *Server) startTask() {
// check client ips from log file every day
s.cron.AddJob("@daily", job.NewClearLogsJob())
+ // Periodic traffic resets
+ logger.Info("Scheduling periodic traffic reset jobs")
+ {
+ // Inbound traffic reset jobs
+ // Run once a day, midnight
+ s.cron.AddJob("@daily", job.NewPeriodicTrafficResetJob("daily"))
+ // Run once a week, midnight between Sat/Sun
+ s.cron.AddJob("@weekly", job.NewPeriodicTrafficResetJob("weekly"))
+ // Run once a month, midnight, first of month
+ s.cron.AddJob("@monthly", job.NewPeriodicTrafficResetJob("monthly"))
+
+ }
+
// Make a traffic condition every day, 8:30
var entry cron.EntryID
isTgbotenabled, err := s.settingService.GetTgbotEnabled()