
Alex
14.03.2019
06:10:46
Сложно понять

Tishka17
14.03.2019
06:10:56

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:
Так как до этой строчки оператор принт работает, а уже после неё нет

Cykooz
14.03.2019
06:16:01

Tishka17
14.03.2019
06:17:27

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:
,
?

Worlak
14.03.2019
06:28:26

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, арбитражиш ? ;)

Tishka17
14.03.2019
06:33:42

Alex
14.03.2019
06:35:24
Как это сделать ?
уже путаница пошл

Tishka17
14.03.2019
06:36:10
Вообще, похоже сессию надо один раз создать
И потом везде юзать

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

Tishka17
14.03.2019
06:40:48

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
наверно
хотя хз в каком потоке луп работает

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

Admin
ERROR: S client not available

Tishka17
14.03.2019
06:49:16

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
я вот так и не написал ни одного проекта на нем

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
так как нужно все это превести во временные ряды