Beispiel #1
0
 def _dehydrate_locks(self, bundle, write):
     if bundle.obj.locks_json:
         locks = json.loads(bundle.obj.locks_json)
         locks = [StateLock.from_dict(bundle.obj, lock) for lock in locks if lock['write'] == write]
         slr = StateLockResource()
         return [slr.full_dehydrate(slr.build_bundle(obj = l)).data for l in locks]
     else:
         return []
Beispiel #2
0
    def __init__(self):
        from chroma_core.models import Job, StateLock

        self.write_locks = []
        self.write_by_item = defaultdict(list)
        self.read_locks = []
        self.read_by_item = defaultdict(list)
        self.all_by_job = defaultdict(list)
        self.all_by_item = defaultdict(list)

        for job in Job.objects.filter(~Q(state='complete')):
            if job.locks_json:
                locks = json.loads(job.locks_json)
                for lock in locks:
                    self._add(StateLock.from_dict(job, lock))