The aiopyramid package is great when it comes to integrating Pyramid with 
websockets. 

Sent from my iPhone

> On 24 Nov 2019, at 1:40 AM, Andrew Martin <agmar...@gmail.com> wrote:
> 
> 
> Hi there,
> 
> I'd like to add a few real-time features to an existing pyramid app. 
> Notifications when queued tasks are complete and some real-time dashboards, 
> and chat.
> 
> I'm thinking of an implementation that doesn't seem like it would be super 
> invasive, but I though I would check here and see if some of you more 
> experienced used see any obvious major problems first.
> 
> Basically, I want to farm out the realtime elements to a websocket api 
> server. FastAPI seems like a good framework to do this. But I'd like to be 
> able to use the traversal machinery in pyramid to hit those endpoints in my 
> mako templates. So my javascript for opening the websocket can use the 
> request.resource_url() pattern and I don't have to do a ton of work to figure 
> out where in the external API I should be connecting.
> 
> So for example if in my web app I'm at mywebsite.com/users/123456, then I can 
> have my websocket enpoint constructed by calling ${ 
> request.resource_url(request.api, 'users', '123456') } and it would generate 
> a URL as api.mywebsite.com/api/v1/users/123456 where 
> "api.mywebsite.com/api/v1" is configured in the .ini file.
> 
> To make that work I'd create a resource factory that adds the api property to 
> the Root object with the value set in the .ini file.
> 
> The pyramid view would continue to provide the current values from a db 
> query, so there's a sane default to fall back on in case the websocket can't 
> connect. For authentication and authorization, I'd server the redis instance 
> I'm already using for server side sessions and just have the FastAPI server 
> check that session for whether or not the user is authenticated/authorized or 
> not.
> 
> I think it should be relatively easy to share the SQLAlchemy models between 
> the two frameworks as well.
> 
> Is this totally insane? Is there a better way to do this? Am I setting myself 
> for a world of pain that I'm not able to see right now? Just wondering if 
> anyone can offer any guidance before I buckle down and implement this?
> 
> I realize some of this is totally out of scope for this mailing list, and I"m 
> not asking anyone to comment on whether this is a good idea from the FastAPI 
> end of things. Just pretend that all just works. I'm really just curious 
> about the Pyramid implementation.
> 
> thanks!
> 
> -andrew
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "pylons-discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to pylons-discuss+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/pylons-discuss/2dc83f7e-a319-45c3-be03-c808a15a62af%40googlegroups.com.

-- 
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to pylons-discuss+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/pylons-discuss/93445A19-2364-4749-9AC8-5CCB91BF8A28%40gmail.com.

Reply via email to