Исправления notifications.py и оптимизация database.py#148
Closed
JustYay wants to merge 5 commits intoVladless:mainfrom
JustYay:main
Closed
Исправления notifications.py и оптимизация database.py#148JustYay wants to merge 5 commits intoVladless:mainfrom JustYay:main
JustYay wants to merge 5 commits intoVladless:mainfrom
JustYay:main
Conversation
Реиспользование session: В большинстве функций, где уже передаётся session, убрано повторное открытие/закрытие соединения. При отсутствии session создаётся локальное соединение. Передача сессии в реферальные функции: В update_balance при начислении реферальных бонусов вызывается handle_referral_on_balance_update с тем же session, чтобы избежать двойного соединения. Небольшая корректировка округлений и типов: При вычислении cashback и при суммировании баланса используется int(...) и/или round(..., 2) там, где это нужно. Убедились, что передаваемые параметры приводятся к целым и/или плавающим значениям там, где это уместно. Единый стиль логирования и форматирование: Использованы единообразные сообщения logger.info, logger.warning, logger.error, а также исправлены некоторые формулировки для большей ясности.
Кратко, что было исправлено: В send_renewal_notification: В блоке finally мы обязательно делаем UPDATE keys SET notified = TRUE (или notified_24h = TRUE), даже если отправка сообщения упала с ошибкой. Это позволяет избежать повторного попадания того же ключа в выборку при следующем проходе (каждый час/полчаса и т.д.), и тем самым исключить спам. При автопродлении (и ручном продлении, если есть отдельная кнопка): После успешного продления мы ставим notified = FALSE, notified_24h = FALSE, чтобы заново получать уведомления за 24/10 часов до новой даты окончания. То есть подписка обновляется, и мы считаем её «свежей».
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Блок исправлений по этим файлам, также исправление багов при отправке уведомлений.
Более подробно все расписано в коммитах.