@ru_python

Страница 8369 из 9768
Alex
14.03.2019
06:10:46
Сложно понять

Tishka17
14.03.2019
06:10:56
Конкретнее, что и где убрать ?
Просто content = await fetch...

Alex
14.03.2019
06:12:29
content = await fetch_page(session, 'https://www.example.com/test')

результат тот же Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x0000000003C2A5F8>

Google
Alex
14.03.2019
06:14:37
Я так понял ошибка происходит в этом месте : with aiohttp.ClientSession(loop=loop) as session:

Так как до этой строчки оператор принт работает, а уже после неё нет

Alex
14.03.2019
06:17:27
async with перестало работать вообще

Tishka17
14.03.2019
06:17:47
Перестало? Как проявляется?

Alex
14.03.2019
06:18:10
Ни ошибок, ни принта с контентом

Tishka17
14.03.2019
06:20:30
Попробуй убрать явную передачу лупа в сессию

Хотя наверно без разницы

Ни ошибок, ни принта с контентом
А сайт вообще доступен?

Alex
14.03.2019
06:21:04
да

import websocket import requests import time import asyncio import aiohttp async def fetch_page(session, url): with aiohttp.Timeout(10): async with session.get(url) as response: assert response.status == 200 return await response.read() def on_message(ws, message): start_time = time.time() print("WSS: ",ws) #async def go(): #task2 = asyncio.create_task(https_run()) #await asyncio.gather(task2) #asyncio.run(go()) async def go_https(): loop = asyncio.get_event_loop() #print("https ",loop) async with aiohttp.ClientSession(loop=loop) as session: content = await fetch_page(session, 'https://www.example.com/test') print("https ",content) loop.close() #session.close() #go_https() asyncio.run(go_https()) print("--- %s seconds ---" % (time.time() - start_time)) def on_error(ws, error): print(error) def on_close(ws): print("### closed ###") def on_open(ws): print("### connected ###") if name == "main": ws = websocket.WebSocketApp("wss://www.example.com/test", on_message = on_message, on_error = on_error, on_close = on_close) ws.on_open = on_open ws.run_forever()

Tishka17
14.03.2019
06:24:05
Зачем loop.close?

Google
Alex
14.03.2019
06:24:30
Оно не влияет что с ним что без

Tishka17
14.03.2019
06:24:49
Убери из go_http вообще работу с лупом

Alex
14.03.2019
06:28:02
Закоментировал #loop = asyncio.get_event_loop()

а тут как ? :

async with aiohttp.ClientSession(loop=loop) as session:

,

?

Tishka17
14.03.2019
06:29:29
Worlak
14.03.2019
06:30:11
Alex
14.03.2019
06:31:13
async def go_https(): #loop = asyncio.get_event_loop() #print("https ",loop) #async with aiohttp.ClientSession(loop=loop) as session: content = await fetch_page(session, 'https://www.binance.com/api/v1/depth?symbol=BTCUSDT&limit=1000') print("https ",content) #loop.close() #session.close() #go_https()

Worlak
14.03.2019
06:31:18
А кошельков около тысячи. Когда было меньше 500 или до 100 все ещё хоть куда-то шло и работало

Alex
14.03.2019
06:31:39
session то пустая ?

Worlak2, арбитражиш ? ;)

Alex
14.03.2019
06:35:24
Как это сделать ?

уже путаница пошл

Tishka17
14.03.2019
06:36:10
Как это сделать ?
https://docs.aiohttp.org/en/stable/client_reference.html как тут

Вообще, похоже сессию надо один раз создать

И потом везде юзать

Google
Student
14.03.2019
06:37:30
Што ты там на андройде отлаживаешь

А через что?

Tishka17
14.03.2019
06:38:09
Student
14.03.2019
06:38:43
Pydroid
Почему именно это? Другое пробовал што?

Tishka17
14.03.2019
06:39:04
Хз, он работает

что-то другое пробовал - криво как-то

Xt6n2M90
14.03.2019
06:40:25
Ребята всем привет. как это понять: re.findall(r"((?:\d{3}|\(\d{3}\))?(?:\s|-|\.)?\d{3}(?:\s|-|\.)\d{4})",s) он ищет (произвольный знак) + три цифры + три цифры .... вообще не понимаю

Student
14.03.2019
06:40:31
Xt6n2M90
14.03.2019
06:41:03
не серьезно

Alex
14.03.2019
06:43:14
Конструкция завелась

Alex
14.03.2019
06:43:16
async def fetch(client): async with client.get('https://www.binance.com/api/v1/depth?symbol=BTCUSDT&limit=1000') as resp: assert resp.status == 200 return await resp.text() def on_message(ws, message): start_time = time.time() print("WSS: ",ws) async def go_https(): async with aiohttp.ClientSession() as client: html = await fetch(client) print("HTTPS: ") asyncio.run(go_https())

Но

WSS: <websocket._app.WebSocketApp object at 0x00000000024FBF28> HTTPS: --- 0.40702342987060547 seconds ---

Tishka17
14.03.2019
06:43:50
а html?

Alex
14.03.2019
06:44:04
Выполняется оно за 0,44 секунды ровно так же как и в линейном режиме!

GamiD
14.03.2019
06:44:20
Всем привет есть кто кодит в c++ или c#

Alex
14.03.2019
06:44:28
html переменная с содержимым

все с ней впорядке

Google
Alex
14.03.2019
06:45:13
Код выполняется так же долго как тупо через реквестс делать

я в шоке столько ебли и результат 0

Tishka17
14.03.2019
06:46:05
Выполняется оно за 0,44 секунды ровно так же как и в линейном режиме!
разница в том, что http у тебя пишется теперь независимо от работы вебсокета

наверно

хотя хз в каком потоке луп работает

Cykooz
14.03.2019
06:48:09
я в шоке столько ебли и результат 0
А чего ты ожидал с такой писаниной? Ты в синхронной функции on_message() запускаешь луп и ждёшь пока выполнится один HTTP запрос, после чего вырубаешь луп и выходишь из on_message(). В каком месте тут должно стать быстрее, где тут параллельность?

Tishka17
14.03.2019
06:48:31
надо асинхзронные вебсокеты взять

Worlak
14.03.2019
06:48:56
Worlak2, арбитражиш ? ;)
Нет, слежу за изменением балансов, чтоб уведомить клиента

Admin
ERROR: S client not available

Alex
14.03.2019
06:49:58
Я думал: что в синхронной функции аснхронная часть будет не давать задержку, а отдавать данные по их готовности

Tishka17
14.03.2019
06:50:26
эм, если бы у тебя асинхронный код был в другом потоке - да

давай уже все сделай асинхронным

осталось чуть чуть

Alex
14.03.2019
06:51:00
щя буду делать

отступать некуда

Я познакомился с питоном неделю назад, и вот что приходится программить .... я так понял асинхронность это что то не вероятное

Как в книжках учать : давайте прибавим давайте отнимим, вот цикл ... и пиздец, а что то дельное в книгах не пишут. мудачьё.

?? Eugene
14.03.2019
06:54:31
ты не те книги читаешь)

Alex
14.03.2019
06:54:49
Может :)

Google
Provotok [Воркаю]
14.03.2019
06:54:54
(=

Tishka17
14.03.2019
06:56:19
Я познакомился с питоном неделю назад, и вот что приходится программить .... я так понял асинхронность это что то не вероятное
asyncio - это кооперативная многозадачность всего лишь. В отличие от тредов, где вытесняющая

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

Alex
14.03.2019
06:56:57
ну а тут задача чтобы биржа не сбрасывала коннект

я вообще экономикой занимаюсь :)

Апроксимизации нейронные сети

Artem
14.03.2019
06:58:11
Почему на всех книгах по программированию *****тые картинки?

Provotok [Воркаю]
14.03.2019
06:58:14
Alex
14.03.2019
06:58:26
Да

Provotok [Воркаю]
14.03.2019
06:58:30
Почему на всех книгах по программированию *****тые картинки?
Потому что это книги по программированию а не рисованию

Artem
14.03.2019
06:58:59
Потому что это книги по программированию а не рисованию
типо чем картинка хуже, тем и хуже язык

Provotok [Воркаю]
14.03.2019
06:59:00
Да
А зачем тебе asyncio? Ты же можешь делать это посредством исключений.

Язык нельзя сравнивать

Это инструмент

Octavian
14.03.2019
06:59:29
Кто ищет, тот всегда найдет... У вас все библиотеки мира в гугле...

Alex
14.03.2019
06:59:31
Нужно собирать воедино что отдаёт биржа в реальном времени

Provotok [Воркаю]
14.03.2019
06:59:35
Типо "ява гомно, схх круть!"

Alex
14.03.2019
06:59:48
так как нужно все это превести во временные ряды

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