crossbario / crossbario/autobahn-python
Event Loop neither Terminates nor reconnects when connection breaks
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2.5k
- Forks
- 768
- PR merge metrics
- No merged PRs in 30d
Description
Hi,
I am starting using Autobahn-Python.
maybe this is a noob-problem. I did the following (based on the example code):
- started a router
- started a callee process offering some rpcs
- started a caller, called the rpcs
all works fine.
problem:
if the connection to the router goes down, the callee side shows a warning "WAMP transport was lost before closing"
Then it does not terminate and also does not attempt to reconnect
I tried with both: asyncio and twisted implementations because someone said that twisted would reconnect. But also there: Error is detected and logged, but event-loop does not terminate and als no re-connect. This questions my whole concept (one weekend of work).
What does help terminating the loop is:
async def onDisconnect(self):
loop = asyncio.get_running_loop()
loop.stop()
is this the way to go?
There still is a problem when initial connection to WAMP Router works but registration does not (because router is currently coming up for example). In that case, the callee system hangs forever. Is there a solution for that?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the example router, callee, and caller setup with both asyncio and Twisted, including a dropped router connection and a registration attempted during router startup. Read the connection lifecycle around the shown onDisconnect handler and compare the observed event-loop behavior with the expected termination or reconnection behavior. Done means both failure cases have a documented, verified outcome.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- distributed-systems, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100