def runs(self, as_df=False, price_config=None, last=None, since_days=None): """Returns the job's run. Parameters: ----------- - as_df : boolean (default: False) Convert the runs to pandas dataframe - price_config : dict (default: None) Price config used to compute cluster cost - last : int (default: None) Filters the last N results (no filtering if set to None) - since_days : int (default: None) Filters to last N days (no filtering if set to None) Returns: -------- runs : list of JobRun objects or pd.DataFrame The job's runs as list of sqlalchemy objects or as a pandas DataFrame """ runs = self.jobruns if since_days is not None: runs = [run for run in runs if run.start_time >= since(since_days)] if last is not None: runs = runs[-last:] if as_df: runs = pd.DataFrame([run.to_dict(price_config) for run in runs]) return runs
def dbu(self, since_days=7): states = self.state_df() return (states .loc[states.timestamp >= since(since_days)] .interval_dbu .sum())
def active(self, since_days=7): states = self.state_df() states = states.loc[states.timestamp >= since(since_days)] return not states.empty