@ru_python

Страница 3845 из 9768
Nikolay
28.09.2017
14:16:33
но там, скорее всего, так же

в очередь я помещаю запросы приходящие на сервер по http
до сих пор не очень понятно, зачем, но ок

Dmitry
28.09.2017
14:17:28
в celery тебе об этом вообще думать не надо
я уж на низком уровне почти все сделал, но celery беру на вооружение для следующих проектов

Спасибо, все за ответы!

Google
in favor
28.09.2017
14:17:46
зачем celery? это всё можно в одном потоке

Nikolay
28.09.2017
14:18:09
зачем celery? это всё можно в одном потоке
он сказал, что у него задача такая. Какая именно - не уточнил

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

Dmitry
28.09.2017
14:19:29
да, задача такая как я ее описал, приходят запросы по http, каждый запрос помещается в очередь, которую слушают N количество процессов, и соответвенно обрабатывают эту очередь.

in favor
28.09.2017
14:20:15
почему бы не обрабатывать это одним потоком?

Dmitry
28.09.2017
14:20:48
после обработки каждый процессор кладет результат в выходную очередь, из которой один поток возращает ответ по http.

Роман
28.09.2017
14:21:23
оооо,дайте советов, что почитать по архитектуре

Dmitry
28.09.2017
14:21:31
почему бы не обрабатывать это одним потоком?
потому что запросов очень, очень много, на обработку каждого запроса уходит по 5 сек.

Роман
28.09.2017
14:21:42
очень надо )

Nikolay
28.09.2017
14:21:47
ну то есть как

Dmitry
28.09.2017
14:22:06
тогда тем более решение очень хреновое
какой может быть ваш вариант?

Google
Роман
28.09.2017
14:22:23
Nikolay
28.09.2017
14:22:36
какой может быть ваш вариант?
нужен быстрый асинхронный фронтенд, который принимает запросы и возвращает клиенту айдишник таски

Dmitry
28.09.2017
14:22:40
ТМО знаешь?)
нет :/ но уже жалею об этом

Nikolay
28.09.2017
14:22:56
как эти таски обрабатываются на бэкенде - дело десятое, может, и очередь с воркерами

но по окончании обработки таске выставляется статус ready, клиенты ее поллят по айдишнику и забирают результат, когда он готов

Dmitry
28.09.2017
14:23:44
как эти таски обрабатываются на бэкенде - дело десятое, может, и очередь с воркерами
уже, но фрон ждет ответ на запрос (в среднем до 1 минуты готов ждать)

Nikolay
28.09.2017
14:24:10
уже, но фрон ждет ответ на запрос (в среднем до 1 минуты готов ждать)
ждет в смысле "занимает соединение" или ждет в смысле "поллит урл периодически"?

Dmitry
28.09.2017
14:24:16
Nikolay
28.09.2017
14:24:19
или там вебсокеты?

Dmitry
28.09.2017
14:24:33
или там вебсокеты?
да, веб сокеты.

Nikolay
28.09.2017
14:24:36
да, вариант хорош. но мне не позволят так сделать.
в каком смысле "не позволят"? это ты им объясни, как надо делать

да, веб сокеты.
а, ну тогда, наверное, немного проще должно быть

Dmitry
28.09.2017
14:24:56
ТМО знаешь?)
так что такое ТМО?

Роман
28.09.2017
14:25:39
теория массового обслуживания )

как раз прям каноничная задача :D

Nikolay
28.09.2017
14:26:00
а еще такие штуки хорошо пишутся на го, если минимум бизнес-логики

Nikolay
28.09.2017
14:26:25
и там вся эта катавасия с очередями и процессами вообще будет не нужна

Google
Nikolay
28.09.2017
14:27:22
как раз логики много
на чистом питоне написанной?

Dmitry
28.09.2017
14:27:28
ага

Nikolay
28.09.2017
14:27:33
уверен, что эту логику нельзя никак ускорить?

ага
звучит хреново

Nikolay
28.09.2017
14:27:55
точно нет
если на чистом питоне - то точно да

например, сишные либы использовать

Dmitry
28.09.2017
14:28:12
только параллелить, единственный путь

dmks
28.09.2017
14:28:16
О_О

Nikolay
28.09.2017
14:28:21
или, если там работа с базой - то максимум вещей на уровне базы делать

Dmitry
28.09.2017
14:28:26
Nikolay
28.09.2017
14:28:30
Nikolay
28.09.2017
14:28:46
этого не умею
тогда что ж у тебя там за логика такая?

надо в первую очередь пытаться оптимизировать самое узкое место

Dmitry
28.09.2017
14:29:08
это утверждение неверно
корпоративный код, не могу это обсуждать.

Nikolay
28.09.2017
14:29:09
если логика медленно работает - надо оптимизировать ее, а не сервер

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

в общем, попробуй concurrent.ProcessPoolExecutor, но что-то мне подсказывает, что ничего тебе это не даст

dmks
28.09.2017
14:32:18
Очень странный диалог, нахрена делать свой целери?

Google
dmks
28.09.2017
14:32:39
Ну ладно, наслаждайтесь, я просто мимокрокодил

Nikolay
28.09.2017
14:32:44
Очень странный диалог, нахрена делать свой целери?
человек уверен, что отца русской демократии спасет только пул процессов

но если учесть, что это http-сервер, то вся затея выглядит довольно сомнительно

Роман
28.09.2017
14:33:15
а почему вы так пул процессов хейтите?)

почему так плохо это решение то?

Nikolay
28.09.2017
14:33:42
Роман
28.09.2017
14:33:58
а селлери решение?

dmks
28.09.2017
14:34:04
почему так плохо это решение то?
Потому что ты вместо готового решения сделанного ну вот прям под таск пишешь свою хрень из говна и палок

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

а клиент будет висеть и ждать ответа на сокете

Admin
ERROR: S client not available

Роман
28.09.2017
14:34:21
5с же, не?

и проблема была в очередях, т.к. одни процесс был

Nikolay
28.09.2017
14:35:08
то есть, по сути, ничего не изменится. Если он таким способом хочет обойти GIL - то ок, но тогда сразу же логичный вопрос, что это за наркоманская логика такая, которую написали на чистом питоне и она работает пять минут

Роман
28.09.2017
14:35:10
или каждый понял что хотел?)

dmks
28.09.2017
14:35:31
Наслаждайтесь, я бы взял целери

Nikolay
28.09.2017
14:36:31
и проблема была в очередях, т.к. одни процесс был
проблема, имхо, в том, что логика пять минут работает на запрос

Google
Nikolay
28.09.2017
14:36:53
если бы это конвертация видео была или что-то такое - я бы понял, но он говорит, она на чистом питоне...

ну некому на си писать если
так причем тут си, есть же куча питоновых оберток для сишных либ, которые отпускают gil

Роман
28.09.2017
14:37:31
5 сек запрос

ну логику мы все равно не узнаем

Nikolay
28.09.2017
14:37:58
5 сек запрос
долго, надо логику улучшать

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

Dmitry
28.09.2017
14:47:01
Впорос про web сокеты, если он открыт и работает, то невозожно одновременно посылать в него сообщение от клиента к серверу и от сервера к клиенты, так?

Глеб
28.09.2017
14:47:23
почему?

и что значит "одновременно"?

Dmitry
28.09.2017
14:47:31
т.е. веб-сокет работает в симплексном режим?

и что значит "одновременно"?
в один и тот же момент времени, это очевидно!

Глеб
28.09.2017
14:48:29
типа и сервер и клиент в течении нескольких едениц времени пишут туда большой файл?

Dmitry
28.09.2017
14:48:51
допустим да

сокет это провод, по нему сигналы могут идти в обе стороны, но не одновременно.

Глеб
28.09.2017
14:49:56
не претендую на истину в последней инстанции, но, кажется, сам процесс возможен, только результат придет по очереди

а стриминг, кажется, не поддерживается

https://github.com/maxogden/websocket-stream

во

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

подозреваю, что все-равно шлют данные пачками

Dmitry
28.09.2017
14:53:09
В питоне из коробке как сделано ?

Nikolay
28.09.2017
14:53:28
в питоне из коробки вебсокетов нет вообще

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