
Dmitry
14.02.2017
09:34:35

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
Ну если неудачно так форкнуть процесс после создания конекта, то может случится какая то бяка ?

Vladimir
14.02.2017
09:37:31
о том и речь.

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.

Zart
14.02.2017
10:32:17

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
а вообще - файловое ио не может быть неблокирующим, поэтому нужен тред пул, но хз про тред пул во всех осях

Zart
14.02.2017
10:35:49

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
Там тоже говна наберется, просто он не так известен

Roman
14.02.2017
11:05:11

Dmitry
14.02.2017
11:06:47

Roman
14.02.2017
11:07:05

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

Roman
14.02.2017
11:07:26

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

Roman
14.02.2017
11:08:03
оно?

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

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

Eugine
14.02.2017
12:00:51

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/ исходник

Roman
14.02.2017
12:09:51

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
котики
у вас тут прям так уютно!
посоны
какие вопросы задают джуниор питон погромистам?