simonsobs / simonsobs/ocs

Cannot control reconnection settings

Open
#240 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
19
Forks
7
PR merge metrics
No merged PRs in 30d

Description

I am just capturing some stuff I noticed while trying to change the reconnection policy for HostManager agent (so it would try more often). Not an ocs bug really, but the fact that we're using ApplicationRunner seems to mean we can't change those parameters easily.

It looks like you should be allowed to pass reconnection policy parameters (such as max_retry_delay) to ApplicationRunner. But once you do so, you activate code paths that prevent some desirable behaviors (such as being able to start up when crossbar isn't already running). ApplicationRunner is supposed to be just a helper class for quick development, anyway, so I think the solution is to write a substitute that handles reconnection attempts the way we want.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inspecting how the HostManager agent uses ApplicationRunner and review the referenced autobahn/twisted/wamp.py paths. Determine how reconnection settings such as max_retry_delay should be passed without preventing startup when Crossbar is absent. Done means a documented substitute or design is established that supports the desired reconnection attempts and startup behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.