@ru_python

Страница 7027 из 9768
Aever
13.11.2018
12:28:34
ну полную не нужно. Инвалидировать то тоже задачка не из простых, особенно если её меняют другие процессы. Кешировать нужно разумно.
Значит для меня вопрос хранения в оперативной памяти с данными технологиями еще открытый

Google
Aever
13.11.2018
12:30:00
что за trio?
https://trio.readthedocs.io/en/latest/

Владимир
13.11.2018
12:31:14
что за trio?
про него как-то один из кор девелоперов asyncio вещал, говорил, что идеи классные, будут в asyncio перетаскивать часть: https://youtu.be/3rSAtD2gKQE

Aever
13.11.2018
12:32:45
https://youtu.be/yU88XLozszs

Да, вотперевод на русский про жту библиотеку и там идея шикарная!

?? Eugene
13.11.2018
12:33:42
уже перевели

Nikolay
13.11.2018
12:34:54
и не нужны питоны 3.7

?? Eugene
13.11.2018
12:35:30
rust - и не нужен golang :)

Aever
13.11.2018
12:36:52
golang
только питон начал немного осваивать, как меня посылают в голанг... Не дело)

Владимир
13.11.2018
12:41:42
Alex
13.11.2018
12:43:36
golang - это какой-то позор

Dark
13.11.2018
12:50:08
как уменьшить количество потребляемого ОЗУ? https://github.com/flyingzhao/PyEVM/blob/master/EVM.py код работает, но поедает 7гб озу и иногда крашится от недостатка памяти

Google
Nikolay
13.11.2018
12:51:37
использовать генераторы вместо list

lru_cache

У вас есть для меня работа, хозяйка?

Donaudampf
13.11.2018
12:52:56
для начала взять бы memory_profiler и найти, кто память жрёт, вряд ли кто-то в эту простыню вникать будет

Alex
13.11.2018
12:54:15
тебя это не смущает?

а после этого в функции gaussian_video ты похоже создаешь еще один массив в памяти vid_data

я конечно в обработке видео не специалист, но меня это немного смущает, а тебя?

более того я подозреваю, что код немного не твой, правда?

Kirill
13.11.2018
12:58:11
Подскажите как правильно передавть аргумент secret в декоратор внутри класса app = Flask(__name__) class HandlerBot(object): def __init__(self, token, secret): self.token = token self.secret = secret @app.route('/{}'.format(secret), methods=["POST"]) def telegram_webhook(self): pass

Alex
13.11.2018
12:58:53
@app.route('/{}'.format(secret), methods=["POST"]) ОМГ

Евгений
13.11.2018
12:58:55
Alex
13.11.2018
12:59:26
cap.read() фрейм вроде читает, а не весь файл
да, а потом все фреймвы записываются в массив video_tensor

Dark
13.11.2018
12:59:36
Мне понравилось

Nikolay
13.11.2018
12:59:57
Зато с такими писателями у меня всегда будет работка

Перелопачивать это дерьмо

Alex
13.11.2018
13:00:53
Ну и ладно
ответ на твой вопрос. память переполняется, потому что код очевидно написан не очень качественно или не предполагал работу с большими объемами данных. ты же взял чужой код и видимо даже не запарился с тем, чтобы его почитать.

Google
Alex
13.11.2018
13:01:42
до чего дошли студенты, даже украсть код нормально не могут

Alex
13.11.2018
13:11:11
про передачу параметров в роутах

а ты хочешь что-то явно очень странное

Евгений
13.11.2018
13:13:40
парень из JS пришел, или чет тип того. Если где-то так и можно - то только в JS)

Kirill
13.11.2018
13:14:42
а ты хочешь что-то явно очень странное
ты вероятно прав, но вопрос в принципе общий не только про flask, как для каждого объекта класса использовать свой аргумент декоратора внутри

Alex
13.11.2018
13:17:55
если ты реализуешь свой декторатор, то ты можешь получить доступ к инстансу класса через первый аргумент декорируемой функции, но ты ведь явно хочешь не это?

в момент вызова декоратора на функции класса никакого объекта класса еще не существует

Kirill
13.11.2018
13:28:38
то есть мне надо отдельно создавать экземпляры класса: ob1 = HandlerBot() ob2 = HandlerBot() потом отдельно вызывать: @app.route('/{}'.format(secret1), methods=["POST"])(ob1.telegram_webhook) @app.route('/{}'.format(secret2), methods=["POST"])(ob2.telegram_webhook) и сократить это дело нельзя?

Евгений
13.11.2018
13:30:15
Думаю, это надо использовать совершенно иначе, как указано в доке

Kirill
13.11.2018
13:31:30
Егор
13.11.2018
13:31:45
это не оправдание

попробуйте не копить эти мелочи в коде

а сразу искать тут суть

тогда и проблемы будут более конкретными

Google
Aever
13.11.2018
13:32:32
эти решения уже стали промышленным стандартом для таких задач
В моем случае, будет ли адекватным решение использовать dict для хранения token в глобальной переменной? Если не брать в расчет redis и memcached

Alex
13.11.2018
13:34:31
Да, процесс один
да, можешь хранить. просто ты должен учитывать что это не масштабируется.

Sergey
13.11.2018
13:35:14
у нас однажды умники сделали хранение токенов в локальной памяти процесса для web риложения. А потом запустили его под uwsgi в прод в несколько воркеров и все сломалось. Зато в дебаге на локальной машине разработчика все работало идеально.

Jentry
13.11.2018
13:35:56
Это топчик вообще в питоне - не думать про потокобезопасность

Admin
ERROR: S client not available

Alex
13.11.2018
13:36:18
Это топчик вообще в питоне - не думать про потокобезопасность
про потокобезопасность, конкуррентность, транзакционность и вообще

Jentry
13.11.2018
13:37:21
ну вот именно непотокобезопасных либ я видел овер много, моя карьера началась с того, что я пришел в компанию, где никто не слышал даже такого слова и то, что GIL не гарантирует разрушение бизнес-логики

Sergey
13.11.2018
13:37:22
в питоне GIL так что потоков читай и нету.....

Aever
13.11.2018
13:37:33
да, можешь хранить. просто ты должен учитывать что это не масштабируется.
Пусть у меня будет 10 или >1000. Суть то не поменяется, я пока не вижу случая масштабированности. Подскажи

Alex
13.11.2018
13:37:41
или если GIL - то дедлоки и состояния гонок отменили?

Jentry
13.11.2018
13:38:15
в питоне GIL так что потоков читай и нету.....
Я недеюсь это была ирония над горе-программистами) Они так и думают да

Tishka17
13.11.2018
13:39:49
oneonwar
13.11.2018
13:40:02
Я недеюсь это была ирония над горе-программистами) Они так и думают да
Уровень владения пайтоном от 0 до 100 Где 0 это print('Hello world') 99 - победил гил

Alex
13.11.2018
13:40:24
с базами данных горе-программисты как првило тоже не умеют работать, поэтому у них куча лишних запросов (на каждую строку выборки) и полная жопа как доходит до транзакций.

Google
Jentry
13.11.2018
13:40:57
Ну побеждать GIL мы же не в Instagram работаем, там которую серию сподряд побеждают - GIL и отключение GC

oneonwar
13.11.2018
13:41:10
100 понял, что гил - благо
Это довольно тонкая шутка про бога поскольку range (0,100) вернет 99 последним числом :D

?? Eugene
13.11.2018
13:41:39
Гвидо сказал что уберет гил как только кто-то предложит альтернативу, которая не приведет к деградации однопоточных скриптов. Пока что не предложили :)

Alex
13.11.2018
13:42:20
Гвидо сказал что уберет гил как только кто-то предложит альтернативу, которая не приведет к деградации однопоточных скриптов. Пока что не предложили :)
А с учетом того, что GIL в основном мешает только тем, кто не понимает как он работает, но любит об этом кричать на каждом углу, то как бы и не нужно.

Тимур
13.11.2018
13:43:20
А с учетом того, что GIL в основном мешает только тем, кто не понимает как он работает, но любит об этом кричать на каждом углу, то как бы и не нужно.
Я так часто про java сам говорил, что сложно только новичкам. Все там классно. А как перешёл на python, нах эту джаву

oneonwar
13.11.2018
13:43:42
А с учетом того, что GIL в основном мешает только тем, кто не понимает как он работает, но любит об этом кричать на каждом углу, то как бы и не нужно.
Почему нельзя было пустить в деплой две ветки одну для многопоточников чтобв они не долбились в известное место костылыми типа cython И прочими мультипроцессингами а другу для православных датасаентологов с их матрицами по 10000000 гигабайт оперативы

Sergey
13.11.2018
13:43:50
но факт остается фактом. Одним процессом питона утилизировать все ядра не выйдет.

oneonwar
13.11.2018
13:44:53
Так он же почти опенсорсный

>почти

Sergey
13.11.2018
13:45:03
Alex
13.11.2018
13:45:29
Так он же почти опенсорсный
и что? ты думаешь опенсорсный - значит пишется исключительно энтузиастами, за бесплатно и не требует затрат ресурсов?

Тимур
13.11.2018
13:45:33
Python разве для убер больших мощностей используют? Всегда считал что он как php только универсальное и лучше. А многопоточные процессы запускать на других языках. В том числе Scala. С их actor подход для масштабирования

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