NEXT
NEXT copied to clipboard
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.