Guest User

Untitled

a guest
Jul 19th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1. @staticmethod
  2. def fetch(sgids):
  3. # Create a unique list.
  4. sgids = list(set(sgids))
  5.  
  6. keys = map(lambda x: "Record.%s" % x, sgids)
  7. cached = cache.get_multi(keys)
  8.  
  9. found = map(lambda x: cached[x]['sgid'], cached)
  10.  
  11. diff = list(set(sgids) - set(found))
  12.  
  13. parent = ColumnParent(column_family=Record.Meta.column_family)
  14. predicate = SlicePredicate(slice_range=SliceRange(start="",
  15. finish=""))
  16.  
  17. if diff:
  18. res = get_pool(Record.Meta.keyspace).multiget_slice(
  19. Record.Meta.keyspace, diff, parent, predicate,
  20. ConsistencyLevel.ONE)
  21.  
  22. cass = dict([(key, dict([(col.column.name, col.column.value) for
  23. col in cols])) for key, cols in res.iteritems()])
  24.  
  25. cached.update(cass)
  26.  
  27. ret = dict((rec['sgid'], Record(**rec)) for key, rec in cached.iteritems())
  28. map(lambda x: ret[x].cache(), diff)
Add Comment
Please, Sign In to add comment