Hi Matt
thanks for your answer. It's taken a little while to get back to it, but
i've now tried it out. This is what I see
service_container._managed_threads
{<eventlet.greenthread.GreenThread object at 0x7f97d6f34e88>: 'run', <
eventlet.greenthread.GreenThread object at 0x7f97d6e999c8>: 'run', <eventlet
.greenthread.GreenThread object at 0x7f97d5c9ee88>: '<unknown>', <eventlet.
greenthread.GreenThread object at 0x7f97d6f34a60>: '<unknown>', <eventlet.
greenthread.GreenThread object at 0x7f97d6f34f20>: '<unknown>', <eventlet.
greenthread.GreenThread object at 0x7f97d6cb4508>: '<unknown>', <eventlet.
greenthread.GreenThread object at 0x7f97d5e1d930>: '<unknown>', <eventlet.
greenthread.GreenThread object at 0x7f97d5e1d340>: '<unknown>', <eventlet.
greenthread.GreenThread object at 0x7f97d6f34b90>: '<unknown>', <eventlet.
greenthread.GreenThread object at 0x7f97d5d4d930>: '<unknown>', <eventlet.
greenthread.GreenThread object at 0x7f97d6d210e0>: '<unknown>', <eventlet.
greenthread.GreenThread object at 0x7f97d6d21048>: '<unknown>'}
thread = list(service_container._managed_threads.keys())[-1]
dir(thread)
['GreenletExit', '__bool__', '__class__', '__delattr__', '__dict__',
'__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__',
'__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__',
'__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__',
'__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__',
'__subclasshook__', '_exit_event', '_exit_funcs', '_resolve_links',
'_resolving_links', '_stack_saved', 'cancel', 'dead', 'error', 'getcurrent',
'gettrace', 'gr_frame', 'kill', 'link', 'main', 'parent', 'run', 'settrace',
'switch', 'throw', 'unlink', 'wait']
How do i get a handle on what extension is responsible for the "unknown"
from here? i've had a play about but didn't have much joy.
Ta
···
On Friday, 20 October 2017 00:09:23 UTC+1, Matt Yule-Bennett wrote:
The "unknown" part is not a problem. The `identifier` keyword argument to
`spawn_managed_thread` was introduced in 2.4.0 -- if an extension provides
it you'll get better logging when threads are killed.
If you inspect the greenthread objects you'll be able to find out which
extensions aren't using the API fully.
On Wednesday, October 18, 2017 at 12:00:44 PM UTC+1, simon harrison wrote:
Hi All
Is this considered a problem
>>> service_container._managed_threads
{<eventlet.greenthread.GreenThread object at 0x7f0d35494e88>: 'run',
<eventlet.greenthread.GreenThread object at 0x7f0d353b79c8>: 'run',
<eventlet.greenthread.GreenThread object at 0x7f0d34fb2340>: '<unknown>',
<eventlet.greenthread.GreenThread object at 0x7f0d34fb23d8>:
'<unknown>', <eventlet.greenthread.GreenThread object at 0x7f0d34fb2d58>:
'<unknown>', <eventlet.greenthread.GreenThread object at 0x7f0d34fb2768>:
'<unknown>'}
I was expecting to see the name of the entrypoint? Instead i see
"<unknown>".
Which does look to be nameko behaviour:
https://github.com/nameko/nameko/blob/0d8239a1580b1879c872c77dfcdba601040e064f/nameko/containers.py#L361
So is what I see a clue that an Extension or something is not configured
correctly as I should be seeing a name?
Thanks