diff --git a/docker-compose.yml b/docker-compose.yml index 55366dc..cda9395 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -115,6 +115,7 @@ services: volumes: - ./bots/telegram-helper-bot/database:/app/database:rw - ./bots/telegram-helper-bot/logs:/app/logs:rw + - ./bots/telegram-helper-bot/voice_users:/app/voice_users:rw - ./bots/telegram-helper-bot/.env:/app/.env:ro networks: - bots_network diff --git a/infra/grafana/provisioning/dashboards/telegram-bot-dashboards.json b/infra/grafana/provisioning/dashboards/telegram-bot-dashboards.json index 5130c4f..311eae9 100644 --- a/infra/grafana/provisioning/dashboards/telegram-bot-dashboards.json +++ b/infra/grafana/provisioning/dashboards/telegram-bot-dashboards.json @@ -450,7 +450,7 @@ "type": "prometheus", "uid": "PBFA97CFB590B2093" }, - "expr": "sum(active_users)", + "expr": "active_users{user_type=\"daily\"}", "refId": "A" } ], @@ -537,7 +537,7 @@ "type": "prometheus", "uid": "PBFA97CFB590B2093" }, - "expr": "active_users{user_type=\"total\"}", + "expr": "total_users", "refId": "A" } ], diff --git a/infra/monitoring/message_sender.py b/infra/monitoring/message_sender.py index a622855..b96550f 100644 --- a/infra/monitoring/message_sender.py +++ b/infra/monitoring/message_sender.py @@ -60,15 +60,15 @@ class MessageSender: return False def should_send_status(self) -> bool: - """Проверка, нужно ли отправить статус (каждые 30 минут в 00 и 30 минут часа)""" + """Проверка, нужно ли отправить статус (каждые 4 часа в 00 минут)""" now = datetime.now() - # Проверяем, что сейчас 00 или 30 минут часа - if now.minute in [0, 30]: - # Проверяем, не отправляли ли мы уже статус в эту минуту + # Проверяем, что сейчас 00 минут часа и час кратен 4 (0, 4, 8, 12, 16, 20) + if now.minute == 0 and now.hour % 4 == 0: + # Проверяем, не отправляли ли мы уже статус в этот час if (self.last_status_time is None or self.last_status_time.hour != now.hour or - self.last_status_time.minute != now.minute): + self.last_status_time.day != now.day): self.last_status_time = now return True