
Роман
15.02.2017
16:50:11

Stanislav
15.02.2017
16:50:27
а чем еще занимаются питонисты ?

Artem
15.02.2017
16:50:57
в чатике вот срутся

Роман
15.02.2017
16:52:04

Google

Artem
15.02.2017
16:53:39
еще можно сравнить с js и c# чатиками, только сегодня скринил, потому что по-моему это смешно

Nikolay
15.02.2017
16:56:19
две цитадели зла

Роман
15.02.2017
16:56:46

Ilya
15.02.2017
16:56:56
Привет сообщество, очень нуждаюсь в вашей помощи:
Есть асинхронный код от которого утекает память в асинхронном генераторе ( пробовал переписать в асинхронный итератор). Каждый раз открывается файлики на 100мб перегоняеются в словарь и дампаеются в базу. Но течёт память гигабайтами за итерацию. Как это все профилировать? МБ я тупой и надо по особенному структуру юзать чтоб GC выполнял работу?

Nikolay
15.02.2017
16:57:08

Роман
15.02.2017
16:58:02

Artem
15.02.2017
16:58:19
memory profiler, objgraph?

Ilya
15.02.2017
16:58:23

Nikolay
15.02.2017
16:58:39
на деле этого нет, как я понимаю

Google

Artem
15.02.2017
16:58:56
guppy?

Nikolay
15.02.2017
16:58:58

Artem
15.02.2017
16:59:10
(это все инструменты для профилирования памяти есличо)

Ilya
15.02.2017
16:59:14

Artem
15.02.2017
17:00:07
как дампаются в базу? может такое быть, что данные кешируются? закрываются ли файлы?
meliae еще есть

Nikolay
15.02.2017
17:02:44
скорее всего, где-то ссылка остается висеть
или запись в файл сделана не асинхронно, например

Ilya
15.02.2017
17:03:02

Nikolay
15.02.2017
17:03:18
то есть в базу

Artem
15.02.2017
17:04:04
старые коннекшены закрываются?)

Ilya
15.02.2017
17:04:09
Да

Nikolay
15.02.2017
17:04:22

Ilya
15.02.2017
17:04:48
Я закрываю коннекты же
Причем рост памяти идет относительно итераций цикла а инсерчу я пакетами по 500
То есть внутри одной итерации много коннектов а память растет от итерации к итерации

Nikolay
15.02.2017
17:08:13
у тебя в асинхронном режиме скорость работы может быть аццкая

Google

Nikolay
15.02.2017
17:08:32
gc тупо не будет успевать

Ilya
15.02.2017
17:09:10
Процессинг длится 10 секунд каждую итерацию

Nikolay
15.02.2017
17:09:32
и? ты хочешь await’ом висеть на сокете в это время?

Ilya
15.02.2017
17:10:11
Это таска а не приложение

Nikolay
15.02.2017
17:10:15
вот тебе и ответ тогда - ты запускаешь кучу корутин, каждая из которых открывает коннекшн и грузит файл в память

Ilya
15.02.2017
17:10:27
Не

Nikolay
15.02.2017
17:10:28
и она засирается

Ilya
15.02.2017
17:12:37
Чуть позже скину код
На этапе дампа в базу память не течет
Во время процессинга эквайрится и не чистится

Nikolay
15.02.2017
17:19:36
есть начиная с 3.4 отличный встроенный модуль - tracemalloc
можно попробовать его заюзать еще

Irina
15.02.2017
17:24:51
Доброго вечера! Ищу разработчика, очень надо!))
Разработка платформы управления данными, stack: Python, Django/ Celery, PostgreSQL, Redis/ Hadoop, Spark, Kafka, Elasticsearch. Москва, компания"белая", по зп от 140

Nikolay
15.02.2017
17:25:21
Доброго вечера! Ищу разработчика, очень надо!))
Разработка платформы управления данными, stack: Python, Django/ Celery, PostgreSQL, Redis/ Hadoop, Spark, Kafka, Elasticsearch. Москва, компания"белая", по зп от 140
осталось только название компании сказать :)

Artem
15.02.2017
17:25:41
"белая"

Nikolay
15.02.2017
17:26:05

Irina
15.02.2017
17:26:07

Nikolay
15.02.2017
17:26:19

Artem
15.02.2017
17:26:37
Странная скромность

Nikolay
15.02.2017
17:26:38
такой прям секрет-секрет

Google

Nikolay
15.02.2017
17:27:17
все равно никто не помешает из лички сюда вытащить, NDA же никто не подписывает

Irina
15.02.2017
17:27:18
Нет секрета, но человек нужен! Порекомендуете???

Artem
15.02.2017
17:27:38
Для начала название конторы)

Eldar
15.02.2017
17:27:42
Доброго вечера! Ищу разработчика, очень надо!))
Разработка платформы управления данными, stack: Python, Django/ Celery, PostgreSQL, Redis/ Hadoop, Spark, Kafka, Elasticsearch. Москва, компания"белая", по зп от 140
вчера мы ее научили зарплатную вилку называть, сегодня попробуем обучить еще и название компании писать, а лучше ссылку

Nikolay
15.02.2017
17:27:58
не, стек хороший, но от названия компании будет зависеть многое)

Eldar
15.02.2017
17:28:21
хуе-мое inc.

Nikolay
15.02.2017
17:28:30
Hooli
или Pied Piper

Admin
ERROR: S client not available

Artem
15.02.2017
17:28:50
Хуе-мое inc. очень сильно отличается от НПО Хуемое.

Eldar
15.02.2017
17:29:15
?

Irina
15.02.2017
17:30:09

Eldar
15.02.2017
17:30:53
Доброго вечера! Ищу разработчика, очень надо!))
Разработка платформы управления данными, stack: Python, Django/ Celery, PostgreSQL, Redis/ Hadoop, Spark, Kafka, Elasticsearch. Москва, компания"белая", по зп от 140
судя по описанию студентов тоже можете взять

Irina
15.02.2017
17:33:13
Верно, будем беречь. Ссылка:
http://cleverdata.ru

Nikolay
15.02.2017
17:33:29
?

Irina
15.02.2017
17:34:02

Nikolay
15.02.2017
17:34:21
Нет
Гугл хром не дает зайти на Ваш сайт. Не https, видимо.

Google

Nikolay
15.02.2017
17:34:55
Ясно.

Eldar
15.02.2017
17:36:21
Ирина делает большие успехи!?

Irina
15.02.2017
17:37:20
Благодарю

Artem
15.02.2017
17:41:21
Ну кстати ничего же страшного вроде нет в работодателе, непонятно, зачем скрывать)

Eldar
15.02.2017
17:44:57
ну может это как-то ее деанонит

Irina
15.02.2017
17:46:08
Собственно, не скрывала

Вова, Usopp
15.02.2017
18:13:29

Denis
15.02.2017
18:38:38
Товарищи, случайно никто не подключал оплату через яндекс деньги к сайту на джанге?

Rocket
15.02.2017
18:49:28

Denis
15.02.2017
18:49:53
Вот мне не кассу надо, а именно стандартный апи, для физлиц

Rocket
15.02.2017
18:50:09
Там легче должно быть.

Artem
15.02.2017
18:50:33
А либу какуюто под процент?

Rocket
15.02.2017
18:51:26
В кассе с этим проблем не было. И я ее пилил в рукопашную.
Под джангу есть для денег вроде как официальное что-то есть.

Artem
15.02.2017
18:53:39
https://github.com/DrMartiner/django-yandex-kassa
она же вроде работает

Маришка
15.02.2017
18:53:52
@Enchantner я так и не разобралась с тем как и что дальше писать ._.

Denis
15.02.2017
18:54:17
Это касса

Artem
15.02.2017
18:55:18
хм


Kanat
15.02.2017
20:11:39
#qpy:console
import os
fd = open("/sdcard/qpyenv.sh", "w")
fd.write("TERM=%s\n" % os.environ.get("TERM"))
fd.write("PATH=%s\n" % os.environ.get("PATH"))
fd.write("LD_LIBRARY_PATH=%s\n" % os.environ.get("LD_LIBRARY_PATH"))
fd.write("PYTHONHOME=%s\n" % os.environ.get("PYTHONHOME"))
fd.write("ANDROID_PRIVATE=%s\n" % os.environ.get("ANDROID_PRIVATE"))
fd.write("PYTHONPATH=%s\n" % os.environ.get("PYTHONPATH"))
fd.write("PYTHONSTARTUP=%s\n" % os.environ.get("PYTHONSTARTUP"))
fd.write("PYTHONOPTIMIZE=%s\n" % os.environ.get("PYTHONOPTIMIZE"))
fd.write("TMPDIR=%s\n" % os.environ.get("TMPDIR"))
fd.write("AP_HOST=%s\n" % os.environ.get("AP_HOST"))
fd.write("AP_PORT=%s\n" % os.environ.get("AP_PORT"))
fd.write("AP_HANDSHAKE=%s\n" % os.environ.get("AP_HANDSHAKE"))
fd.write("ANDROID_PUBLIC=%s\n" % os.environ.get("ANDROID_PUBLIC"))
fd.write("ANDROID_PRIVATE=%s\n" % os.environ.get("ANDROID_PRIVATE"))
fd.write("ANDROID_ARGUMENT=%s\n" % os.environ.get("ANDROID_ARGUMENT"))