I'm developing a Python web application where each user gets a session, and the session is stateful. Each session exposes RPCs and topics which enables the user to interact with it (e.g. create object, delete object, etc.).
I've been thinking about using Crossbar.io to manage these sessions, each session as a worker, and expose RPCs and topics in a language agonistic manner.
I played with this demo: https://demo.crossbar.io/gauges/index.html and it's quite close to what I'd like to accomplish. I want to use the "controller channel" parameter to keep sessions separate across users.
After reading through various documentation, I'm still a bit unclear on a few things:
- How are new workers spawned? Do they have to be explicitly created before using a new controller channel?
- How are workers terminated? My workers can potentially use a large amount of memory so I'd like to terminate them when the session is over.
If perhaps Crossbar.io is not a good solution for my application, I'm open to suggestions.