diff options
| author | Vadim Iskuchekov <egregors@pm.me> | 2025-09-16 10:24:32 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-16 10:24:32 +0300 |
| commit | 9623e875113adad1fcbae7370e043db040462f2a (patch) | |
| tree | 925a7b445bfb7bd41b4bdec665d5c75353dafcfa /web/web.go | |
| parent | bc0518391ef06d3d6b9f826085b73d1f1e35c913 (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.go | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -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() |
