NEXT icon indicating copy to clipboard operation
NEXT copied to clipboard

MAINT, ENH, TST: Butler.Memory

Open stsievert opened this issue 6 years ago • 1 comments

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.

stsievert avatar May 30 '18 22:05 stsievert

The connection change seems independent from what this PR tries to implement, which is why I'm holding off.

stsievert avatar Sep 06 '18 21:09 stsievert