Redis Pub/Sub and WATCH support

Our use case
We are using Retool as a configuration tool and an admin panel for our backend. Our app relies on real-time technologies quite a lot, so some of the data we’d like to show in Retool is often updated either by the backend itself or by other people who are using Retool at the same time.

Current state of support for real-time technologies
So far the only way to get real-time updates of data from our backend we have found is to add custom JavaScript to our page which initiates a WebSocket connection. However, this approach is quite time-consuming to implement: we need to run a separate HTTP+WebSocket server for that, hook it to the main app and take some security measures to make sure no one steals any private data or executes actions which we don’t want them to execute.
Polling from Redis or other database might be a viable alternative, but there are values which are updated very frequently and we would have to set the polling interval to a very low value in order to get accurate data.

Feature request: support for Redis Pub/Sub or WATCH
Since Redis is used as a fast real-time store in many applications (including ours), we would like to have the possibility to get updates from it in real time using the WATCH command or, as a more powerful and flexible alternative, the publish-subscribe mechanism. Preferably this should be available as API in custom JS and queries, but there might be other, better ways to expose this.

Thanks in advance. Kind regards

7 Likes

I also would like to see Redis Pub/Sub implemented in Retool. Implementing Pub/Sub right into Retool would save the extra step of hitting a HTTP endpoint that then publishes to Redis. Shifting that over into Retool would give us some amazing capabilities and publish/subscribe/listen in on important events that can then orchestrate a variety of other tasks.

4 Likes

You can implement realtime websockets by following this blog post:

1 Like