Nikita
уже нужны, нужен коннект к бд
Tishka17
Коннект к БД у него все равно свой будет что так что так
Nikita
Коннект к БД у него все равно свой будет что так что так
в рамках одного процесса он будет переиспользовать коннект из пула
Tishka17
И?
Nikita
и выйти за рамки макс. коннектов не сможет
Tishka17
Когда речь об одном-двух коннектах, можно и настроить БД.
Tishka17
Как бы 100 или 101 разница небольшая
Tishka17
У тебя же не будет сотни тасков в крлне
Tishka17
Опять же если речь об asyncio, ты видимо хочешь одновременно держать 10000 коннектов клиентов, так и число коннектов к БД будет не единицы.
Nikita
бывают ситуации, когда, к примеру воркер залип, wsgi начинает плодить других, они тоже залипают, жрут коннекты и лимит в 100 коннектов достигается очень быстро + сбоку еще селери воркер или какой-нибудь крон таск, который тоже жрет А так у тебя всегда приложение жрет не более того, что ему разрешено Понятно, что одним больше одним меньше погоды не сделает, но если aio дает такую возможность, причем она хорошо ложиться в сам принцип асихнронности, почему ее не сделать?:
Tishka17
Это логически независимая задача и должна работать независимо
Nikita
лол, ок. Давай тут и остановимся. Я свое мнение высказал, ты свое. Мы друг друга поняли
Tishka17
Если у тебя сдох воркер процесс, крон таску должно быть пофиг
Tishka17
В кронтаске ты можешь делать блокирующие вычисления и не должен влиять на хтпп
Tishka17
сделал. спасибо
Собственно, вопрос к топикстартеру - он готов через редис синхронизировать воркеры, или ему проще в крон вынести?
Diego
Собственно, вопрос к топикстартеру - он готов через редис синхронизировать воркеры, или ему проще в крон вынести?
У меня 1 асинк функция на бекграунде. Проще create task в луп сделать. Но про крон я учту. Спасибо всем
Tishka17
Или это не хттп сервер?
Diego
1 асинк фукнция и один процесс? Зачем тебе вообще асинк?
не. у меня не 1 асинк функция. у меня 1 задача, я имел ввиду, которая выполняется периодечески и самостоятельно
Anonymous
Как можно в mysql запросы добавлять переменные из питона?
Anonymous
mydbc.execute("Select * from user where id=")
Tishka17
mydbc.execute("Select * from user where id=")
mydbc.execute("Select * from user where id=?", (var1, ))
☭
парни, есть регексп. (ляляля)(ляляля)(.*), но последняя группа не должна содержать предыдущие группы
Anonymous
Misha
Через форматирование строк
так скоро евал начнет советовать
☭
ну то есть: ляляля+ляляля тттт ааа апрапр фыва мурмур ляляля+ляляля ммм ккк находиться должно всё с первого по второе ляляля
☭
не проще потом проверить?
мне нужно сделать именно так
Tishka17
я пока погуглю, но все же зачем именно так?
Anonymous
error
Anonymous
mydbc.execute("Select * from user where id=?", (id1))
Anonymous
не сработало
S
Можно ли как-то примаппиться к существующей бд, зарефлектить её и синхронизировать изменения между ними? Попробовал с помощь sqlalchemy, но если кто-то вручную внёс какую то строку в таблцу, то в моей зарефлекченной ничего не обновляется, по крайней мере так показывает session
Dogma
я пока погуглю, но все же зачем именно так?
негатив лукаехад, только в питоне вроде как нельзя туда пихать группы/именованные группы
S
ну значит %s вместо ?
Там ошибка наверное, потому что он тупл не назначил, забыл запятую поставить
Tishka17
а
Tishka17
да
Tishka17
точно
S
точно
По морде было жёстко, не красиво как мне кажется, ну да ладно
Tishka17
По морде было жёстко, не красиво как мне кажется, ну да ладно
некрасиво предлагать формат строки для подстановки в sql
Sasha
Читайте про древнейший вид атаки - SQL инъекцию
S
а не проще натсроить репликацию?
Репликация мастер - слейв в самой бд или средствами sqlalchemy?
Tishka17
мне нужно сделать именно так
поколдуй с \1 \2, но вообще хз чет
S
некрасиво предлагать формат строки для подстановки в sql
Сорян, не разработчик, но позволил себе ответить чуваку, потому что подумал, что тут редко отвечают. Мой косяк, базара нет
S
средствами БД
Средствами бд не вариант, мне всего то нужно иногда заглядываться в таблицу и проверять значения (появилось что-то новое и т.д.). Можно сделать это с помощью engine.execute, но это будет raw, а я хотел с помощь automap или declarative_base
Tishka17
ну то есть: ляляля+ляляля тттт ааа апрапр фыва мурмур ляляля+ляляля ммм ккк находиться должно всё с первого по второе ляляля
»> re.search(r'(\d{3})(?!\1)', 'x123123x') <_sre.SRE_Match object; span=(2, 5), match='231'> возможно не совсем то, что ты хотел, но всё же
Anonymous
id1 = '3323' mydbc.execute("Select * from user where id=%s",(id1)) row = mydbc.fetchone()
Anonymous
че я все правильно указал
Anonymous
не пашет)
Tishka17
(id1, )
S
не понял, как связна необходимость заглядвать в таблицу и репликация
Так это вы подсказали мне про репликацию. А вопрос у меня был изначально про замаппиться к бд и смотреть там изменения, которые не отображаются там с помощью session, если кто-то внёс что-то туда вручную
Anonymous
обязательная? ЛОЛ
Tishka17
обязательная? ЛОЛ
тебе нужен тупл, без запятой это просто скобки
S
цель какая?
Ну я имел ввиду по зарефлекченную, она типа как вторая. Я может сформулировал не правильно. Сейчас попробую по другому
Tishka17
1. сколько БД? 2. почему столько? 3. какую задачу пытаешься решить?
løst
видимо какой-то унылый шардинг
S
цель какая?
1) одна бд 2) небольшая нагрузка, нет необходимости репликации 3) есть некое приложение, которое пишет в эту бд какую-то информацию. Я хочу сделать что-то типа API (моё приложение), которе подконнектится к этой бд, в которую что-то пишет некое приложение, и иногда будет делать запрос, в котором будет отображена информация, записанная не моим приложением. Так вот, когда я запускаю своё приложение, все ок, я вижу таблицы, делаю запросы и все ок. Как только стороннее приложение внесло какие-то правки или добавило строку, то у меня они не отображаются, информация актуальна только на момент запуска моего приложения. Вот engine.execute отображает все ок, всегда актуальная инфа. Но если с помощью session, то инфа не обновляется. Цель - получать актуальную инфа с помощью session. Возможно ли это?
Roman
Мб удаляешь данные случайно где то ?
løst
в sqlalchemy по дефолту автокоммит = false
Roman
И комит тоже вещь такая себе
løst
ты транзакции там закрываешь? или у тебя autocommit проставлен?