
Alex
07.02.2019
11:28:24

Tishka17
07.02.2019
11:29:36
А он может сигнал кинуть не одному процессу, а 10 сразу?

Cykooz
07.02.2019
11:30:11

Tishka17
07.02.2019
11:30:23
Вообще, с ним там суметь ещё надо скрестить. Не помню кейса, но там вроде на 100% все равно не решало

Google

Alex
07.02.2019
11:34:03

Terminator
07.02.2019
11:35:16
@linkolnpark будет жить. Поприветствуем!

Alex
07.02.2019
11:35:46

В.
07.02.2019
11:36:28
Можно ли с одним ядром ускорить процесс парсинга, запараллелив процессы?

Alex
07.02.2019
11:36:44

В.
07.02.2019
11:36:57
многопоточность?
или тоже нет?

Alex
07.02.2019
11:37:09
ты ведь понимашь разницу между вытесняющей многозадачностью и параллелизмом
видимо нет
и в логику тоже не умеешь

В.
07.02.2019
11:37:39
вытесняющая многозадачность поясни пожалуйста

Alex
07.02.2019
11:37:45
погугли пожалуйста

Google

В.
07.02.2019
11:38:34
это асинхронность?

Tishka17
07.02.2019
11:38:48

Alex
07.02.2019
11:40:16
Виталий ты с одним ядром ничего не распараллелишь, вот совсем. Параллелизм физически невозможен когда у тебя одно ядро.

В.
07.02.2019
11:40:18
у меня бот тупит, в общем когда один юзер запросил инфу - ему 3-4 секунды собирается инфа, а в это время другие команды стоят

Alex
07.02.2019
11:40:42
Ну так это же не совсем "парсинг", ты согласен?

Tishka17
07.02.2019
11:40:53
Так вопрос не про ускорение, а чтобы другим не мешать?

Alex
07.02.2019
11:41:00
И вопрос не про ускорение ага

В.
07.02.2019
11:41:18
да, ну сори за нубскую формулировку
нужно как-то локализовать его процесс

Alex
07.02.2019
11:41:40
Делай бота асинхронным, выноси парсинг в очередь и обрабатывай отдельным потоком.

В.
07.02.2019
11:42:00
вот, про потоки я и спрашивал
одного ядра для многопоточности достаточно?

Alex
07.02.2019
11:42:24

В.
07.02.2019
11:42:30
да, я понял

Tishka17
07.02.2019
11:42:43
Да. Но работать будут по очереди. Возвращаемся к Гуглу и вытесняющей многозадачности

В.
07.02.2019
11:43:15
сейчас будут разбираться

Tishka17
07.02.2019
11:44:02
Ну если у тебя реально cpu-bound задача и ты там в корутине много делаешь, то asyncio тебе не поможет

Alex
07.02.2019
11:45:03

Google

Tishka17
07.02.2019
11:45:19
Угу

В.
07.02.2019
11:45:34
Спасибо, пойду копать

Alex
07.02.2019
11:46:35

LighteR
07.02.2019
11:51:14

ShadoWalkeR
07.02.2019
11:52:06
Господа, в питоновском модуле redis надо закрывать коннект при выходе из функции? То есть ветка finally (портирую код с прототипа на руби) должна как то так выглядеть или можно забить? Сам питон встроен в сишное приложение, поэтому лучше перебдеть
def redis_store_duri(key, duri, lifetime = 3600):
try:
r = redis.Redis(host='localhost', port=6379, db=3)
if not r.exists(key):
r.setex(key, lifetime, duri)
else:
self.xwarn("Key " + key + " exists. Skip saving DURI:" + duri)
except Exception:
self.xerr("Cant store call connection in redis")
return -255
finally:
r.disconnect! if r.connected?

Jentry
07.02.2019
11:53:49

Rostyk
07.02.2019
11:54:05
Где юзают python в вебе?

Alex
07.02.2019
11:54:12

Denis
07.02.2019
11:54:34

Alex
07.02.2019
11:54:42

Rostyk
07.02.2019
11:54:58

Denis
07.02.2019
11:55:03

Alex
07.02.2019
11:55:05
php ничего не заменит, лучше пишите на php

LighteR
07.02.2019
11:55:51
почему-это вдруг? никто тебе не мешает запустить cpu-bound задачу в кастомном executor'е
например в ProcessPoolExecutor
loop.set_default_executor(executor)¶
Set executor as the default executor used by run_in_executor(). executor should be an instance of ThreadPoolExecutor.
Deprecated since version 3.7: Using an executor that is not an instance of ThreadPoolExecutor is deprecated and will trigger an error in Python 3.9.
executor must be an instance of concurrent.futures.ThreadPoolExecutor.
Я вот правда не уверен распространяется ли это на аргумент в run_in_executor. Если нет, то согласен с тобой

Tishka17
07.02.2019
11:56:09

Alex
07.02.2019
11:56:38
видимо запретили заменять дефолтный executor не ThreadPool чтобы не сломать другой код, который так же его использует.

Jentry
07.02.2019
11:57:22

LighteR
07.02.2019
11:57:44

Google

Alex
07.02.2019
11:58:12
а так-то да

LighteR
07.02.2019
11:58:47

Tishka17
07.02.2019
11:59:38

LighteR
07.02.2019
12:02:45

Николай
07.02.2019
12:07:02
подскажите пожалайсту. переход с win на linux. все поставил скопировал программу запускаю а мне пишет нет модуля (from app.app import armo) на это строку ругается

Alex
07.02.2019
12:07:39

Николай
07.02.2019
12:07:59
я так понимаю обращение не через точку?
/app/app.py

LighteR
07.02.2019
12:08:10

Alex
07.02.2019
12:08:18
я сползаю под кресло...
?

Николай
07.02.2019
12:08:52
ну первое что в голову всбрело. в винде норм же

pavel
07.02.2019
12:09:06
для линукса это известная проблема в питоне

Николай
07.02.2019
12:09:30
мг

Alex
07.02.2019
12:09:33

Николай
07.02.2019
12:09:36
и форматируется диск

Alex
07.02.2019
12:09:46
ты ведь должен знать что это уже давно не работает, правда?

pavel
07.02.2019
12:09:46
черт

Google

pavel
07.02.2019
12:09:48
не прокатило

Alex
07.02.2019
12:10:22
--no-preserve-root забыл.

Maxim robox
07.02.2019
12:10:26

Evilenzo
07.02.2019
12:10:31

pavel
07.02.2019
12:10:40
зануды

Alex
07.02.2019
12:10:53
Господа, что думаете по поводу микросервисов?