
Danil
28.08.2018
08:55:46
https://docs.djangoproject.com/en/2.1/ref/contrib/postgres/fields/

Александр
28.08.2018
08:56:36
суть понял спасибо, дальше разгребу

Serge
28.08.2018
09:22:10

Vasya
28.08.2018
10:32:34

Google

Serge
28.08.2018
11:12:49

Vasya
28.08.2018
11:22:48

Alex
28.08.2018
12:23:03
а можно как-то pipу указать проксю чтобы он ее каждый раз юзал ?

Andrey
28.08.2018
12:24:16
можно pip.conf в virtualenv положить, там флаги указать

Alex
28.08.2018
12:24:30
ага уже нашел спасибо

Ivan
28.08.2018
12:41:27
всем привет!
подскажите, пожалуйста по celery и базе данных postgresql.
на данный момент сделано так:
@app.task
def fetch_balance(exchange=None, api_key=None, api_secret=None, options=None) -> str:
conn = psycopg2.connect("dbname={name} user={user} password={password} host=localhost".format(
name=SETTING.get("db_name"),
user=SETTING.get("db_user"),
password=SETTING.get("db_pswd")
))
cur = conn.cursor()
То есть при появлении задачи будет производиться подключение к БД и в конце задачи закрывается cur и conn.
Чувствую, что это очент плохо. Подскажите, как можно лучше сделать?
Я пробовал так - вся логика\функции\команды БД и подключение к БД один раз вынес в db.py, и в файле tasks.py просто сделал import db. Но проблема в том, что после авполнения первой задачи происходит ошибка БД - соединение закрыто...
Буду рад подсказкам. Спасибо.


amureki
28.08.2018
13:43:48
У нас есть группа для джанго вопросов, если что
Могу в личку кинуть, не помню как @lig11 относится к рекламе схожих по тематике чатов :)


Roman
28.08.2018
13:58:59
всем привет!
подскажите, пожалуйста по celery и базе данных postgresql.
на данный момент сделано так:
@app.task
def fetch_balance(exchange=None, api_key=None, api_secret=None, options=None) -> str:
conn = psycopg2.connect("dbname={name} user={user} password={password} host=localhost".format(
name=SETTING.get("db_name"),
user=SETTING.get("db_user"),
password=SETTING.get("db_pswd")
))
cur = conn.cursor()
То есть при появлении задачи будет производиться подключение к БД и в конце задачи закрывается cur и conn.
Чувствую, что это очент плохо. Подскажите, как можно лучше сделать?
Я пробовал так - вся логика\функции\команды БД и подключение к БД один раз вынес в db.py, и в файле tasks.py просто сделал import db. Но проблема в том, что после авполнения первой задачи происходит ошибка БД - соединение закрыто...
Буду рад подсказкам. Спасибо.
А какие могут быть альтернативы?


Некто
28.08.2018
13:59:16
всем привет!
подскажите, пожалуйста по celery и базе данных postgresql.
на данный момент сделано так:
@app.task
def fetch_balance(exchange=None, api_key=None, api_secret=None, options=None) -> str:
conn = psycopg2.connect("dbname={name} user={user} password={password} host=localhost".format(
name=SETTING.get("db_name"),
user=SETTING.get("db_user"),
password=SETTING.get("db_pswd")
))
cur = conn.cursor()
То есть при появлении задачи будет производиться подключение к БД и в конце задачи закрывается cur и conn.
Чувствую, что это очент плохо. Подскажите, как можно лучше сделать?
Я пробовал так - вся логика\функции\команды БД и подключение к БД один раз вынес в db.py, и в файле tasks.py просто сделал import db. Но проблема в том, что после авполнения первой задачи происходит ошибка БД - соединение закрыто...
Буду рад подсказкам. Спасибо.
В таске точно не надо держать все эти настройки для БД и создание коннекшена. Про экспшен не совсем понятно
Ты можешь бросить трейс?


Roman
28.08.2018
14:00:29

Некто
28.08.2018
14:02:09
А где создавать коннект?
Я не про создание коннекта, я про эти сеттинги в таске, вынести в отдельный класс/метод что больше по душе и его уже вызвать внутри таски
Это на суть не влияет если ты об этом

Google

Некто
28.08.2018
14:03:35
Просто как правило эти вещи реюзабельны и не хранятся в какой-то определённой таске

Roman
28.08.2018
14:03:46

Serge
28.08.2018
15:23:55

Anttoon
28.08.2018
18:18:56

tardigrade
28.08.2018
18:56:01
Zdrastvuyte a=[1,[2,3]]
b=a[:]
a[0]=3
a[1][1]=5
print(b) Pocemu otvet [1,[2,5]], a ne [3,[2,5]?

Stanislav
28.08.2018
19:02:30
Zdrastvuyte a=[1,[2,3]]
b=a[:]
a[0]=3
a[1][1]=5
print(b) Pocemu otvet [1,[2,5]], a ne [3,[2,5]?
Потому что при копии в b = a[:] копируются только объекты, лежащие непосредственно в списке, т.е. 1 и список [2,3]. Что означает, что в b будет лежать та же единица и тот же список [2,3], что и в a. При этом то, что единица та же, ничего не означает, т.к. при присваивании a[0] = 3 первый элемент списка a указывает теперь на 3, а b продолжает указывать на 1. А вот изменение списка [2,3] ясное дело, затрагивает и a и b.
Ты же вряд ли будешь спрашивать, почему при a = 3; b = a; a = 1 в b будет 3, а не 1. А это абсолютно одно и то же.

tardigrade
28.08.2018
19:31:35

Stanislav
28.08.2018
19:32:27

tardigrade
28.08.2018
19:33:07

Марат
28.08.2018
19:33:48

Serge
29.08.2018
10:59:25
Приветствуем, друзья! В этот четверг мы закрываем летний дринкап сезон - https://www.meetup.com/spbpython/events/zfnxdpyxlbnc/

Ilia
29.08.2018
21:39:53
И чего, много выпили?

Maxim
30.08.2018
07:11:38
Сегодня только будет

Danil
30.08.2018
07:35:26

Stanislav
30.08.2018
07:36:04

Danil
30.08.2018
07:36:40

Ruslan
30.08.2018
07:41:05
И даже сорганизовали хакатон

Hmirin
30.08.2018
08:37:33
Глупый вопрос, но все же интересно. Django ORM вообще юзают, и на что она способна на практике?

Ruslan
30.08.2018
08:39:40
Я использую. Способна на любые твои адекватные затеи. Сложные запросы, аггрегации - все это возможно. Правда нужно научиться. Были первое время трудности с пониманием conditional expressions, но за пару вечеров прошло

Google

Vitali K.
30.08.2018
08:41:48
Мы используем в нагружённом данными проекте

Denis
30.08.2018
08:44:04
Тоже юзаем, да

Марат
30.08.2018
08:47:21
+

amureki
30.08.2018
08:49:05
Глупый вопрос, но все же интересно. Django ORM вообще юзают, и на что она способна на практике?
Она очень хороша для базовых и средней сложности операций - то есть обычно покрывает 90% потребностей среднего проекта
Плюсы - с ней легко работать, легко ревьюить, тестировать и поддерживать
Просто нужны не забывать о некоторых нюансах вроде select_related и прочих
Как только видится боттлек запросе оформленном Django ORM, переходим на raw SQL и делаем это лучше (но, соответственно, такое становится тяжелее поддерживать, тестировать и обновлять)

Michail
30.08.2018
08:56:27

Vitali K.
30.08.2018
09:06:24
Кастомизации есть: COPY для загрузки данных, секционирование под капотом
Нагружённого OLTP нету
Умеем транслировать формулы из аналитического представления в SQL через ORM. Оператор может написать в админке eCPI = budget_spend / installs и это превратиться в sql через Django. Выражения могут быть сложнее и со скобками
Совпадение?)
Совпадение?)
@aleister_atreides Там Егор просит кое-что срочно сделать. Глянь плиз ?

Sergey
30.08.2018
10:39:34
всем привет !!! есть проблема в data может прийти не один PUSH, а сразу несколько, и их все нужно обработать! по два обработка проходит норм а при всех сразу обрабатывается одно https://pastebin.com/n332SiX8

Марат
30.08.2018
10:43:50
А каким образом обработка по два проходит норм? По коду не понял.
Они по два приходят с какой-то задержкой?

Sergey
30.08.2018
10:47:42

Valery
30.08.2018
10:56:55
Ты очень неправильно работаешь с TCP сокетом. recv не даёт никаких гарантий по поводу того, сколько данных ты получишь из сокета, BUFF_SIZE - это только верхний предел, ты можешь получить меньше. Правильный подход - читать из сокета, складывать в буфер (например, строку: buffer = buffer + s.recv(BUFFER_SIZE)). Когда в буфере наберётся достаточно данных, пытаться парсить её на предмет комманд.

Roman
30.08.2018
10:57:37
Простите, что не по теме, но почему вы из всех знаков пунктуации используете только восклицательный знак?

Sergey
30.08.2018
10:57:48

Марат
30.08.2018
10:58:23

Valery
30.08.2018
10:58:25
Спасибо попробую так!!!
А ещё лучше таки попробовать более высокоуровневые протоколы, которые умеют сами разбивать стрим на отдельные сообщения.

Sergey
30.08.2018
10:58:57

Google

Sergey
30.08.2018
10:59:09

Valery
30.08.2018
10:59:30
Напимер?
Зависит от. Кто будет слать эти сообщения?

Sergey
30.08.2018
11:12:20

Valery
30.08.2018
11:14:04

Admin
ERROR: S client not available

Sergey
30.08.2018
11:16:08

Valery
30.08.2018
11:25:22

Serge
30.08.2018
11:41:32


Марат
30.08.2018
11:43:52
Когда работал над проектом на django13, вот там была боль. Там реально многих вещей не хватало.

Serge
30.08.2018
11:44:34

Alex
30.08.2018
11:44:40
Да и щас не все прекрасно

Serge
30.08.2018
11:45:43

Sergey
30.08.2018
11:46:26

Руслан
30.08.2018
14:25:05
Подскажите какими навыками должен обладать junior python

Ruslan
30.08.2018
14:32:06
Понимать базовые принципы программирования: ООП, DRY, KISS, YAGNI, знаком с синтаксисом python, стандартом pep8, остальное зависит от компании

Maxim
30.08.2018
15:18:18

Google

Руслан
30.08.2018
15:22:42

Ruslan
30.08.2018
15:26:15

Maxim
30.08.2018
15:28:09
Да
- Структуры данных python и работа с ними
- Модель OSI (в википедии глянь, ты должен знать всё что выше сетевого уровня, а конкретно TCP, UDP, HTTP)
- Стандарты REST, JSON-RPC, XML-RPC
- Будет круто если знаешь разницу между объектами и классами
- Смотри задачки с собеседований
- Напиши резюме (я писал всё, чем занимался, когда познакомился с компьютером, как пришел к python, почему я к нему пришел и т.д.)
- Будь хорошим человеком, всё-таки встречают по одёжке, а провожают по уму
pycharm подсказывает
еще базовую работу с Linux
забыл дописать
я как-то так устраивался на джуна

Maxim
30.08.2018
15:29:57
программисты...
ворд вам тоже орфографию подсказывает, видимо?

Maxim
30.08.2018
15:30:49
да вы чо
мне очень жаль, что ты потратил время на изучение пепа, но сегодня за тебя всё делает IDE

Roman
30.08.2018
15:31:46
- Структуры данных python и работа с ними
- Модель OSI (в википедии глянь, ты должен знать всё что выше сетевого уровня, а конкретно TCP, UDP, HTTP)
- Стандарты REST, JSON-RPC, XML-RPC
- Будет круто если знаешь разницу между объектами и классами
- Смотри задачки с собеседований
- Напиши резюме (я писал всё, чем занимался, когда познакомился с компьютером, как пришел к python, почему я к нему пришел и т.д.)
- Будь хорошим человеком, всё-таки встречают по одёжке, а провожают по уму
я бы только заметил, что при вопросах про "модель OSI" можно смело спрашивать где вопрошающий ее видел в реальной жизни )

Maxim
30.08.2018
15:32:41

Maxim
30.08.2018
15:33:00

Maxim
30.08.2018
15:33:05
конкретно про OSI у меня не спрашивали, я сам всё рассказывал