A Caching Shotgun Proxy¶
This project aims to be an intermediate service between the Shotgun API and its consumers, with the immediate major goals being to:
- Reduce the request latency compared to a hosted Shotgun server;
- Increase the redundancy of the Shotgun API, upon which we base (perhaps too much) of our VFX pipeline;
- More flexibility in querying Shotgun data, as we may construct arbitrary queries against our own database if required.
Prospective longer term goals include:
- A simplistic web UI for use when Shotgun is unreachable;
- A host for more complex analyses of Shotgun data for introduction into Shotgun pages.
At this point in the project, it should be a drop-in replacement for your use of the Shotgun API, except in a few circumstances:
- There is a slight delay for changes made in the Shotgun web UI to propagate
to the cache as the cache must poll for changes. The default
poll intervalis 5 seconds.
- API use which does not pass through the cache will not be immediately reflected
in the cache if the API keys used do not generate events, and must wait for
a scan for changes. The default
scan intervalis 5 minutes.
- The cache does not return the
nameIdentifier Column that Shotgun does. This is by design, but could be added as a configurable feature if there is enough demand.
- Running the Cache
- System Design
- Road Map
- Reverse Engineering
- Development API