def setJobCache(self):
        p_module = self.useJobCache()
        if not p_module:
            return False
        jm = self.job_monitor()
        specs = p_module.sourcePorts()
        if jm.getCache(self.signature):
            self.cache = jm.getCache(self.signature)
            from vistrails.core.modules.basic_modules import Constant
            for param, value in jm.getCache(self.signature).parameters.iteritems():
                # get type for output param
                spec = [s for s in specs if s.name == param][0]
                module = spec.descriptors()[0].module
                if not issubclass(module, Constant):
                    raise ModuleError(self, "Trying to use a non-constant type a cache: %s" % spec.name)
                self.set_output(param, module.translate_to_python(value))
            self.upToDate = True
            return True
        return False
Checks if this is a job cache and it exists
dataset/ETHPy150Open VisTrails/VisTrails/vistrails/core/modules/vistrails_module.py/Module.setJobCache