@ru_python

Страница 9013 из 9768
Deys
13.05.2019
05:55:04
В функцию добавления записи в БД в конце впили инициализацию рассылки
А может у него в БД пишет что то иное, не тот же скрипт с ботом)

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
13.05.2019
05:55:24
А рассылку и нужно делать не в скрипте с ботом

Потому что pytba синхронная и обосрется

Tishka17
13.05.2019
05:56:27
Люди, есть вопрос. Есть БД и телеграм бот. Проблема в том что не пойму как сделать так чтобы при появлений новой записи в БД бот рассылал эту запись всем юзерам. Бот на pyTelegramBotApi + mysql.connector
Никак. Есть два варианта: 1. Тот кто пишет в БД и отсылает сообщения 2. Тот, кто генерирует события для записи в БД пишет их ещё в очередь, а у тебя отдельный процесс ее слушает и отправляет сообщения

Google
Andrey
13.05.2019
05:59:28
господа, а как правильно сделать? есть список словарей и мне надо проверить на вхождение во все значения определённого ключа этого словаря. spisok = [{a:1, b:2}, {a:5, b:10}, {a:20, b:40}] примерно такой словарь, а мне надо в цикле написать что-то вроде if d not in spisok['a'], но хотелось бы обойтись без лишнего итерирования

Ugly
13.05.2019
06:02:52
в мускуле колхозить придётся

особенно если версия древняя

Deys
13.05.2019
06:03:06
Что значит нет? Во первых зависит от бд, в постгре точно найдется пара способов уведомить приложение о вызове триггера
А в mysql? Речь же не про костыли, когда БД участвует в бизнес логике, а про то как просто и правильно сделать. Более корректными буду варианты с тем, что кто пишет в БД тот и тригерит событие либо послав запрос либо положив в очередь сообщение) Но у @@blowjobathome явно есть питон скрипт и БД, и больше ничего) И самы простой способ сделать еще один скрипт рядом, без поднятия и настрйоки очередей и прочего

Andrey
13.05.2019
06:03:23
Какого лишнего? Тут по любому нужно все проверить же
то есть нет варианта? ну в смысле, этот список словарей же стабилен, я бы по нему пробежался бы без цикла... хм.

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
13.05.2019
06:03:35
@Tishka17 тут пздц намечается

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
13.05.2019
06:03:48
Есть ещё минимум 2 таких же бота

Tishka17
13.05.2019
06:03:57
@Tishka17 тут пздц намечается
Ну пара ботов фигня

Deys
13.05.2019
06:04:00
то есть нет варианта? ну в смысле, этот список словарей же стабилен, я бы по нему пробежался бы без цикла... хм.
Ну тут два исхода: или заранее готовить данные в какую то структуру данных, что бы удобно выполнить твлб проверку(это итерация как минимум), либо итерация тут

Google
Tishka17
13.05.2019
06:04:16
Когда ддосили сотнями, было страшно

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
13.05.2019
06:04:21
Ну пара ботов фигня
Они по техническим чатам шастают) Только что вытравили из чата по кликхаусу

Когда ддосили сотнями, было страшно
Бота со стоп-словами добавить?‍♂

Andrey
13.05.2019
06:04:54
В смысле "без цикла пробежался"?
ну в смысле я понимаю, что когда пишешь про обычный список if x in spisok, то он итерирует его.

Tishka17
13.05.2019
06:05:22
Andrey
13.05.2019
06:05:26
хотелось бы такую же лаконичную запись, но со списком диктов

в списке словарей)

Tishka17
13.05.2019
06:06:28
any("a" in x for x in spisok)

Tishka17
13.05.2019
06:06:58
Глеб
13.05.2019
06:06:59
Sqlite это оч интересно)))
Ну мало ли какая бд у бота, почему не лайт?

Andrey
13.05.2019
06:07:08
порпобуй filter
щас гляну, спасибо

any("a" in x for x in spisok)
о, я забыл об этом. кажется то, что нужно

Tishka17
13.05.2019
06:07:27
А если записал и упал до того как всем отправил, уже не надо отправлять?

Andrey
13.05.2019
06:07:38
Глеб
13.05.2019
06:08:37
А если записал и упал до того как всем отправил, уже не надо отправлять?
Да ясно как божий день, что решение рассылать уведомления средствами бд в большинстве случаев кривое. Но принципиальная возможность есть.

Google
Tishka17
13.05.2019
06:08:58
Это же орм

Хоть и простой

Глеб
13.05.2019
06:10:03
А он там не обёрткой вешает слушателя, а именно через sqlite. В общем можно без него повторить фокус.

Tishka17
13.05.2019
06:10:28
Хм. Риалли?

И правда, в sqlite есть уведомления

Ну можно и так, только все равно надо очередь отправки какую-то делать ещё

И эти уведомления не персистентны, в отличие от очереди

Alexander
13.05.2019
06:57:09
можно ли как-нибудь быстро скопировать все пакеты из глобального пространства в свежесозданное виртуальное?

Tishka17
13.05.2019
06:58:41
ты можешь создать виртуальное так, чтобы глобальные были доступны

Александр
13.05.2019
07:08:36
я хочу написать парсер (ну скрапер) на BeautifulSoup, который отрабатывал бы без эксепшенов даже когда ему подсовывают дичь. парсер обходит несколько тегов, для каждого выполняется почти одинаковый код (далее псевдокод на русском): тег = получить_объект_тега(имя, атрибуты) если тег найден: данные = тег.получить_данные() иначе: данные = заглушка и так с каждым тегом. где-то надо брать данные из супа немного другим способом, поэтому простую функцию не напишешь, а если напишешь — она будет непростой. как люди делают это красиво?

Viktor
13.05.2019
07:13:09
цикл, не?

Natalia
13.05.2019
07:18:19
Ребят, всем привет! Нужна помощь с задачей по нейросетям (обучение с учителем), кто может взять как подработку? Горит дедлайн ?

Александр
13.05.2019
07:38:49
цикл, не?
не, я не про то. я ищу красивый способ взять данные из супа, когда известен тег, но неизвестно, присутствует ли он в супе. и не ловить при этом эксепшены

цикл, не?
то есть логика может быть типа "если этот тег есть, взять данные оттуда, если нет — взять заглушку". на каждый тег я пишу if. это максимум, что можно сделать, или код можно упростить еще сильнее?

87776
13.05.2019
07:44:23
скажите, а какой способ на связке gunicorn + flask узнать текущий rps ?

свои какие-то костыли писать для этого?

87776
13.05.2019
07:45:36
Alex
13.05.2019
07:45:46
мониторинг умеет в statsd отдавать метрики

Google
87776
13.05.2019
07:45:50
мне нужно по хендлеру отдавать текущий rps

Admin
ERROR: S client not available

Alex
13.05.2019
07:45:52
http://docs.gunicorn.org/en/stable/instrumentation.html

еще ты можешь запилить prometheus endpoint

и отдавать метрики там

Tishka17
13.05.2019
07:46:30
87776
13.05.2019
07:47:45
Alex
13.05.2019
07:47:49
http://docs.gunicorn.org/en/stable/deploy.html#monitoring
эт немного не то, это процесс супервизор

а ему метрики нужны

Tishka17
13.05.2019
07:48:11
Окей, проглядел

Alex
13.05.2019
07:48:28
покурю, спасибо
https://medium.com/@andrei.chernyshev/prometheus-python-flask-8487c3bc5b36

Tishka17
13.05.2019
07:48:32
Торопился

Alex
13.05.2019
07:49:02
https://pypi.org/project/prometheus-flask-exporter/

вариантов как бы масса, зависит от твоей инфраструктуры

если gunicorn многопроцессный - тут начинаются нюансы.

Oleg
13.05.2019
07:52:24
Ребят, привет! Вот такой код есть, не могу понять, почему я не могу считать данные после записи https://pastebin.com/e3NbkvF9

87776
13.05.2019
07:53:22
вариантов как бы масса, зависит от твоей инфраструктуры
кстати об этом, мне нужно еще и повесить на отдельный порт эту инфу, не представляю пока как это реализуется правильно

87776
13.05.2019
07:54:16
эээээээ в обычном гуникорне?
ну, у меня контейнер, в целом там можно приседать на что фантазии хватит

Google
87776
13.05.2019
07:54:34
просто я изначально хотел "хуяк хуяк и в продакшн" запустить гуникорн и забыть

Alex
13.05.2019
07:54:35
впрочем ничто тебе не мешает складывать метрики куда-нибудь в redis и отдавать чем душа пожелает.

87776
13.05.2019
07:54:40
а тут что-то слажное началось

Alex
13.05.2019
07:55:01
мне кажется ты переусложняешь

сделай отдельный endpoint /metrics и отдавай в нем метрики.

87776
13.05.2019
07:55:21
Alex
13.05.2019
07:55:49
или сделай отправку метрик в свой мониторинг.

если тебя интерсует сферический RPS в вакууме ты вообще можешь на своем reverse proxy метрики настроить

Tishka17
13.05.2019
07:57:23
И вообще nginx же есть

Nikita
13.05.2019
07:58:49
ребят, посоветуйте чатик по vue плз

Страница 9013 из 9768