Отборочный этап соревнования по продуктовому программированию ФСП, осень 2023
  • Python 97.9%
  • Dockerfile 1.9%
  • Shell 0.2%
Find a file
Michael Chernigin a9681c216c
Update README.md
2023-11-05 12:59:00 +04:00
alarmist Графики 2023-11-05 11:56:20 +04:00
config Изменение подключений работает 2023-11-05 12:54:12 +04:00
db Исправление sql для создания таблиц 2023-11-04 14:06:17 +04:00
playground Работающая ручка работы с БД 2023-11-05 09:06:03 +04:00
shared Merge branch 'main' into redis-alarmist 2023-11-05 10:43:18 +04:00
tgbot Изменил название кнопки 2023-11-05 12:56:13 +04:00
.gitignore Добавил CLI морду для тестов (#10) 2023-11-04 00:26:19 +04:00
.pre-commit-config.yaml Добавил pre-commit хук 2023-11-03 17:12:16 +04:00
.python-version Поехали! 2023-11-03 11:13:31 +04:00
build.sh Работающая ручка работы с БД 2023-11-05 09:06:03 +04:00
docker-compose.yaml Черновик для Redis 2023-11-05 01:13:22 +04:00
Dockerfile Сделал базовую структуру семени 2023-11-03 19:58:45 +04:00
LICENSE LICENSE 2023-11-04 14:14:24 +04:00
playground-compose.yaml Улучшение внешнего вида сообщений 2023-11-04 23:23:15 +04:00
pyproject.toml Черновик для отрисовки графиков 2023-11-05 03:21:16 +04:00
README.md Update README.md 2023-11-05 12:59:00 +04:00

Кабачок

Запуск

  1. Создать .env файл с переменными POSTGRES_PASSWORD и BOT_TOKEN.
  2. Установить зависимости: rye sync.
  3. Собрать контейнеры: ./build.sh.
  4. Запустить контейнеры: docker-compose docker-compose.yaml up.

Для тестов можно использовать playground: docker-compose -f docker-compose.yaml -f playground-compose.yaml up.

Для получения более полной информации о системе с базой данный, необходимо установить на неё пакет postgresql-plpython3-16.

Текущие задачи

  1. Довести все существующие alert-ы до рабочего состояния

    • CPU Usage
    • Disk space
    • Active peers
    • LWLOCK transactions
    • Long transactions
    • DB is unavailable
  2. Рефакторинг бэкэнда (улучшение логики healthcheck)

  3. Redis (цель: динамика использования + графики)

  4. Генерация изображений на фронтэнде (Seaborn)

  5. Сделать рабочий конфиг в виде файла для быстрой загрузки и теста БД

  6. Возвращение uuid-а ошибки на фронт в случае неудачной работы сервиса

  7. Причесать сообщения на фронтэнде (Emoji)

  8. Выводить AlertType с эмодзи

Disk usage alert

  • INSERTS
  • Playground (забитый диск + низкий кэп)

Long transactions

  • PG pause
  • Playground
  • Завершение долгих транзакций с бэкэнда (+ ручки)
  • Отображение долгих транзакций + взаимодействие с ручками (завершить все долгие + завершение каждой по отдельности)

CPU Usage

  • Нужны ресурсоемкие операции
  • Playground (low CPU)