і64
AFAIK метасплойт переписали на си
Tishka17
Датаклассы создавать из словарей
Tishka17
И наоборот
tpouuhk
Вообще то метасплоит написан на питоне, так что частично это сюда
Заходим в чатик по Java @@@ Помогите, у меня майнкрафт не запускается @@@ Но при чём тут Java? @@@ Ну майнкрафт на Java написан
Tishka17
Как marshmallow, только быстрее и меньше кода надо писать
Tishka17
Ну чтобы данные как-то в коде представлять. Не словарями же с непонятными ключами
Vladyslav 🇺🇦🇪🇺
tpouuhk
Ага Только метасплоит не майнкрафт и комьюнити 100 человек и то не факт
А в майнкрафт вообще много людей играют, в чатике Java точно помогут!
🍁 Jaŭhien
Датаклассы создавать из словарей
Кстати, было бы неплохо сделать loads и dumps методы, которые сериализуют сразу в json
🍁 Jaŭhien
Ну и дать возможность ujson подключить
Tishka17
Можно в принципе
🍁 Jaŭhien
Ну хз
Удобно
Tishka17
Issue заведешь?
🍁 Jaŭhien
Issue заведешь?
Ок, через час-даа
Tishka17
Да ок. Я все равно на этих выходных уже не буду
Bogdan (SirEdvin)
Датаклассы (
Paul
всем привет, подскажите. есть скрипт который запускается не на самой мощной машине, но памяти свободной метров 100 + свап на 500. скрипт при запуске в разных местах крашится (возвращает killed). может упасть а после перезапуска отработать полностью без сбоев
Paul
суть скрипта дергать странички, парсить ссылки и выкачивать файлы. крашится как на файлах так и на загрузке страничек
Sayid
в одном шаблоне регулярки может быть два диапазона действия?
Sayid
ну, в одном шаблоне в двух разных местах (...)
Paul
В чём вопрос то?
извиняюсь, вопрос настолько у меня долго висит что казался очевидным. Почему может быть killed (кроме утечки памяти и больших объемов данных) и куда копать в принципе, т.к. не представляю в чем проблема
Tishka17
ну, в одном шаблоне в двух разных местах (...)
? Что такое диапазон действий?
Tishka17
👍
Как тесты начал писать, вылезли ещё тонкие моменты
Tishka17
Например, дженерик датакласс, где поля тоже дженерики
Tishka17
Да, я тоже про эти кейсы думал
Возможно не все протестил, если что - кидай issue
Tishka17
https://github.com/Tishka17/dataclass_factory/blob/master/tests/test_generic.py
Tishka17
Да, я тоже про эти кейсы думал
Забыл проверить как будет работать дженерик где параметром другой дженерик передан, но вроде должно работать
Anonymous
Подскажите. Поднял на сервере ubuntu 18, postgres 10, nginx, gunicorn. При селекте данных из бд при большой выборке сервер падает по таймауту, хотя и у , gunicorn и у nginx тайм-аут увеличил, но это не самое критичное, самое критичное то, что gunicorn не очищает оперативную память после этих выборок, в итоге забирает все доступные 16гб и сервер зависает. Как решить, в какую сторону копать?
Tishka17
1. Не делать таких выборок, это все таки веб приложение 2. Это не gunicorn очищает, а питон. Проверяй что ты написал 3. В крайнем случае можно гуникорну сказать убивать воркеры после какого-то количества запросов
Tishka17
Если запрос выполняется больше 1 секунды, ты явно что-то делаешь не то
Tishka17
В идеале сервер конечно должен отвечать за 0.1
Tishka17
Но тут уже надо оптимизировать
Anonymous
Бд 3 Гб, поля в ней типа Текст, Контекстные индексы, векторный поиск
Tishka17
Сложно, понял
Tishka17
Ну, короче все равно вопрос к твоему коду
Tishka17
И почему в питон прилетает много данных
Anonymous
Данных то и не много, вопрос в том что поиск отрабатывает медленно и это вешает все по таймауту и эти данные какого-то фига висят в оперативке
Tishka17
Точно они в питоне висят?
Tishka17
Ну и медленно отрабатывающий поиск в любом случае надо чинить
Anonymous
Поиск да, надо чинить, но он максимум отрабатывает за 75с, что не особо плохо, обычно 12-13с, все зависит от сложности запроса. Сами процессы gunicorn висят и толстеют
Tishka17
12-13 уже в 13 раз хуже чем должен и в 100 раз хуже чем желательно
Alex
можешь начать с того что посмотреть EXPLAIN запроса
Anonymous
Запросы оптимизированы настолько, насколько позволяет сервер, индексы и статистика, все сделано и собрано, не в ту сторону
Tishka17
Запрос 70 секунд звучит так как будто, его не надо выполнять сразу, а стоит ставить в очередь и потом уведомлять клиента о результате
Alex
Поиск да, надо чинить, но он максимум отрабатывает за 75с, что не особо плохо, обычно 12-13с, все зависит от сложности запроса. Сами процессы gunicorn висят и толстеют
если у тебя запрос отрабатывает 12-13с, то его уже надо ставить в очередь, и отправлять клиента с ответом прийти за данными позже.
Tishka17
Но вообще странно, что память течет
Alex
кто сказал что она течет
Tishka17
В первом сообщении
Alex
В первом сообщении
нет, это предположение.
Tishka17
Говорит воркеры съедают все память постепенно
Alex
вопрос как определил
Anonymous
Как такое определил? Открыл диспетчер и увидел, что воркеры съели все
Anonymous
В этом и основной вопрос
Tishka17
Как бы если в клиент летит 100 строк из таблицы. И у нас 1 rps, это должно полгода течь
Tishka17
А вряд ли тут больше 1 рпс с такой скоростью ответа
Tishka17
Anonymous
Alex
тут бы мониторинг не повредил.
Alex
на крайний случай гуникорн воркеры можно перезагружать по количеству запросов
Anonymous
Где такая настройка?
Alex
Где такая настройка?
эх сразу кидаться на легкий вариант?
Mew
Смотрю мануалы для написания ботов под Telegram. Хочу понять, какая библиотека для разработки telegram-бота наиболее функциональна и понятна? Вообще, я нашел две библиотеки, которые встречались наиболее часто: - pyTelegramBotAPI (telebot) - python-telegram-bot (telegram.ext) Буду признателен, если поясните, какая между ними разница и куда направляться новичку.
Alex
вместо полноценного RCA
Tishka17
5% от 16 гигов за раз?
Anonymous
5% от 3х Гб это 150мб
Tishka17
150 метров за один запрос? Ух