Ejemplo n.º 1
0
    def remove(self, cacheid):
        '''
        removes entry from the cache and reset its state

        :param cachid: the cache entry identifier
        '''
        task = self.cache[cacheid]['task']
        log.debug('removing cache entry %s and resetting state', cacheid)
        load_state(task['state']).reset()
        super(ChecksumCache, self).remove(cacheid)
Ejemplo n.º 2
0
    def remove(self, cacheid):
        """
        removes entry from the cache and reset its state

        :param cachid: the cache entry identifier
        """
        task = self.cache[cacheid]["task"]
        log.debug("removing cache entry %s and resetting state", cacheid)
        load_state(task["state"]).reset()
        super(ChecksumCache, self).remove(cacheid)
Ejemplo n.º 3
0
    def fromJSON(cls,jsondata, deserialization_opts):
        def subinit_load(subinit_data):
            def handle(k,v):
                if k == '_data':
                    return load_state(v,deserialization_opts) if v else None
                return {kk:handle(kk,vv) for kk,vv in v.items()}
            return {k:handle(k,v) for k,v in subinit_data.items()}

        instance = cls(
            load_state(jsondata['base_state'],deserialization_opts),
            nest = jsondata['nest'],
            ensure = jsondata['ensure'],
            init_states = [load_state(x,deserialization_opts) for x in jsondata['init_states']],
            sub_init_states = subinit_load(jsondata['sub_init_states'])
        )
        return instance
Ejemplo n.º 4
0
    def fromJSON(cls,jsondata, deserialization_opts):
        def subinit_load(subinit_data):
            def handle(k,v):
                if k == '_data':
                    return load_state(v,deserialization_opts) if v else None
                return {kk:handle(kk,vv) for kk,vv in v.items()}
            return {k:handle(k,v) for k,v in subinit_data.items()}

        instance = cls(
            load_state(jsondata['base_state'],deserialization_opts),
            nest = jsondata['nest'],
            ensure = jsondata['ensure'],
            init_states = [load_state(x,deserialization_opts) for x in jsondata['init_states']],
            sub_init_states = subinit_load(jsondata['sub_init_states'])
        )
        return instance
Ejemplo n.º 5
0
 def result(self,resultproxy):
     state = load_state(resultproxy.statedata, self.deserialization_opts)
     if resultproxy.resultdata is not None:
         return  self.datamodel.create(resultproxy.resultdata, state.datamodel)
     log.debug('retrieving result for jobid: %s at %s', resultproxy.jobproxy['job_id'], resultproxy.jobproxy['resultjson'])
     return self.datamodel.create(
         self.resultbackend.get(resultproxy.jobproxy['resultjson']),
         state.datamodel
     )
Ejemplo n.º 6
0
 def fromJSON(cls, data, deserialization_opts=None):
     instance = cls(data['metadata']['name'],
                    data['spec'],
                    load_state(data['state'], deserialization_opts)
                    if data['state'] else None,
                    data['parameters'],
                    inputs=map(outputReference.fromJSON, data['inputs']))
     instance.metadata.update(**data['metadata'])
     return instance
Ejemplo n.º 7
0
    def fromJSON(cls, jsondata, deserialization_opts):
        def subinit_load(subinit_data):
            def handle(k, v):
                if k == "_data":
                    return load_state(v, deserialization_opts) if v else None
                return {kk: handle(kk, vv) for kk, vv in v.items()}

            return {k: handle(k, v) for k, v in subinit_data.items()}

        instance = cls(
            load_state(jsondata["base_state"], deserialization_opts),
            nest=jsondata["nest"],
            ensure=jsondata["ensure"],
            init_states=[
                load_state(x, deserialization_opts) for x in jsondata["init_states"]
            ],
            sub_init_states=subinit_load(jsondata["sub_init_states"]),
        )
        return instance
Ejemplo n.º 8
0
 def fromJSON(cls, data, deserialization_opts = None):
     instance = cls(
         data['metadata']['name'],
         data['spec'],
         load_state(data['state'],deserialization_opts) if data['state'] else None,
         data['parameters'],
         inputs = map(outputReference.fromJSON, data['inputs'])
     )
     instance.metadata.update(**data['metadata'])
     return instance
Ejemplo n.º 9
0
 def fromJSON(cls, data, deserialization_opts=None):
     instance = cls(
         data["metadata"]["name"],
         data["spec"],
         load_state(data["state"], deserialization_opts)
         if data["state"] else None,
         data["parameters"],
         inputs=list(map(outputReference.fromJSON, data["inputs"])),
     )
     instance.metadata.update(**data["metadata"])
     return instance
Ejemplo n.º 10
0
    def result(self,resultproxy):
        state = load_state(resultproxy.statedata, self.deserialization_opts)

        if resultproxy.resultdata is not None:
            return  self.datamodel.create(resultproxy.resultdata, state.datamodel)

        parameters = self.datamodel.create(resultproxy.pardata, state.datamodel)
        pubdata = publish(resultproxy.spec['publisher'], parameters,state,self.config)
        log.info('publishing data: %s',pubdata)
        pubdata = finalize_outputs(pubdata)
        resultproxy.resultdata = pubdata.json()
        return pubdata
Ejemplo n.º 11
0
    def generate_validation_data(self, cacheid):
        '''
        calculate validation data (checksums in SHA1 hash form)

        :param cachid: the cache entry identifier
        '''
        validation_data = {
            'state_hash':
            load_state(self.cache[cacheid]['task']['state']).state_hash()
        }

        log.debug('validation data is %s', validation_data)
        return validation_data
Ejemplo n.º 12
0
    def generate_validation_data(self, cacheid):
        """
        calculate validation data (checksums in SHA1 hash form)

        :param cachid: the cache entry identifier
        """
        validation_data = {
            "state_hash":
            load_state(self.cache[cacheid]["task"]["state"]).state_hash()
        }

        log.debug("validation data is %s", validation_data)
        return validation_data
Ejemplo n.º 13
0
 def result(self, resultproxy):
     state = load_state(resultproxy.statedata, self.deserialization_opts)
     if resultproxy.resultdata is not None:
         return self.datamodel.create(resultproxy.resultdata,
                                      state.datamodel)
     log.debug(
         "retrieving result for jobid: %s at %s",
         resultproxy.jobproxy["job_id"],
         resultproxy.jobproxy["resultjson"],
     )
     return self.datamodel.create(
         self.resultbackend.get(resultproxy.jobproxy["resultjson"]),
         state.datamodel)
Ejemplo n.º 14
0
    def result(self, resultproxy):
        state = load_state(resultproxy.statedata, self.deserialization_opts)

        if resultproxy.resultdata is not None:
            return self.datamodel.create(resultproxy.resultdata,
                                         state.datamodel)

        parameters = self.datamodel.create(resultproxy.pardata,
                                           state.datamodel)
        pubdata = publish(resultproxy.spec["publisher"], parameters, state,
                          self.config)
        log.info("publishing data: %s", pubdata)
        pubdata = finalize_outputs(pubdata)
        resultproxy.resultdata = pubdata.json()
        return pubdata
Ejemplo n.º 15
0
 def fromJSON(cls, data):
     return cls(data['proxydetails']['job_id'],
                data['proxydetails']['spec'], data['proxydetails']['pars'],
                load_state(data['proxydetails']['state']))
Ejemplo n.º 16
0
 def handle(k,v):
     if k == '_data':
         return load_state(v,deserialization_opts) if v else None
     return {kk:handle(kk,vv) for kk,vv in v.items()}
Ejemplo n.º 17
0
 def handle(k,v):
     if k == '_data':
         return load_state(v,deserialization_opts) if v else None
     return {kk:handle(kk,vv) for kk,vv in v.items()}