In Python async function I'am creating ContextVar, task and attaching callback to it:
bbb = contextvars.ContextVar('aaa')
bbb.set(3)
task = self.loop.create_task(self.someFunc())
task.add_done_callback(self.commonCallback)
bbb.set(4)
In callback I first start debugger:
def commonCallback(self, result):
pdb.set_trace()
try:
r = result.result()
print(r)
except:
self.log.exception('commonCallback')
And in debugger:
-> try:
(Pdb) bbb.get()
*** NameError: name 'bbb' is not defined
(Pdb) ctx = contextvars.copy_context()
(Pdb) print(list(ctx.items()))
[(<ContextVar name='aaa' at 0xa8245df0>, 3)]
(Pdb)
ContextVar is there, but I can't access it. So, I am missing something, but can't find what?