@rudepython

Страница 194 из 1719
Dmitry
14.02.2017
09:34:35
Это не имеет смысла жи.
Если ты про gil то не имеет.

Vladimir
14.02.2017
09:34:56
или погоди, я гоню. не треды. процессы. форк, вот это все.

я не проснулся, сорян.

Cykooz
14.02.2017
09:35:28
Это не имеет смысла жи.
Он наверное ошибся - дефолтное поведение вроде бы как раз создавать процессы, а не треды. Хотя могу ошибаться т.к. давно просто копи-пастаю настройки celery из проекта в проект.

Google
Vladimir
14.02.2017
09:35:37
процессы-процессы, это я объебался

Roman
14.02.2017
09:36:08
процессы-процессы, это я объебался
Угу. Я подумал, что авторы селери ебанаты

Dmitry
14.02.2017
09:36:20
или погоди, я гоню. не треды. процессы. форк, вот это все.
Точно треды, я не знаю как между процессами курсор делить ?

Или connection

Cykooz
14.02.2017
09:37:25
Ну если неудачно так форкнуть процесс после создания конекта, то может случится какая то бяка ?

Dmitry
14.02.2017
09:37:48
BTW: Треды кстати, незаменимы для файлового IO в asyncio. А у ядра (Linux/Mac/BSD) есть встроенный thread pool для асинхронной работы с файлами. Я даже когда-то модуль для asyncio писал на эту тему.

Cykooz
14.02.2017
09:38:42
Не, ты гонишь. Бяка не случится.
Ну наверное зависит от базы данных и питонячего адаптера.

Например pymongo ругается на форк созданого конекта

Dmitry
14.02.2017
09:39:17
ну будешь ты один и тот-же файловый дескриптор использовать. Драйвер от такого или корку отложит, или будет материтиься.

Cykooz
14.02.2017
09:41:10
Например pymongo, если его конектить к нескольким репликам, запускает в отдельном треде мониторинг этих реплик. В треде само собой есть локи всякие, для синхронизации. И вот эти локи замечательно так форкаются, что можно просто напороться на deadlock на этом питонячем локе.

Google
Vladimir
14.02.2017
09:41:29
ну будешь ты один и тот-же файловый дескриптор использовать. Драйвер от такого или корку отложит, или будет материтиься.
Он просто с ума сходит, начиная выбрасывать невообразимые эксепшны и артефакты. Причем каждый раз разные.

Dmitry
14.02.2017
09:41:30
Это да.

Vladimir
14.02.2017
09:41:32
DataError: (psycopg2.DataError) invalid byte sequence for encoding "UTF8": 0xff например

Dmitry
14.02.2017
09:41:37
Вообще все форкается замечательно.

Vladimir
14.02.2017
09:41:48
при том, что если явным образом приказать celery "только 1 форк" (читай --concurrency=1) то все ок.

а на >1 начинаются артефакты.

Dmitry
14.02.2017
09:41:56
Лучше всего форкается после socket.bind

Vladimir
14.02.2017
09:41:59
это если общий коннект

http://stackoverflow.com/questions/17317344/celery-and-sqlalchemy-this-result-object-does-not-return-rows-it-has-been-clo

во

и вот такое было

Cykooz
14.02.2017
09:49:26
psycopg2 всё таки не любит форкания конектов http://initd.org/psycopg/docs/usage.html#thread-and-process-safety libpq connections shouldn’t be used by a forked processes, so when using a module such as multiprocessing or a forking web deploy method such as FastCGI make sure to create the connections after the fork.

Dmitry
14.02.2017
10:32:34
Вопрос неясен

Zart
14.02.2017
10:33:00
какой такой встроенный тредпул?

Eugine
14.02.2017
10:34:07
io_submit

крутая хуита но очень платфмозависимая

Zart
14.02.2017
10:34:51
линупс аио онли, гм

Eugine
14.02.2017
10:34:55
угу

Zart
14.02.2017
10:35:21
гдето я видел инфу что оный аио нифига не а

Google
Eugine
14.02.2017
10:35:35
а вообще - файловое ио не может быть неблокирующим, поэтому нужен тред пул, но хз про тред пул во всех осях

Eugine
14.02.2017
10:36:22
а именно?

Zart
14.02.2017
10:36:46
там есть честный ядреный асинк именно для файлового и/о

по крайней мере из того что я гуглил на тему

Eugine
14.02.2017
10:37:11
aio_ glibc'шный вроде не тру аио, а io_submit - да

Zart
14.02.2017
10:37:26
Asynchronous I/O requests for raw disks are queued directly to the disk device layer after temporarily wiring the user pages associated with the request. These requests are not serviced by any of the AIO daemon pools.

это aio(4) от фри

Eugine
14.02.2017
10:38:01
ну так io_submit как будето не так же работает

http://ftp.naist.jp/pub/linux/kernel/people/suparna/aio-linux.pdf

в общем вот

В любом случае кто-то должен сходить на диск, чтобы узнать что там ничего нет, поэтому тру асинк невозможен как факт

Ой

Тру нонблок

Zart
14.02.2017
10:45:32
презентация несколько невнятная, но похоже что они сделали пачку итераций

https://lwn.net/Articles/671649/ всё плохо в общем

Eugine
14.02.2017
10:56:35
Фрибсд никому не интересна и про нее не пишут такие статейки?

Igor
14.02.2017
10:57:35
тоже не понимаю повального дроча на фряху сейчас

ну, то есть, не повального, конечно

Zart
14.02.2017
10:57:46
ват

Google
dmks
14.02.2017
10:57:57
Сейчас?

Dmitry
14.02.2017
10:59:28
Zart
14.02.2017
10:59:58
да когда я последний раз на это всё смотрел - этих апи еще не было

Dmitry
14.02.2017
11:00:41
https://pypi.python.org/pypi/aiofile

Eugine
14.02.2017
11:02:06
Там тоже говна наберется, просто он не так известен

Dmitry
14.02.2017
11:06:47
Roman
14.02.2017
11:07:05
ну так io_submit как будето не так же работает
нет. то что сейчас есть - нельзя назвать работает и я полностью согласен с Линусом, что сделанный сейчас aio - это уродливый кусок говна.

Dmitry
14.02.2017
11:07:06
aio.h смотри реализацию.

Roman
14.02.2017
11:07:26
Ты же про bsd или linux?
в первую очередь про linux.

Dmitry
14.02.2017
11:07:35
Там точно нет.

Roman
14.02.2017
11:08:03
aio.h смотри реализацию.
http://lxr.free-electrons.com/source/include/linux/aio.h

оно?

Dmitry
14.02.2017
11:56:00
оно?
Это хедер вроде, не реализация.

Zart
14.02.2017
11:59:39
с каких пор хедеры стали реализацией?

Dmitry
14.02.2017
12:03:10
Eugine
14.02.2017
12:04:25
в общем гоните вы тут, а лучше бы использовали

Google
Zart
14.02.2017
12:07:53
линус предложил запилить совершенно другой апи

это всё что вам нужно знать про текущий

AIO is a horrible ad-hoc design, with the main excuse being "other, less gifted people, made that design, and we are implementing it for compatibility because database people - who seldom have any shred of taste - actually use it". But AIO was always really really ugly. ... So I would seriously suggest: - how about we add a true "asynchronous system call" interface

https://lwn.net/Articles/671657/ исходник

Eugine
14.02.2017
12:11:11
это всё что вам нужно знать про текущий
уверен? там в конце отвечают что хуй в этой жизни будет заимплементен новый АПИ

недаром это апи живет с 2.5?

Zart
14.02.2017
12:11:39
да поебать. красноглазики должны страдать!11

Eugine
14.02.2017
12:11:46
ты придумал про страдания

Zart
14.02.2017
12:12:10
мне просто нравится травить любителей асинка

особенно тех, которые лепят его куда попало и бездумно

Eugine
14.02.2017
12:13:56
хз про пихать куда попало, а обсуждение здесь было что во фре есть настоящий асинк, а в линупсе он не настоящий)

выяснили что они там одинакого настоящие, но у линупса плохое апи

АЗАЗАЗАЗ ФРЯХА ВАН ЛАВ

Alexey
14.02.2017
12:15:08
make love not war

Zart
14.02.2017
12:25:28
http://pyparallel.org/ вотафак...

87776
14.02.2017
12:32:13
котики

у вас тут прям так уютно!

посоны

какие вопросы задают джуниор питон погромистам?

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