@ru_python

Страница 2028 из 9768
Игорь
12.01.2017
17:20:57
все то же что и в PyCharm, но мне нужна поддержа ruby вдобавок

Nikolay
12.01.2017
17:21:01
у меня просто второй язык - скала, я для него idea использую, разумеется

Nikolay
12.01.2017
17:21:24
спасибо, может, как-нибудь попробую

Google
Игорь
12.01.2017
17:22:05
он вообще говоря по умолчанию стоит

Nikolay
12.01.2017
17:22:48
Не благодарите

Nikolay
12.01.2017
17:23:27
у меня проблема с вимоплагинами в том, что их вечно нет на удаленных системах :)

here1am
12.01.2017
17:23:38
само собой не будем. за что тут благодарить, если это хрен скопируешь?

Nikolay
12.01.2017
17:25:07
а пайчарм на них конечно же есть
там выше говорят, что он умеет уже в удаленную отладку без костылей

Игорь
12.01.2017
17:25:37
оно работает хотя бы в 2 раза медленнее ИДЕИ, не в 10?

here1am
12.01.2017
17:26:04
вим тоже вроде умеет

Nikolay
12.01.2017
17:26:16
Игорь
12.01.2017
17:26:49
Nikolay
12.01.2017
17:28:12
ну Атома
Атом - это вообще то еще поделие

Саблайм лучше, если нужен гуй

Игорь
12.01.2017
17:29:30
я одно время имел их всех — VSC/Sublime/Atom и еще штуки три оставил Атом, но они имхо совершенно одинаковы

Google
Nikolay
12.01.2017
17:32:48
он просто раньше появился и чуть более развит, имхо

Nikolay
12.01.2017
17:35:57
Yan?
12.01.2017
18:39:01
Мужики, вопрос. Пишу http качалку с заданной скоростью закачки. Есть размер файла, есть скорость. Размер/скорость = время. И как реализовать так, чтобы именно за это время скачалось? Мысли крутятся вокруг какого-то буфера

Yan?
12.01.2017
18:40:40
Ага

Bogdan
12.01.2017
18:41:38
ты уже на питоне пишешь?

Игорь
12.01.2017
18:41:50
Ага
шейпингом урежь его до нужной скорость для данного класса, в приложении выставляй класс трафика

Yan?
12.01.2017
18:42:28
ты уже на питоне пишешь?
А ты тоже? У меня просто в городе на джависта берут только фултайм, а универ все такое

Игорь
12.01.2017
18:43:10
управление трафиком — это задача в лучшем случае ядра ОС

причем ОС отдающей трафик, а не принимающей

Yan?
12.01.2017
18:43:54
управление трафиком — это задача в лучшем случае ядра ОС
Мне предлагали token bucket реализовать, но я не смог связать с закачкой в wb режиме

Игорь
12.01.2017
18:45:58
Мне предлагали token bucket реализовать, но я не смог связать с закачкой в wb режиме
в принципе да, но на стороне приложения это делать — удалять гланды через пятку

Denis
12.01.2017
18:47:24
Должны же быть библиотеки, которые это умеют

Игорь
12.01.2017
18:47:41
Yan?
12.01.2017
18:48:01
def download_with_buffer(link, destination): file_name = link.split('/')[-1] print("filename: " + file_name) destination = os.path.join(destination, file_name) with open(destination, "wb") as file: #get request response = get(link) #write to file file.write(response.content) то есть пока все это качает, но вот ограничить

Google
Denis
12.01.2017
18:52:31
http://stackoverflow.com/questions/3488616/bandwidth-throttling-in-python

Nikolay
12.01.2017
18:52:45
просто берешь размер файла и по времени делишь на куски, отправляя запросы руками

как вариант

Yan?
12.01.2017
18:53:41
http://stackoverflow.com/questions/3488616/bandwidth-throttling-in-python
ахуенные ответы. 1 говорит на тебе либру и там обертку сделай, второй говорит на тебе bucket алгоритм. или другую либу

просто берешь размер файла и по времени делишь на куски, отправляя запросы руками
что-то подобное нашел http://stackoverflow.com/questions/13573146/how-to-perform-time-limited-response-download-with-python-requests

Nikolay
12.01.2017
18:54:20
тогда уж https://pypi.python.org/pypi/asyncio-throttler/0.1.0

или https://aiothrottle.readthedocs.io/en/latest/

но, опять же, у тебя вместо eventlet уже есть asyncio

Nikolay
12.01.2017
18:57:57
этот?
asyncio - встроенная в питон либа

Yan?
12.01.2017
18:58:02
понял

Nikolay
12.01.2017
18:58:02
в ней есть таймауты и все такое

aiohttp - либа для делания реквестов в ней, вместо requests

под питоном я имею в виду, разумеется, питон 3.4+

Yan?
12.01.2017
18:58:49
Ну я на нем и пишу

2 умирает

Nikolay
12.01.2017
19:01:29
я не знаю, есть ли доступ, но вот моя статья с основами asyncio, буквально вчера вышла - https://xakep.ru/2017/01/11/python-3-asyncio/

Google
Yan?
12.01.2017
19:01:57
Ого

Игорь
12.01.2017
19:01:59
2 умирает
мы на 2.7 только полгода назад мигрировали

Yan?
12.01.2017
19:02:02
Спасибо большое :)

Nikolay
12.01.2017
19:02:38
Игорь
12.01.2017
19:03:00
Nikolay
12.01.2017
19:03:00
2.7 уже все, юзайте six понемногу и перетаскивайте на 3.5

его можно поставить параллельно и ничего не будет

Игорь
12.01.2017
19:03:28
ну почему "уже"? до 2020 ведь поддержка

Nikolay
12.01.2017
19:03:47
ну почему "уже"? до 2020 ведь поддержка
это по просьбам ноющих. На деле он уже умер по фичам и изнутри

Admin
ERROR: S client not available

Игорь
12.01.2017
19:10:59
Не надо так делать
Окей, не шейпингом а ingress policy

Roman
12.01.2017
19:10:59
Игорь
12.01.2017
19:11:08
Надо ТОЛЬКО так

Любые иные способы должны иметь веское обоснование

Eldar
12.01.2017
19:11:36
def download_with_buffer(link, destination): file_name = link.split('/')[-1] print("filename: " + file_name) destination = os.path.join(destination, file_name) with open(destination, "wb") as file: #get request response = get(link) #write to file file.write(response.content) то есть пока все это качает, но вот ограничить
По идее можно вручную через дескрипторы сокетов. И из них читаешь с паузами. Сначала скорость будет максимальной для заполнения буфера, а по мере заполнения буфера можно будет с нужной скоростью читать из него

Yan?
12.01.2017
19:11:58
Вы меня запутали, кому верить то?

Google
Eldar
12.01.2017
19:13:05
Зачем так сложно?
А что там сложного то? Дескрипторы юзать

Roman
12.01.2017
19:14:13
А что там сложного то? Дескрипторы юзать
И вмазаться в ручной разбор gzip/deflate/chunked и сверху еще менеджить keep-alive?

Roman
12.01.2017
19:16:04
Можно просто взять тот же requests, использовать stream=True и читать порциями в определенный интервал времени

Условно, каждые 50ms

И считать прогресс по байтам и по времени

Условно, по байтам мы скачали 3%, а по времени 1%

Это значит, что размер чанка надо уменьшить в 3 раза

И так каждые 50ms

Это очень просто и не кушает cpu

Yan?
12.01.2017
19:19:08
Отлично, спасибо большое :)

Eldar
12.01.2017
19:19:11
И вмазаться в ручной разбор gzip/deflate/chunked и сверху еще менеджить keep-alive?
хм, а разве тут так важно обрабатывать заголовки?

Roman
12.01.2017
19:19:44
хм, а разве тут так важно обрабатывать заголовки?
Тебе сервер может слать тельце в gzip

Если нужна просто фиксированная скорость - еще проще

Игорь
12.01.2017
19:21:38
Любые иные способы должны иметь веское обоснование
собственно оправдание может быть только одно

вы не имеете прав root/Администратор и не имеете контакта с теми, кто имеет такое право

не такая уж частая ситуация, не находите?

Eldar
12.01.2017
19:23:36
Тебе сервер может слать тельце в gzip
в принципе есть способ когда это не важно, но это уже будет игра с портами) признаю, что мой способ не очень простой

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