@ru_python

Страница 3844 из 9768
Nikolay
28.09.2017
10:20:34
но работает только в 3.6

b0g3r
28.09.2017
10:20:53
class A(): a = 2

как сюды прицепить? a: int a = 2 ?

Nikolay
28.09.2017
10:21:56
как сюды прицепить? a: int a = 2 ?
а а: int = 2 не работает?

Google
b0g3r
28.09.2017
10:22:13
о, работает

спасибо

Ruslan
28.09.2017
10:52:28
камрады, мне тут JWT надо генерировать, на какую либу смотреть?

python-jose или jwcrypto?

или pyjwt, который может не всё, но имеет звёзды на гитхабе с большим отрывом?

Danil
28.09.2017
11:27:20
А ты DRF не используешь?

Ruslan
28.09.2017
11:31:13
я вообше на aiohttp

in favor
28.09.2017
11:35:02
почему aiohttp, а не sanic/japronto?

Artem
28.09.2017
11:41:15
«Don't use it for anything serious for now and definitely don't use it in production.»

мб иза этого

Ruslan
28.09.2017
11:41:43
почему aiohttp, а не sanic/japronto?
опытные люди посоветовали

Nikolay
28.09.2017
11:41:45
а зачем sanic и japronto, если есть aiohttp?

Ruslan
28.09.2017
11:41:58
пока нет претензий к выбору

Google
Nikolay
28.09.2017
11:41:58
точнее, sanic еще ничего, но слишком ограниченный

in favor
28.09.2017
11:42:03
Nikolay
28.09.2017
11:42:20
перфоменс
нужен перформенс - пишите на го

Ruslan
28.09.2017
11:43:00
хз, я на чистом фласке и тредах нормальный перформанс выжимал, тут думаю выйдет на порядок побыстрее просто из-за асинхронщины

Artem
28.09.2017
11:43:00
светлая мысль

про го

Ruslan
28.09.2017
11:43:45
на го тоже писал, просто не уверен, что в ближайшие пару лет будет такая нагрузка, чтобы писать на go

in favor
28.09.2017
11:44:43
точнее, sanic еще ничего, но слишком ограниченный
а что есть в aiohttp чего нет в санике?

Nikolay
28.09.2017
11:44:57
никакого рода прокси ты на sanic не напишешь

Ruslan
28.09.2017
11:45:20
клиент нужен, факт

in favor
28.09.2017
11:45:27
хмхм, ты имеешь ввиду какой-то asynchttpclient как в торнаде?

Nikolay
28.09.2017
11:45:44
хмхм, ты имеешь ввиду какой-то asynchttpclient как в торнаде?
нет, просто aiohttp - это общего вида фреймворк для http

а sanic - это простенький сервер, который ни во что больше не умеет, кроме как отвечать на реквесты

in favor
28.09.2017
11:47:06
ну вот почему бы сразу не сказать: "Да, как в торнаде, простой клиент"

Nikolay
28.09.2017
11:47:46
и не "как в торнаде", а вообще клиента нет

in favor
28.09.2017
11:52:57
Ну я просто не совсем представил, что за клиент. Я мыслю торнадовскими терминами, потому что с ней работаю

Andrew
28.09.2017
12:50:19
Если чо - sanic зажевывает весь request body в память и только потом вызывает request handler. Легко сделать DDOS. Плюс по мелочи -- HTTP headers это dict, одинаковые ключи не поддерживаются. Проверок гораздо меньше, значит sanic легче сломать передачей неправильных аргументов. Мне flask-style не нравится, но это уже вопрос личных предпочтений. По поводу производительности -- aiohttp медленней sanic в полтора раза на выдаче статических ответов. Если есть бизнес логика и обращения к БД -- разница в скорости становится незаметной.

Google
Andrew
28.09.2017
13:10:10
aiohttp тоже нужно запускать на uvloop. uvloop -- это не часть sanic, если мерять -- то на одинаковых event loops

Сейчас насколько помню польза от uvloop -- примерно 30%. Сам давно не мерял, кто-то недавно называл такие цифры.

Александр
28.09.2017
13:11:11
aiohttp тоже нужно запускать на uvloop. uvloop -- это не часть sanic, если мерять -- то на одинаковых event loops
Я имел в виду, что если aiohttp запустить на uvloop, разница с sanic не нивелируется?

Andrew
28.09.2017
13:11:32
полтора раза -- это когда aiohttp на uvloop

Александр
28.09.2017
13:11:41
а, понял

Andrew
28.09.2017
13:11:48
весной мерял

в aiohttp тупо больше функционала и выше строгость, это сжирает производительность. Но мне надежность дороже.

Есть еще куда расти, понемногу оптимизируем. Процесс небыстрый и приоритет не самый большой. И так вполне ничего

in favor
28.09.2017
13:13:47
а в aiohttp Headers это какой-то класс как в торнадо?

Andrew
28.09.2017
13:14:15
https://pypi.python.org/pypi/multidict

in favor
28.09.2017
13:14:25
мерси

Nikolay
28.09.2017
13:15:44
https://pypi.python.org/pypi/multidict
закапывайте обратно

in favor
28.09.2017
13:16:46
весной мерял
вы кстати нашли человека на вакансию в ocean.io?

Andrew
28.09.2017
13:18:07
Плюс https://pypi.python.org/pypi/yarl -- а sanic url requoting кажется не делает. flask делает, django тоже - а sanic нет. Сделают -- разрыв еще сократится.

И да, test coverage в 84% -- это вообще ни о чём.

ищем

@deluxoft кого куда закапывать?

Ivan
28.09.2017
13:35:04
Подскажите, при просмотре манулов о подключение к базе данных, в них указывается пароль открыто - это правильно?

Google
Maxim robox
28.09.2017
13:36:35
Подскажите, при просмотре манулов о подключение к базе данных, в них указывается пароль открыто - это правильно?
Для разработки — да. В проде их хранят в environment variables. Если я правильно понял твой вопрос.

Nikolay
28.09.2017
13:37:00
просмотр манулов



Александр
28.09.2017
13:40:51
Для разработки — да. В проде их хранят в environment variables. Если я правильно понял твой вопрос.
Ну вот кстати проблема. Мануалы в этом смысле совершенно не дают представления как надо.

Maxim robox
28.09.2017
13:41:20
https://12factor.net/

Александр
28.09.2017
13:41:46
И архитектура всяких там не скажу каких популярных фреймворков тоже хорошим практикам не способствует из коробки.

Admin
ERROR: S client not available

Ivan
28.09.2017
13:42:18
Для разработки — да. В проде их хранят в environment variables. Если я правильно понял твой вопрос.
Расскажите как правильно организовать, с чего начать копать?

Александр
28.09.2017
13:42:25
Возьмите settings.py и вбейте пароли)

Dmitry
28.09.2017
14:06:09
Ребята, подскажите как создать пул процессов?

Nikolay
28.09.2017
14:07:09
Dmitry
28.09.2017
14:07:39
Мне нужно обрабатывать запросы поступающие через http, каждый запрос обрабатывается в отдельном процессе. Чтобы не создавать процессы каждый раз, я хоччу иметь их массив (пул), извлекать свободнын процессы для запросов.

from concurrent.futures import ProcessPoolExecutor ?
сейчас почитаю, подойдет ли ...

Dmitry
28.09.2017
14:08:33
а зачем в отдельном процессе?
на этот вопрос у меня уже есть ответ.

Nikolay
28.09.2017
14:08:55
на этот вопрос у меня уже есть ответ.
ну просто обычно такие задачи решаются через очередь с воркерами, например

типа celery

Dmitry
28.09.2017
14:09:18
воркер - это процесс или поток?

Google
Nikolay
28.09.2017
14:09:37
смотря что тебе надо. В общем случае - процесс

Dmitry
28.09.2017
14:09:59
а где можно такую схему прочитать?

Nikolay
28.09.2017
14:10:48
а где можно такую схему прочитать?
http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html

Dmitry
28.09.2017
14:10:50
да, я создаю очередь, и хотелось бы извлекать из пула процессов свободный процесс и передавать ему из очереди задачу.

Nikolay
28.09.2017
14:11:32
зачем чего зря процессы создавать-убивать

Dmitry
28.09.2017
14:12:43
т.е. всем процессам из пула передать очередь, и они по мере ее наполнения сами будут брать задачи. так?

Nikolay
28.09.2017
14:12:54
ну или есть еще решение, вот, например https://khashtamov.com/ru/python-rq-howto/

Nikolay
28.09.2017
14:13:13
т.е. всем процессам из пула передать очередь, и они по мере ее наполнения сами будут брать задачи. так?
там не будет "пула", там будет просто набор воркеров, который отдельно стартуется и слушает очередь

Dmitry
28.09.2017
14:14:18
стандартная либа мультипроцессинга так умеет
from multiprocessing import Pool - теперь понял как это использовать.

а как часто процессоры опрашивают очередь на наличие в ней задач?

Nikolay
28.09.2017
14:15:57
в futures будет так, как ты напишешь. Чаще всего процесс просто блокируется, пока сообщение не придет

в celery тебе об этом вообще думать не надо

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