Есть ли способ узнать, из какого гринлета был создан текущий гринлет в gevent?
- Я понимаю, что гринлет, который породил текущий гринлет, возможно, уже завершился, но в этом случае я был бы в порядке с обработкой None в качестве ответа.
- Я знаю о gevent.Greenlet.parent, но он представляет собой только концентратор, а не прямой гринлет, с которого был запущен текущий гринлет.
- Я бы предпочел решение, которое не требует исправления обезьяны gevent.Greenlet
Мой вариант использования: у меня есть сервер, который обрабатывает запросы на выполнение кода Python (да, да, я знаю, что это небезопасно :-). Каждый запрос порождает гринлет, который обрабатывает запрос, включая перенаправление любого ввода, вывода или ошибки на канал, закрытый для запроса. Я хочу иметь возможность обрабатывать запросы одновременно, и запросы могут сами порождать гринлеты.
Вы можете найти пример того, что я пытаюсь сделать здесь