def from_kvs(job_id, epsilon_provider): """Return an aggregate curve using the GMFs and assets stored in the underlying kvs system.""" vuln_model = vulnerability.load_vuln_model_from_kvs(job_id) aggregate_curve = AggregateLossCurve(vuln_model, epsilon_provider) gmfs_keys = kvs.get_keys("%s*%s*" % ( job_id, kvs.tokens.GMF_KEY_TOKEN)) LOG.debug("Found %s stored GMFs..." % len(gmfs_keys)) asset_counter = 0 for gmfs_key in gmfs_keys: assets = _assets_keys_for_gmfs(job_id, gmfs_key) for asset in assets: asset_counter += 1 gmfs = kvs.get_value_json_decoded(gmfs_key) aggregate_curve.append(gmfs, json.JSONDecoder().decode(asset)) LOG.debug("Found %s stored assets..." % asset_counter) return aggregate_curve
def test_simple_computation_using_the_java_calculator(self): self.engine.launch() for site in self.engine.sites_for_region(): point = self.grid.point_at(site) key = kvs.tokens.ground_motion_values_key(self.engine.id, point) self.assertTrue(kvs.get_keys(key))
def test_simple_computation_using_the_java_calculator(self): self.engine.launch() for site in self.engine.sites_for_region(): point = self.grid.point_at(site) key = kvs.tokens.ground_motion_values_key( self.engine.id, point) self.assertTrue(kvs.get_keys(key))
def test_simple_computation_using_the_java_calculator(self): # KVS garbage collection is going to be called asynchronously by the # job. We don't actually want that to happen in this test. with patch("subprocess.Popen"): self.job.launch() for site in self.job.sites_to_compute(): point = self.grid.point_at(site) key = kvs.tokens.ground_motion_values_key(self.job.job_id, point) self.assertTrue(kvs.get_keys(key))
def hazard_curve_keys_for_job(job_id, sites, hc_token=kvs.tokens.HAZARD_CURVE_KEY_TOKEN): """Return the KVS keys of hazard curves for a given job_id and for a given list of sites. """ kvs_keys = [] for site in sites: pattern = "%s*%s*%s*%s" % (hc_token, job_id, site.longitude, site.latitude) curr_keys = kvs.get_keys(pattern) if curr_keys is not None and len(curr_keys) > 0: kvs_keys.extend(curr_keys) return kvs_keys