@rudepython

Страница 147 из 1719
Alexey
28.01.2017
06:57:06
В данном случае это хуйня. Зачем тебе https -> http?

Stuf
28.01.2017
06:57:50
В данном случае это хуйня. Зачем тебе https -> http?
Stuf: Да. Мне вообще нужно чтобы редирект с этого домена на другой проходил. А он только через http редиректит. А при https говорит, что соединение не защищено

Anatoly
28.01.2017
08:28:42
и это разумно

Google
Anatoly
28.01.2017
08:29:01
потому что пришёл ты на сайт, который https закрыт, а тебя на хуйню какую-то перенаправляют

Alexey
28.01.2017
08:31:22
Ага, это очень и очень плохое поведение.

Zart
28.01.2017
11:39:11
у меня подозрение что у него в случае с хттпс сертификаты не с тем именем оказываются

Anatoly
28.01.2017
13:45:38
Zart
28.01.2017
13:51:28
⦁ Average Disk Queue Length, Average Disk { Read | Write } Queue Length These counters collect concurrency data, including peak loads and workloads that contain significant bursts. These counters represent the number of requests that are active below the driver that takes the statistics ... It is important to note that these values are not strictly accurate; rather, they are derived values. Avg. Disk Queue Length is equal to (Disk Transfers/sec) * (Disk sec/Transfer). This is based on Little’s Law from the mathematical theory of queues сколько любопытного порой закопано в некоторых документах, однако

Eugine
28.01.2017
19:26:21
Хороший выбор ника

b0g3r
28.01.2017
19:26:41
для этого чата вполне

Alexey
31.01.2017
08:35:35
Привет. Вопрос про асинк. Возможно, тупой. Насколько я понял, когда процесс хочет произвести ввод/вывод, он должен обращаться к ядру системы. Ядро шлёт его запрос к, например, сетевой карте, а процесс кладёт в лист заблокированных. Когда сетевая карта присылает данные, контроль возвращается к процессу вместе с данными. Как тогда получается, что в корутинах мы можем слать сразу кучу запросов, не блокируя процесс? Для этого в ядре есть какой-то специальный механизм? Это epoll (в линкусе)?

Alexey
31.01.2017
08:40:48
Да, я про это и написал. Но мы можем через какой-нибудь asyncio отправить 1000 реквестов, и процесс не будет блокироваться. То есть он шлёт запрос на io в ядро, но при этом говорит "ткни сетевую карту, но меня не блокируй". Как-то так?

Cykooz
31.01.2017
08:51:27
Alexey
31.01.2017
08:53:58
Это процесс, который корутины юзает? Или вообще любой процесс, ждущий io, не блокируется?

Cykooz
31.01.2017
09:06:31
В питоне, по моему, вся асинхронка вертится вокруг сокетов. Вся остальная фигня выполняется синхронно.

Google
Cykooz
31.01.2017
09:07:19
Так что не весь io в питоне асинхронный. Например файловые операции (в том числе работа с потоками stdin, stdout) - это всё синхронное.

Cykooz
31.01.2017
09:09:57
stdin/stdout/stderr - нет.
Почему это нет? Эти потоки посути являются файлами, и работа с ними идёт через обычные read, write.

Cykooz
31.01.2017
09:10:34
Это процесс, который корутины юзает? Или вообще любой процесс, ждущий io, не блокируется?
Вот, поглядите этот доклад https://youtu.be/7sCu4gEjH5I Там довольно понятно показано как работает асинхронка в питоне

Roman
31.01.2017
10:27:20
но как сказали выше, сам процесс с железом не общается. он юзает абстрации в виде сокетов

для работы с асинхронным io есть select, который старый и со своей задачей прекрасно справляется, если только нет надобности обслуживать множество соединений.

select на каждое событие поднимает все зарегистрированные хендлеры и сообщает каждому, мол в таком-то сокете случилась событие. а приложение само думает, важно это для него или нет.

epoll, kqueue поднимает только те хэндлеры, для которых случилось событие и сообщает им об этом

Zart
31.01.2017
11:24:17
"процесс блокируется" - просто шедулер не шедулит его на выполнение, что по факту ставит его на паузу

sock = socket(...) setsockopt(sock, O_NONBLOCK, 1) ... recv(sock, buf, 1000) - для синхронного и/о в этой точке поток просто не будет выполняться пока в сетевуху не прилетят данные и ядро не будет готово перекинуть их в память процесса для асинхронного и/о этот вызов тут же вылетит с ошибкой EWOULDBLOCK

корутины в контексте питона - это его байткод, который может выполняться до ближайшего yield после чего сохранять состояние фрейма для последующего продолжения банкета

это реализовано на уровне интерпретатора языка в случае цпитона, и никакого отношения ни к ядру, ни тамошним апи не имеет

Alexey
31.01.2017
12:14:36
Да, про корутины понятно Но когда я делаю html = await fetch(session, 'http://python.org') (это пример из aiohttp)| Процесс питона дёргает ядро и просит его выполнить io, так? И по идее scheduler должен не давать этому процессу выполнятся, пока ответ от python.org не придёт Меня интересует, как это процесс и шлёт http-запрос, и продолжает работать

для работы с асинхронным io есть select, который старый и со своей задачей прекрасно справляется, если только нет надобности обслуживать множество соединений.
То есть select - это мы вместо того, чтобы послать запрос и сидеть ждать ответа, говорим: "вот тебе запрос, когда придёт ответ, ткни меня" И крутимся в цикле, ожидая тычки от ядра ?

Roman
31.01.2017
12:21:38
это если очень утрировано

то да

причём в случае с select тебе прийдёт ответ даже в том случае, если для тебя не было событий, но события были для кого-то другого

Google
Roman
31.01.2017
12:23:29
но ты таки обрати внимание на то, что вещает zart

Alexey
31.01.2017
12:25:23
Да, его я сообщения я уже более-менее осознал

Alexey
31.01.2017
12:26:00
Зарт вообще фигни не посоветует.

Zart
31.01.2017
12:26:10
не, ну он примерно верно всё понял

просто эти "дергает ядро" - это несколько абстрактно

питон юзает обычные бсд сокеты как все остальные программы в этом случае

Alexey
31.01.2017
12:27:11
Ну я пока пытаюсь хотя бы приблизительно понять, а мои знания о сокетах и ядре близки к нулю

Zart
31.01.2017
12:27:48
мне нравится как полные нубы лезут в новомодный асинк, в котором даже матёрые питорасы путаются

Roman
31.01.2017
12:27:59
=)

Zart
31.01.2017
12:28:15
армин же вроде писал ту статью где пытался просуммировать что они там нахуячили?

с потредовыми ивентлупами и прочей херней

Roman
31.01.2017
12:29:05
я юзаю async чтоб максимально утилизировать ресурсы cpu при наличии выского выюзывания io сети

Roman
31.01.2017
12:29:24
@zartsoft а что в винде с asyncio?

Alexey
31.01.2017
12:29:32
Ну это же интересно Там не только Армин, там и Бизли в своём докладе говорил, что не особо врубается в asyncio

Roman
31.01.2017
12:29:37
точнее, IOCP там рабочее?

Roman
31.01.2017
12:29:42
в венде юзается select

select - это вообще такой себе fallback вариант

все знают о его недостатках, но работает он там, где другие ещё не успели. Правда, как оно во всяких там солярках и прочих экзотиках хз

Zart
31.01.2017
12:31:30
вот та херь что добавляет uvloop в асинкио - вроде как юзает иоцп на винде

Google
Zart
31.01.2017
12:32:21
селект вообще эффективнее полла на небольшом колве сокетов насколько я помню

а обычный полл один хрен неуклюж

Eugine
31.01.2017
12:55:36
нету там iocp
а какой еще смысл в libuv, по сравнению libev? если там не работает iocp

я думал его изначально написали как раз из-за того что libev толком не работает на винде

Roman
31.01.2017
12:56:46
Eugine
31.01.2017
12:56:46
ну то есть понятно как работает

осознал

Zart
31.01.2017
12:57:11
ы

опять всё через жопу, кроме клизмы

/dev
31.01.2017
13:38:05
Процесс не блокируется. Не помню деталей, но если по простому то процесс просто в бесконечном цикле чекает есть ли какой то ответ в сокетах или нет.
Нет там активного ожидания и наивных бесконечных циклов. То есть цикл есть, но с блокировкой по вызову select

Alexey
01.02.2017
05:38:19


Zart
01.02.2017
07:21:31
веблядь

Stanislav
01.02.2017
07:22:10
веблядь
Зарт, а что ты на питоне делаешь?

Igor
01.02.2017
07:22:31
как раз вчера было

у меня дочка умеет открывать консоль разработчика в браузере и херачить в js-консоль. я боюсь что вырастет джабаскриптер. сможете сделать с этим что-нить?

Alexey
01.02.2017
07:22:59
:D

Зарт, а что ты на питоне делаешь?
Как правило хуесосит джангистов, иногда помогает новичкам.

Google
Igor
01.02.2017
07:35:00
А дочке есть 18?
можешь у чела спросить!

Agaliar3pt
01.02.2017
07:37:42
Скорее всего поздно что-либо менять

С моей сестрой так же было

Alexey
01.02.2017
09:20:07
http://www.1c-bitrix.ru/composite/

О_О

Johnnie
01.02.2017
09:26:02
0.4 против 4.5, где х100?

Alexey
01.02.2017
09:27:38
ВЫ НИЧЕГО НЕ ДОКАЖЕТЕ СПЕРВА ДОБЕЙСЯ

H
01.02.2017
09:27:45
т.е. они сделали в битриксе, что оно работает НОРМАЛЬНО и продают это?

Roman
01.02.2017
11:48:07
херассе

Alexey
01.02.2017
11:48:59
Хэдхантеры в чате?

Все в окопы, пацаны, джангистская тревога!

Milton
01.02.2017
11:58:23
Нужен бот, предупреждающий о хантерах

И трущий посты в чатах, где админ включил затирание

Dmitry
01.02.2017
12:23:55
«Я все еще получаю письма, в которых меня спрашивают, как работает та или иная функция, — говорит buro9. — А я понятия не имею, это был PERL».

Страница 147 из 1719