@ru_python

Страница 5769 из 9768
Stanislav
28.06.2018
09:24:28
61к в чем?
В хеллоуворде

Nikolay
28.06.2018
09:24:37
По скорости? Не это уже вопрос, кто обрабатывает таски, а не через что их передавать
ну как, если ты каждую мелкую херню пропускаешь через сотню слоев питоноабстракции - это оверхед уже

Roman
28.06.2018
09:25:01
Хм, 61к в норм же. Хотя парсинг формы вообще пиздец
Requests/sec: 213668.57 - это хелловорлд на go в 1 поток.

Google
Stanislav
28.06.2018
09:25:31
Requests/sec: 213668.57 - это хелловорлд на go в 1 поток.
Ору конечно, может тоже го изучать

Roman
28.06.2018
09:25:49
логика вся будет под таймаутом, а "супервизор" - над
я не только про таймауты, а про вообще любые ошибки внутри корутины

Nikolay
28.06.2018
09:26:23
я не только про таймауты, а про вообще любые ошибки внутри корутины
ну так они, опять же, точно так же будут на уровень выше обрабатываться

Roman
28.06.2018
09:27:02
потому что по большому счёту тебе неважно почему случилась ошибка, т.к. единственный способ recovery - это умереть и попробовать снова позже.

Nikolay
28.06.2018
09:27:03
while True: try: await asyncio.timeout(my_business_logic(), 10) break except OloloException: logger.error("HOLY SHIT") await asyncio.sleep(1)

Nikolay
28.06.2018
09:28:10
Roman
28.06.2018
09:29:36
это как?
смотри. у тебя внутри корутины код выбрасывает MyFuckingSweetException, который ты не ловишь. ну и дальше всё поплыло.

Bogdan (SirEdvin)
28.06.2018
09:30:39
А в чем проблема? В обычном коде так же, нет?

Nikolay
28.06.2018
09:30:42
смотри. у тебя внутри корутины код выбрасывает MyFuckingSweetException, который ты не ловишь. ну и дальше всё поплыло.
ты тоже будешь всерьез делать вид, что у тебя никогда не бывает except Exception в критичных местах?

Roman
28.06.2018
09:31:58
Nikolay
28.06.2018
09:32:17
было, и это вообще-то тоже источник угарных багов.
ну, тут надо на конкретный случай смотреть

и не жалеть логгинга

Google
Stanislav
28.06.2018
09:33:32
Вообще задача интересная

Nikolay
28.06.2018
09:33:57
и таск - это уже except Exception )
/me помнит времена, когда в стандартной либе была масса эксепшенов, не наследованных от Exception...

Stanislav
28.06.2018
09:35:04
/me

Roman
28.06.2018
09:35:29
А в чем проблема? В обычном коде так же, нет?
корутины - не совсем обычный код. как пример, сделай raise StopIteration

Stanislav
28.06.2018
09:35:44
Рома, а ты же писал на pypy, там что по скорости?

Nikolay
28.06.2018
09:35:53
низя так

Roman
28.06.2018
09:37:30
Вообще задача интересная
какая? это стандартный подход к написанию сетевых сервисов: таймауты на всё, лимиты на всё, retry по экспоненте если не смогли с фиксированным числом попыток.

Roman
28.06.2018
09:38:00
ну эт выстрел в ногу же, демон
да ну? в корутине ничего не случится )

Stanislav
28.06.2018
09:38:09
С правильным отловом ошибок

Roman
28.06.2018
09:38:21
Впилить нормальный ретрай в асинкио приложение
геморрой это. правильно сделано - это trio.

Nikolay
28.06.2018
09:38:57
да ну? в корутине ничего не случится )
так-то да, но вообще за явный raise StopIteration за реееедким исключением на кодревью бьют клавиатурой

Roman
28.06.2018
09:39:15
там ты когда явно корутину пытаешься убить, ей сначала приходит нотификация что тебя сейчас будут убивать и она сама может корректно завершиться.

Впилить нормальный ретрай в асинкио приложение
а так, это сложно. в gevent есть офигительный Greenlet.link_exception, позволяющий делать супервизоры на раз-два.

Рома, а ты же писал на pypy, там что по скорости?
по-разному. обычно раз в 7-10 быстрее cpython

Zhenja
28.06.2018
09:43:40
От самодельных железок.
А можно полюбопытствовать что за железка и драйвер железки из себя что представляет?

Lulz
28.06.2018
09:45:59
по-разному. обычно раз в 7-10 быстрее cpython
pypy под 3.6 делают или забили?

Google
Nikolay
28.06.2018
09:46:15
pypy под 3.6 делают или забили?
зарелизили ж уже вроде, не?

Lulz
28.06.2018
09:46:21
Nikolay
28.06.2018
09:46:38
а не

вру

Lulz
28.06.2018
09:46:52
3.5.3

ууу еще не скоро под 3.6

https://www.opennet.ru/opennews/art.shtml?num=48500

Alexander
28.06.2018
09:49:37
А можно полюбопытствовать что за железка и драйвер железки из себя что представляет?
Приёмо передающее устройство от радиорелейной линии. Связь с ней через ком порт (usb<->com, есть с набортным usb, они прикидываются виртуальным компортом). Есть вариант подключения через другой девайс с которым связь по UDP. Т.е. есть аля стек протоколов

Alexander
28.06.2018
09:52:11
Nikolay
28.06.2018
09:54:52
кстати, я правильно понимаю, что нет смысла использовать asyncio для работы с usb?

потому что он, сцуко, serial

Alexander
28.06.2018
09:55:04
А, подключено через микроконтроллер или какой-то мост usb-интерфейс?
Из микроконтроллера торчит компорт и далее переходник usb<->com или usb с виртуальным компортом.

Aragaer
28.06.2018
09:55:08
почему?

кто мешает работать с serial в asyncio?

Nikolay
28.06.2018
09:55:52
кто мешает работать с serial в asyncio?
кто мешает работать с аппаратно синхронным выводом через библиотеку асинхронного?

Nikolay
28.06.2018
09:56:06
формально никто, но зачем?

Google
Nikolay
28.06.2018
09:56:09
впрочем, могу быть неправ

Alexander
28.06.2018
09:56:13
Zhenja
28.06.2018
09:56:55
А драйвер как подключали? Или использовали его как компорт и работали с компортом?

Zhenja
28.06.2018
09:58:56
Понял, спасибо) А то они на сайте вроде писали, что можно драйвера их как модуль питона использовать, вот это очень интересно было бы с 2232, например

Mikhail
28.06.2018
09:59:40
com2tcp ?

Nikolay
28.06.2018
10:00:18
омг

Zhenja
28.06.2018
10:00:29
com2tcp ?
Не то)

Alexander
28.06.2018
10:01:10
Понял, спасибо) А то они на сайте вроде писали, что можно драйвера их как модуль питона использовать, вот это очень интересно было бы с 2232, например
Я стараюсь максимально дистанцироваться от подобных заморочек. Поставим в следующей версии другой чип, и опять переделывать. Фтопку

Alexander
28.06.2018
10:02:57
2232 позволят spi, i2c и др интерфейсы задействовать
Такое тоже есть. Ftdi модулем делали. Жопа с ним в том что на линуксе он не работает.

Zhenja
28.06.2018
10:03:07
Просто есть свои идеи для АПК, но питон первый язык для изучения сейчас и от железа отстранился в силу низкой оплаты)

Zhenja
28.06.2018
10:03:35
Вообще не заводился?

Для чего?
Измерения для ОУ

Dmitriy
28.06.2018
10:04:20
Помогите, пожалуйста. Установил через pip модуль selenium, но при попытке подключить библиотеку"from selenium import webdriver" ругается на модулю webdriver, будто его нет

Alexander
28.06.2018
10:04:58
Вообще не заводился?
Он заточен на виндовый драйвер. В линуксе он как-то по другому устроен. Но тоже можно поднять. Нужды небыло вот и не поднимал.

Google
Alexander
28.06.2018
10:09:56
Если есть возможность поставить микроконтроллер с настоящими интерфесами SPI, I2C и т.д., то так и надо сделать. Через одну ftdi медленно и заморочено.

Zhenja
28.06.2018
10:13:11
Если есть возможность поставить микроконтроллер с настоящими интерфесами SPI, I2C и т.д., то так и надо сделать. Через одну ftdi медленно и заморочено.
Микроконтроллерами не владею ( Через лабвью делали эксперимент, работало достаточно шустро, нам хватало. Вообще быстродействие не самую главную роль играет, динамика не оцифровывается, всю динамику перевели в статику

Да
А какой питон пользуешь? Если второй, то новый селениум не заведется скорее всего. Переставить модуль пробовал? И Пип обновить?

Dmitriy
28.06.2018
10:16:21
Питон 3.6. Pip обновлен. Устанавливаю через pip3.6

Dmitriy
28.06.2018
10:19:35
Да

Alexander
28.06.2018
10:20:40
Микроконтроллерами не владею ( Через лабвью делали эксперимент, работало достаточно шустро, нам хватало. Вообще быстродействие не самую главную роль играет, динамика не оцифровывается, всю динамику перевели в статику
У нас реализация spi и i2c занимает три файла <300 строк в каждом. Использовать предоставляемый ftdi-ной либой i2c, не получилось, какой-то он слишком кривой. Сделали soft i2c прямым маханием ftdi-ными ногами.

Alexander
28.06.2018
10:21:54
Махать ногами неприятно:)
а придёться. i2c вообще мало где правильно реализован.

Dmitriy
28.06.2018
10:22:35
Через project interpreter добавить если?
Попробую. Интересно то, что просто модуль selenium "import selenium" - работает корректно

Zhenja
28.06.2018
10:22:55
а придёться. i2c вообще мало где правильно реализован.
Вот через 2232 работал прекрасно, устанавливали он едим работы, засылали байты и все хорошо было

Zhenja
28.06.2018
10:24:10
Да, не)

Конфигурировался i2c прекрасно

Alexander
28.06.2018
10:28:51
ну хз, помню у коллеги возникли проблемы, помогал реализовывать софтовый

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