MAINT, ENH, TST: Butler.Memory
This request provides two items:
- better connection for butler.memory
- more complete interface to butler.memory
- cleans the Memory API
The "better connection" means that it does not rely on constants.MINIONREDISHOST. For me that failed. Instead, uses StrictRedis(host='minionredis_1'), which is (as @dconathan mentioned) a somewhat old docker feature that we're not up to date on. @liamim did constants.MINIONREDISHOST work for you?
This also adds the functions increment, append, get_many, set_many and pipeline to Butler.Memory. It also refactors set and get to use ast.literal_eval to return the stored objects.
It cleans the API by using function wrappers to ensure the connection and catch exceptions. Before, all of these were coded in every function.
This implementation can be tested in the docker container with
$ sudo docker exec -i -t local_nextbackenddocker_1 /bin/bash
# logs into docker container
$ cd next/apps/tests
$ py.test test_memory.py
All tests pass.
The connection change seems independent from what this PR tries to implement, which is why I'm holding off.