Мониторинг планировщика уведомлений

Статус планировщика
{% if scheduler_status.is_running %} Работает {% else %} Остановлен {% endif %}
{% if scheduler_status.last_check %}

Последняя проверка: {{ scheduler_status.last_check.strftime('%d.%m.%Y %H:%M:%S') }}

{% endif %} {% if scheduler_status.error %}
{{ scheduler_status.error }}
{% endif %}
Активные задачи
{% if scheduler_status.active_jobs %} {% for job in scheduler_status.active_jobs %} {{ job }} {% endfor %} {% else %}

Нет активных задач

{% endif %}
Управление задачами планировщика
Проверка низкого трафика

Автоматические уведомления при остатке 0.5-1 ГБ

Изменения применяются немедленно. Перезапуск планировщика не требуется.
Статистика за последние 24 часа
{% if stats_24h %}
{% for stat in stats_24h %}

{{ stat[0] }}

{{ stat[3] or 'Все типы' }}

{{ stat[1] }}
{{ stat[2] }}
{% endfor %}
{% else %}

Нет уведомлений за последние 24 часа

{% endif %}
Предстоящие уведомления
{% if upcoming_notifications %}
{% for notification in upcoming_notifications %} {% endfor %}
Пользователь Тип подписки Истекает Осталось дней Тип уведомления
{{ notification.username or 'N/A' }}
ID: {{ notification.user_id }}
{{ notification.plan_type }} {{ notification.expires_at }} {% if notification.days_until_expiry == 0 %} Сегодня {% elif notification.days_until_expiry == 1 %} 1 день {% else %} {{ notification.days_until_expiry }} дн. {% endif %} {{ notification.notification_type }}
{% else %}

Нет предстоящих уведомлений

{% endif %}
Последние уведомления
{% if recent_logs %}
{% for log in recent_logs %} {% endfor %}
Время Пользователь Тип Дни до истечения Статус Ошибка
{{ log[5] }} {{ log[0] }} {{ log[1] }} {{ log[2] if log[2] is not none else '-' }} {% if log[3] %} {% else %} {% endif %} {% if log[4] %} {{ log[4][:50] }}... {% else %} - {% endif %}
{% else %}

Нет записей в логах

{% endif %}