@spbpython

Страница 772 из 785
Serge
19.09.2018
21:36:17
/ban 3d

Combot
19.09.2018
21:36:17
Serge Matveenko has temporarily banned Михаил for 3 days!

Stepan
20.09.2018
07:02:45
Добрый день

я тут делаю следующее: завел рест апи на фласк+гуникорн и хочу его профилировать в книжке по фласку предлогается юзать следующее

Google
Stepan
20.09.2018
07:03:51
app.wsgi_app = ProfilerMiddleware(app.wsgi_app, restrictions = [10])

я это и юзаю

Сейчас он выдает профилирование всех запросов но у меня есть запрос /check я не хочу его профилировать как сделать так, чтобы профилировалось всё, кроме него?

Некто
20.09.2018
08:17:50
как сделать на плюсах кросс платформенное удаление файлов const MString temp_path = buildTempPath("AL_USDMayaTests*.*"); MString cmd( "import glob;" "import os;" "[os.remove(x) for x in glob.glob('" + temp_path + "')];" ); MStatus stat = MGlobal::executePythonCommand(cmd);

Некто
20.09.2018
08:20:42
Это был юмор.

Denis
20.09.2018
08:21:24
да, прикол же)

Eugene
20.09.2018
09:36:13
Не прошло и 40 лет! ?

Марат
20.09.2018
12:53:38
Я хз, но в крайнем случае наверно можно поднять два инстанса приложения и nginx'ом раскидывать в зависимости от урла.

Алексей
20.09.2018
12:53:46
Поставить реверс-прокси и направлять на бэкенд без профилирования

Stepan
20.09.2018
12:55:53
Сейчас балансировщик каждую секунду кидает в сервис /check В итоге логи им забиты

Google
Serge
21.09.2018
05:30:08
Сейчас он выдает профилирование всех запросов но у меня есть запрос /check я не хочу его профилировать как сделать так, чтобы профилировалось всё, кроме него?
Собери check отдельно от основного приложения и собери два в одно. Первое будет с профайлером, второе - нет. Ещё можно на запрос /check отвечать в своём middleware, которое не будет пускать к профайлеру

Alexander
21.09.2018
06:39:52
app.wsgi_app = ProfilerMiddleware(app.wsgi_app, restrictions = [10])
Плохо знаю фласк, наверное должен быть какой-то profiler декоратор. Если нету такого, то можно отнаследоватьсч/пропатчить этот middleware, чтобы принимал параметр ignore_paths: List[str]. В __call__ вызывай super().__call__ если путь запроса не содержится в ignored_path. Что-то вроде такого: # писал с телефона, не тестировал from werkzeug.wrappers import Request class ProfilerMiddlewareWithIgnore(ProfilerMiddleware): def __init__(*args, ignore_paths=None, **kwargs): self.ignore_paths = ignore_paths or [] super().__init__(*args, **kwargs) def __call__(self, environ, start_response): request = Request(environ) if request.path in self.ignore_paths: return self.app(environ, start_response) return super().__call__(environ, start_response)

Serge
21.09.2018
07:03:36
Вариант с мидлваре для /check мне и архитектурно нравится
Его потом можно переиспользовать для соседних сервисов, если они за таким же балансировщиком будут

Stepan
21.09.2018
08:05:19
@lig11 а можешь пояснить, что это значит? -0Ещё можно на запрос /check отвечать в своём middleware, которое не будет пускать к профайлеру

как-то так, да? https://medium.com/@devsudhi/how-to-create-a-middleware-in-flask-4e757041a6aa

Serge
21.09.2018
14:21:18
как-то так, да? https://medium.com/@devsudhi/how-to-create-a-middleware-in-flask-4e757041a6aa
ну да. пишешь свой мидлварь, ставишь его вокруг профайлера, т.е. чтоб он реквест раньше обрабатывал, ловишь запрос, смотришь, что он на /check и отвечаешь кратко и понятно 200, 'ok'

https://github.com/tensorflow/tensorflow/issues/20517

Alexander
21.09.2018
19:55:43
ну да. пишешь свой мидлварь, ставишь его вокруг профайлера, т.е. чтоб он реквест раньше обрабатывал, ловишь запрос, смотришь, что он на /check и отвечаешь кратко и понятно 200, 'ok'
Кажется, не очень хорошее решение. Странно, если миддлваре добавляет новые ресурсы(новые пути). Все же они предназначены не для этого.

Alexander
22.09.2018
20:00:23
Навеяло... https://pythonclock.org/

Александр
23.09.2018
08:39:22
Навеяло... https://pythonclock.org/
А есть у кого-нибудь из вас опыт переезда целого проекта на py3?

Alexander
23.09.2018
08:54:09
А есть у кого-нибудь из вас опыт переезда целого проекта на py3?
Да, есть. Берешь и переезжаешь. Аккуратно и без нервотрёпки ?

Это в теории, а реале при большом проекте куча геморра

Alexander
23.09.2018
13:36:02
я читал где-то недавно доклад чувака из фейсбука про переезд с py2 на py3

Serge
23.09.2018
16:30:12
Да, есть. Берешь и переезжаешь. Аккуратно и без нервотрёпки ?
Не, ну так-то правильная мысль. Это просто очередной большой рефакторинг. Нужны тесты. Можно взять какой-нибудь pylint, чтобы сразу статикой увидеть проблемы.

Правда, pylint уж очень много всего по умолчанию рассказывает. У меня сейчас связка black/isort/flake8/mypy, всё через плагины pytest, есть в паре репозиториев. Вполне норм.

Alexander
23.09.2018
16:35:42
https://lwn.net/Articles/758159/

Алексей
23.09.2018
16:50:38
Ещё можно посмотреть на futurize типовые вещи он делает

Google
Александр
23.09.2018
17:20:40
Всем спасибо

Centrino
23.09.2018
19:50:05
подскажите какой-нибудь manual по джанго с хорошим стилем кода. Два года не писал, надо быстро вспомнить.

Centrino
23.09.2018
20:14:59
спасибо

это конечно не то что я хотел, нужно самому искать. Меня больше интересует codestyle, чем то как написать то или иное

vitaliy
23.09.2018
20:21:14
Ну в целом дока очень хорошо на мой взгляд описывает.

https://www.twoscoopspress.com/products/two-scoops-of-django-1-11

Вот мне еще это чтиво понравилось.

Alexander
24.09.2018
07:27:51
Вот такое чтиво от девушек :) https://tutorial.djangogirls.org/

Никита
24.09.2018
07:49:15
возьми наш шаблон: https://github.com/wemake-services/wemake-django-template он будет тебя сильно бить по рукам за всякое. и best-practices included.

Aleks
24.09.2018
08:43:36
Всем привет, подскажите ,пож-та, с чего начать изучение лучше? прохожу на stepic курс, но там теории очень мало

Admin
ERROR: S client not available

Алексей
24.09.2018
09:15:11
а какую теорию то надо?

Aleks
24.09.2018
09:16:23
я полный ноль

сейчас не большая проблемма со списками: где то написана что массивы это списки в python, где то их делят

'написано

Никита
24.09.2018
09:31:37
@b0g3r наш? пока нет, он еще не в паблике. пока 0.1.0 не релизнул - не могу людей пытать https://github.com/wemake-services/wemake-python-styleguide/releases

Алексей
24.09.2018
09:47:01
Google
Valery
24.09.2018
09:48:26
сейчас не большая проблемма со списками: где то написана что массивы это списки в python, где то их делят
Список отличается от "классического" массива тем, что в него легко добавлять элементы (под капотом там, насколько помню, двусвязный список), и элементы могут быть любого типа (хотя так, наверное, во всех динамических языках).

Алексей
24.09.2018
09:52:45
https://t.me/spbpython/75397
это ж где шесть часов в день только на обучение взять. ))) Спать-то когда.

А так безработным - самое оно

Serge
24.09.2018
09:53:45
А так безработным - самое оно
расчет тут именно на безработных был. смотри сообщение, на которое ответ. но порядок действий такой работает в любом случае

Serge
24.09.2018
09:55:07
Кстати, хорошая идея взять отпуск за свой счёт
это уже по желанию и возможностям;)

Aleks
24.09.2018
10:04:46
Большое спасибо

Sergey
24.09.2018
14:38:27
Господа, поделитесь пожалуйста, что сейчас модно советовать почитать по Python для углубленного понимания?

Sergey
24.09.2018
14:39:26
Сорцы
Человек не знает Сей

Aleksandr
24.09.2018
16:05:55
для чтения сей достаточно и незнания

инфа сотка

Страница 772 из 785