|
11 / 11 / 5
Регистрация: 12.10.2013
Сообщений: 54
|
|||||||||||
Сопрограмма для обработчика запросов20.12.2015, 22:46. Показов 948. Ответов 6
Метки нет (Все метки)
Пытаюсь разобраться с сопрограммами в питоне, возникла проблема (понимания сопрограмм в целом мне точно недостает)
Пытаюсь реализовать простую модель: Есть обработчик запросов, когда приходит запрос он идет на удаленный сервер за данными далее выводит сообщение Примерно так я себе это представляю
Как добавлять в loop новые future, не дожидаясь исполнения старых
0
|
|||||||||||
| 20.12.2015, 22:46 | |
|
Ответы с готовыми решениями:
6
Вызов generic_make_request из обработчика запросов блочного устройства
Вызов обработчика кнопки из другого обработчика. |
|
51 / 51 / 18
Регистрация: 03.12.2015
Сообщений: 167
|
||||||
| 21.12.2015, 05:41 | ||||||
|
LifeMoroz,
Я Ваш код вообще не очень понял. Если Вам нужно сделать сервер, то надо использовать start_server или create_server. Где тут у Вас прием запросов?
0
|
||||||
|
11 / 11 / 5
Регистрация: 12.10.2013
Сообщений: 54
|
|
| 21.12.2015, 16:14 [ТС] | |
|
yield from asyncio.sleep(1) <- вот тут будет обращение к асинхронному источнику данных.
Я не хочу брать asyncio сервер. Мне нужно понять как добавлять future на исполнение из другого потока например
0
|
|
|
51 / 51 / 18
Регистрация: 03.12.2015
Сообщений: 167
|
|
| 21.12.2015, 16:36 | |
|
А другой поток откуда? Может Вам не нужен тут asyncio, а нужен concurrent? Не понимаю ничего. Вот у Вас есть асинхронный сервер, который принимает запросы, дальше для каждого запроса он посылает запрос на другой сервер, принимает ответ и пересылает ответ клиенту?
Добавлено через 2 минуты Вы в 7 строчке создали Future (хотя Future не надо создавать самому). В восьмой строчке создали Task, но ссылку на него ничему не присвоили, да и сам Task не связали с циклом событий. Потом запустили цик, передав ему созданный Вами Future. Не могу отследить логику. Пояните, чего Вы хотели этими шагами достичь. Может, я просто туплю
0
|
|
|
11 / 11 / 5
Регистрация: 12.10.2013
Сообщений: 54
|
|
| 21.12.2015, 17:51 [ТС] | |
|
хочу понять как это работает, поэтому туплю вероятно я.
Concurrent, насколько я понимаю, наделает кучу потоков и будет исполнять в них. Мне хочется пощупать сопрограммы. То что здесь написано, взято из какого-то примера. И оно как-то работает, пока мне не совсем точно ясно КАК. То что я писал в первом топике и есть формулировка задачи, такая абстрактная, потому что понимание сопрограмм пока в цлом именно абстрактное. Еще раз поясню: Приходит запрос (это мб на socket, а мб из другого потока исполнения, транспорты я читал, но пока не очень понятно из примеров документации куда и как), запрос идет куда-то и ждет от "куда-то" ответа, в этот момент продолжают исполняться другие запросы. Предлагаю отсюда отталкиваться, и попробовать составить код на эту задачу без использования server из asyncio. Тот код что я написал - просто попытка приблизиться к решению, на основе примеров
0
|
|
|
51 / 51 / 18
Регистрация: 03.12.2015
Сообщений: 167
|
|
| 21.12.2015, 19:03 | |
|
Если не хотите использовать server, то можно вот так:
https://image.slidesharecdn.co... 1391438795
0
|
|
|
11 / 11 / 5
Регистрация: 12.10.2013
Сообщений: 54
|
||||||
| 22.12.2015, 00:35 [ТС] | ||||||
|
В итоге получилось вот что:
Теперь интересует, как написать свое асинхронное событие: Например есть функция, которая долго исполняется, как выделить ее исполнение в отдельный поток, и ожидать результата в основном? Кажется выгуглил http://stackoverflow.com/quest... n-executor
0
|
||||||
| 22.12.2015, 00:35 | |
|
Помогаю со студенческими работами здесь
7
Есть 4 формы и 4 файла обработчика для каждой. Срабатывает только последний для всех форм. Почему? создание обработчика для mod_perl2 Создание в форме обработчика для радиокнопки Объединение селекторов для одного обработчика
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Сочетание глобально распределённой вычислительной мощности и инновационных. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|