Internal key/value store to allow commands to maintain state
clockworksoul opened this issue · comments
Matt Titmus commented
Currently every command is completely stateless, which is fine most of the time, but occasionally a command may want to store a bit of data to access later, or for another command in the same bundle to access.
- Theoretically similar to Cog’s memory service.
- Methods to write to:
- Simple mode: metadata tags in the output?
- Advanced JSON mode: special properties in the JSON
- Methods to read from:
- Integration with dynamic configuration
- SDK (Another reason to have an SDK?)
- To read/write must specify:
- Scope:
- Global (don’t support for now -- security concerns?)
- Command execution
- User
- Bundle
- Lifetime/TTL:
- Maximum: one day? 30 day?
- Scope:
- Implementations
- Entirely in-memory (super simple, probably fine for most use cases)
- Backed by something like Redis (more complex, more robust)