Описание тега greenlets

NoneGreenlet - это C-расширение Python, которое добавляет к языку легкие сопрограммы, полезные для совместной работы в многозадачном режиме.
1 ответ

Сделать вызовы C-Extension "зелеными" в python

У меня есть код Python, который сильно зависит от гринлетов. Я могу использовать либо gevent или же eventlet, Я упаковал некоторые разделы кода в C-расширение, но эти вызовы не уступают другим гринлетам. Можно ли написать мое расширение таким образо…
2 ответа

Доступ к контексту приложения фляги изнутри greenlet

У меня есть команда скрипт-колба, которая порождает длинную последовательность гринлетов. Проблема в том, что эти гринлеты не могут получить доступ к контексту моего приложения. Я постоянно получаю сообщение "> с RuntimeError" (обращаясь к app.logge…
11 мар '15 в 01:56
1 ответ

Работа со значениями Гринлета

Я хотел бы внедрить асинхронную работу в одну из моих функций тестирования. Функция, эвристически, выглядит следующим образом - def test_sessions(self): sessions = [] """ Creating 10k session instances """ for i in xrange(10000): sessions.append(Ses…
0 ответов

LoopExit: "Эта операция блокирует навсегда" с Redis в качестве кеша на Django

Я работаю с Django 1.7 python 2.7. В Джанго у меня есть несколько функций. Одна функция готовит необходимую информацию и сохраняет ее в Redis. После этого другая функция запускается несколько раз асинхронно, получает информацию от Redis, вычисляет н…
15 окт '15 в 16:36
1 ответ

Зачем нам нужен gevent.queue?

Я понимаю, что Gevent - это просто параллелизм, а не параллелизм. Мое понимание механизмов параллелизма, таких как Gevent и AsyncIO, заключается в том, что в приложении Python ничего не выполняется одновременно. Наиболее близким является то, что вы …
20 апр '15 в 01:25
0 ответов

Каков след гринлета в Gevent?

Я пытаюсь создать этот сервис, который выполняет асинхронные вызовы http. Для этого я использую gevent с набором гринлетов, определенных в пуле. Пользователи будут делать запрос к этому сервису, который будет помещен в очередь. Теперь гринлеты в пул…
01 авг '18 в 05:04
1 ответ

Правильное обращение с детскими гринлетами

Я создаю задачи, наследуя от Greenlet, У меня есть одна родительская задача, которая вызывает start() на двоих детей в своем _run(), В другом месте (это сервис systemd) start() а также join() называются. Поведение кажется правильным. Например, испол…
23 окт '16 в 02:16
1 ответ

Исключения ZeroRPC Python Server при попытке остановить или закрыть

У меня есть немного больше кода, чем это, поэтому я сокращаю его до того, что кажется уместным. Согласно задокументированному примеру, у меня есть класс python для использования ZeroRPC: import zerorpc, sys, signal class MyClass: pass zpc = 0 if __n…
15 янв '14 в 14:42
1 ответ

Почему greenlet.getcurrent() работает, если я не запустил greenlet?

Почему это работает: >>> import greenlet >>> greenlet.getcurrent() <greenlet.greenlet object at 0x02244030> Я еще не запустил гринлеты, так что же возвращает getcurrent()? Есть ли "зеленый" по умолчанию, который запускается п…
09 июн '13 в 01:52
0 ответов

Главный процесс саранчи погибает из-за нехватки памяти

Установка главного и подчиненного устройств Locust с 8 ведомыми устройствами, работающими на 8 экземплярах AWS с 4 ГБ ОЗУ и 64-разрядной Ubuntu. При установке количества пользователей на 500 и скорости штриховки на 200 я вижу, что главный процесс ун…
02 июл '14 в 18:09
1 ответ

Что произойдет, если исключения не будут обнаружены в гринлете, определенном в пуле?

Я хочу знать, что происходит, исключения не перехватываются в порождении greenlet в gevent.pool. Разве он не обновляет семафор и не делает его доступным, чтобы мог появиться новый гринлет? Я просто хочу убедиться, что если пул имеет размер 10, а у н…
14 июл '18 в 03:37
1 ответ

Гевент Гринлет всплывает исключения для родителя

При использовании gevent всякий раз, когда дочерний гринлет генерирует исключение, я бы хотел, чтобы он всплывал до родителя (и в идеале родитель должен генерировать исключение). В документации по гринлетам говорится, что это делается автоматически,…
04 окт '12 в 21:21
1 ответ

fsm с gevent со своим (бесконечным) стеком вызовов

Мне было интересно, как я могу определить конечный автомат, который имеет петли, используя гринлет в python, не вызывая stckoverflow. С https://greenlet.readthedocs.org/en/latest/: "" Гринлет "- это небольшая независимая псевдопотока. Думайте о ней …
08 мар '15 в 06:46
1 ответ

Python: приоритезация задач и запуск асинхронных задач без блокировки

Прямо сейчас я использую Gevent, и я хотел задать два вопроса: Есть ли способ выполнить определенные задачи, которые никогда не будут выполняться асинхронно (вместо использования блокировки в каждой из этих задач) Есть ли способ расставить приоритет…
20 окт '16 в 09:51
1 ответ

Как я могу написать сервер сокетов в другом потоке от моей основной программы (используя gevent)?

Я разрабатываю веб-сервер Flask/gevent WSGIserver, который должен взаимодействовать (в фоновом режиме) с аппаратным устройством через два сокета с использованием XML. Один сокет инициируется клиентом (моим приложением), и я могу отправлять команды X…
27 мар '14 в 15:10
2 ответа

Кросс-компиляция Python Greenlet и Gevent на Linux x86_64 для PowerPC

На моем хосте Linux x86_64 я пытаюсь кросс-компилировать некоторые дополнительные модули Python для моей цели PowerPC, в частности, greenlet, gevent и gevent-websockets. В настоящее время я застрял, просто пытаясь создать кросс-модуль greenlet. Испо…
20 июл '12 в 22:13
1 ответ

Форкинг Гринлетс

Возможно, я упускаю что-то очевидное (и это пятница), но есть ли способ сделать эквивалент os.fork() на гринлете? Я не обязательно ищу ответвление процесса, я хочу взять гринлет и запустить один набор кода, затем другой, но с независимыми областями …
25 фев '11 в 21:14
0 ответов

Убить питона гринлета по id

Greenlet.spawn создает новый экземпляр Greenlet, как определено в документах. У меня есть этот код ниже, в котором я хочу быть в состоянии убить Гринлет по его идентификатору. import gevent from gevent import Greenlet from gevent import getcurrent c…
14 сен '16 в 23:47
2 ответа

Как Greenthread назначается?

В моей программе на Python я использую eventlet для создания множества greenthreads, просто хочу узнать, спит ли текущий greenthread, какой из остальных будет запланирован и запущен? Любой планировщик в eventlet? Спасибо!
0 ответов

ОШИБКА Flask-SQLAlchemy: "Приложение не найдено. Либо работайте внутри функции просмотра, либо нажимайте

Я пытаюсь использовать flask-sqlalchemy и следую многочисленным примерам в документации о том, как получить настройку приложения Flask. Однако по какой-то причине я не могу получить контекст приложения. Я в настоящее время использую app.app_context(…