Ilya Egorov

Results 30 comments of Ilya Egorov

https://github.com/microsoft/agent-lightning/blob/9f8a25ffdcab61c259371ad70dd0b45bd9dcc046/agentlightning/store/memory.py#L188 Can be replaced with (however, note for the future: it is better to rely on [`asyncio.timeout`](https://docs.python.org/3/library/asyncio-task.html#asyncio.timeout) here): ```python try: result = await asyncio.wait_for(evt, timeout) except asyncio.TimeoutError: result = False...

And `_ThreadSafeAsyncLock` can also be removed and completely replaced with `aiologic.Lock`, since the latter has the same methods as the former.

An interesting bug. I tried the latest version of aiologic (from GitHub), and it does not reproduce this issue. And after digging around... The following code fails after Nuitka: ```python...

Thus, the reproduction code can be simplified to the following: ```python class Meta(type): def __new__(mcs, name, bases, namespace): cls = type.__new__(mcs, name, bases, namespace) cls.test() class WithClassRef(metaclass=Meta): def test(): return...

I agree. `super()` is also slower than direct access to the method (which, by the way, can be done once at the module level). The problem with `super()` is that...

> Doing replacements like that in `aiologic` would make it work, I am sure. Actually, I had already isolated a separate `SingletonEnum` for my purposes, so the issue on the...

Yes, it is a known limitation. It is mentioned in README, third point. I do not think the problem of multiple loops will ever be solved in Janus, as it...

Note that there are some bugs with binding in the case of multiple event loops that [my one PR](https://github.com/aio-libs/janus/pull/727) is fixing, but it still has not merged.

> I have made [a minimal reproduction of the issue](https://github.com/user-attachments/files/21707969/test_janus_failure.py.txt). By the way, you have the wrong expected order in the third test. "worker 2: \" will be printed before...

> So, just to confirm, a solution which involves building a threaded Lock object for internal use that can be acquired _both_ by sync and async code, would be out...