@rudepython

Страница 312 из 1719
Stanislav
06.04.2017
05:56:43
Марк
06.04.2017
05:56:53
Ага

Или в апаче аналогичная срань

Dmitry
06.04.2017
06:02:25
У меня стопицот раз такое и было.

Google
Dmitry
06.04.2017
06:02:43
Не считая плавных переездов с одного сервера на другой.

Magomed
06.04.2017
07:49:08
В нжинксе?
На digital ocean есть статья про это, очень подробная . Nginx+gunicorn+Django

Eugine
06.04.2017
09:05:02
Опять джанга ни к месту?

Alexey
06.04.2017
09:05:23
Да не, это чисто отправили мануал почитать

Там хоть фласк, хоть хуяск.

Magomed
06.04.2017
09:05:37
Eugine
06.04.2017
09:06:48
Пока я спал - было намного проще не жить..

Марк
06.04.2017
09:37:21
Народ, простите меня тупенького, но пока реально не вьезжаю, как подружить несколько классов в asyncio

Вот есть классический пример сервера и есть классический пример клиента. Как это запихнуть в луп?

luchezar
06.04.2017
09:39:12
сервер в лупе, клиент в лупе, велосипед в лупе и все в лупе, и ты в аду

Марк
06.04.2017
09:40:00
Ну а серьезно

хуячится run_forever(), в который можно заткнуть только один метод/класс. А еще есть какой-нибудь вебсокетовский сервер_креет.

luchezar
06.04.2017
09:44:12
ну сервак в одном run_forever например, клиент в другом

Google
luchezar
06.04.2017
09:44:42
или в одном процессе?

Марк
06.04.2017
09:45:43
Пжди, допустим, у меня есть сервак. Он там чет мутит. И когда данные пришли, мне нужно замутить коннект по вебсокетам, к примеру. Я сколько не гуглил, нихуя не нашел, как подружить эти два примера в одном приложении

luchezar
06.04.2017
09:48:03
а aiohttp не помогает?

Марк
06.04.2017
09:49:00
Не в aiohttp дело. Я не понимаю, че делать, если по примерам у клиента должен быть свой луп и у сервера.

luchezar
06.04.2017
09:51:18
че делать с чем? у тебя сервак пока идет чтение, может обработать асинхронно много реквестов за раз в своем лупе

то же самое на клиентской стороне

или в чем вопрос то, не доезжаю

Марк
06.04.2017
09:56:14
Блядь

ВОт есть у тебя вервер на вебсокетах

В этот сраный луп в калбеке залетает набор данных

Но если ты хуячишь какой-нибудь клиент, который требует тоже луп и через этот луп залетают тоже данные, то непонятно, как их соединить вместе

Zart
06.04.2017
10:01:02
луп общий

Eugine
06.04.2017
10:01:48
Один же луп. Просто вешается ивент на то, что сокет стал ридабл

Как только ивент проскакивает вызывается коллбек

Это типа общая теория, хз как в этих ваших аио

Марк
06.04.2017
10:02:46
А как мне в этот луп засунуть два метода/функции?

Eugine
06.04.2017
10:04:13
Мне порыться в доке? Или с этими новыми знаниями об эвентлупе ты сам сможешь?

Марк
06.04.2017
10:04:30
Да я рылся. Не вьезжаю

import asyncio class EchoClientProtocol(asyncio.Protocol): def __init__(self, message, loop): self.message = message self.loop = loop def connection_made(self, transport): transport.write(self.message.encode()) print('Data sent: {!r}'.format(self.message)) def data_received(self, data): print('Data received: {!r}'.format(data.decode())) def connection_lost(self, exc): print('The server closed the connection') print('Stop the event loop') self.loop.stop() loop = asyncio.get_event_loop() message = 'Hello World!' coro = loop.create_connection(lambda: EchoClientProtocol(message, loop), '127.0.0.1', 8888) loop.run_until_complete(coro) loop.run_forever() loop.close()

mport asyncio class EchoServerClientProtocol(asyncio.Protocol): def connection_made(self, transport): peername = transport.get_extra_info('peername') print('Connection from {}'.format(peername)) self.transport = transport def data_received(self, data): message = data.decode() print('Data received: {!r}'.format(message)) print('Send: {!r}'.format(message)) self.transport.write(data) print('Close the client socket') self.transport.close() loop = asyncio.get_event_loop() # Each client connection will create a new protocol instance coro = loop.create_server(EchoServerClientProtocol, '127.0.0.1', 8888) server = loop.run_until_complete(coro) # Serve requests until Ctrl+C is pressed print('Serving on {}'.format(server.sockets[0].getsockname())) try: loop.run_forever() except KeyboardInterrupt: pass # Close the server server.close() loop.run_until_complete(server.wait_closed()) loop.close()

Google
Марк
06.04.2017
10:06:05
Это из доков. Как из соединить?

Eugine
06.04.2017
10:06:28
Нhttps://docs.python.org/3/library/asyncio-eventloop.html#watch-a-file-descriptor-for-read-events

тебе нужен другой уровень

да блин, нет, просто надо в какой-то момент регистрировать read event

все верно

с помощью loop.add_reader

Zart
06.04.2017
10:09:21
зачем..

loop.create_* возвращает таск там run_until_complete - это коннект() или листен() после чего тупо ран_форева

можно смело объединить оба примера воедино луп = гет_ивент_луп() коро = луп.крит_сервер(...) сервер = ран_антил(коро) коро = луп.крит_коннекшен(...) клиент = ран_антил(коро) луп.ран_форева # в этом месте у тебя уже и клиент и сервер будут пахать одновременно

ну и в финале сервер.клоуз

Марк
06.04.2017
10:13:05
Что из себя представляет луп в первой строчке?

Zart
06.04.2017
10:13:31
мне было влом переключить раскладку чтобы писать полное loop = asyncio.get_event_loop()

Марк
06.04.2017
10:13:56
Я понял. Я за суть

А то в моей башке это хитрожопый бесконечный цикл

Alexey
06.04.2017
10:15:24
Ну.

луп — создай мне петлю с событиями.

Zart
06.04.2017
10:15:52
это простой бесконечный цикл с селектом

Марк
06.04.2017
10:16:30
Да, как события регать то? Есть клиент, который в лупе хавает одно, есть сервер, которые в лупе хавает совсем другое. Как в одном лупе их подружить?

Zart
06.04.2017
10:16:44
легко

я даже не понимаю в чем проблема

Google
Марк
06.04.2017
10:18:11
EchoClientProtocol(message, loop), '127.0.0.1', 8888)

Zart
06.04.2017
10:18:15
https://www.youtube.com/watch?v=MCs5OvhV9S4 охуенный видос от бизли, в котором очень наглядно показана анатомия ивент лупов

Марк
06.04.2017
10:18:18
Ну вот из примера

И туда больше нихуя не запихнуть

Zart
06.04.2017
10:18:41
а это враппер

который по факту делает loop.create_*

Марк
06.04.2017
10:20:32
Лан, еще почитаю. Это я так, напоразмышлять

Кстати, что меня в тройке слегка выбесило, это ебучий тип bytes

Admin
ERROR: S client not available

Zart
06.04.2017
10:21:43
bytes в тройке это примерно нифига не str двойки

Марк
06.04.2017
10:21:57
угу

Ща по телнетику из рав сокетов считываю данные. Там все в b прилетает. Ебать кошмар

Zart
06.04.2017
10:23:45
а в чем должно?

Марк
06.04.2017
10:24:21
В двойке, наверное, в стр бы прилетало

Zart
06.04.2017
10:24:28
и?

Марк
06.04.2017
10:24:45
Что и?

Zart
06.04.2017
10:25:26
ну логично что однобайтовые последовательности что там что тут

в тройке str не однобайтовые

Марк
06.04.2017
10:26:01
Ну я пока не заборол их обработку.

Страшно охота вьебать decode(data,'ignore'), но дохуя критичных данных пропадает

Google
Zart
06.04.2017
11:07:14
но зачем...

Dmitry
06.04.2017
12:44:32
https://github.com/pypa/pypi-legacy/issues/627 вот зачем они это сломали... сволочи

пол дня совокупляюсь уже.

Марк
06.04.2017
13:30:26
Конференция посвященная работе и ТВОРЧЕСТВУ на PHP фреймворке Laravel `

Поэтично то как

Не то что вы, неотёсаные петоноёбы, которые еще и матерятся

Alexey
06.04.2017
14:41:10
echo 'КПРФ' | iconv -t cp1251 | iconv -f koi8-r

Igor
06.04.2017
14:42:19
отлично описывает

Zart
06.04.2017
14:44:46
МЮУСИ

b0g3r
06.04.2017
15:02:07
йЮЙ ОЕПЕЙКЧВЮРЭ ЙНДХПНБЙС?

H
06.04.2017
16:16:48
бНОПНЯ

Zart
06.04.2017
16:31:45
обычно был оПХБЕР

Eugine
06.04.2017
16:58:02
бНОПНЯ
Соло на клавиатуре?

Маловероятно

Там что-то другое было

Zart
06.04.2017
17:00:52
типичный ирц клиент с виндовой кодировкой на руснете

Alexey
06.04.2017
17:00:59
Да.

А тренажёры не нужны вообще никому. IRC чаты.

Zart
06.04.2017
17:01:14
— оПХБЕР — МЮУСИ — smeni kodirovku mudilo

Марк
06.04.2017
17:01:58
na translite toge zbs

Страница 312 из 1719