Para fins de depuração, eu gostaria de percorrer todos os greenlets e obter seus rastreamentos - como posso fazer isso com o gevent?
Basicamente, gostaria de fazer o equivalente a gevent de esta.
Respostas:
17 para resposta № 1Você pode usar o gc
para iterar todos os objetos na pilha e procurar greenlets. Os greenlets armazenam os rastreamentos da pilha como um atributo gr_frame
.
import gc
import traceback
from greenlet import greenlet
for ob in gc.get_objects():
if not isinstance(ob, greenlet):
continue
if not ob:
continue
log.error("".join(traceback.format_stack(ob.gr_frame)))