Repository code for the new job metrics table

pull/173/head
Chris Veilleux 2019-06-04 11:34:03 -05:00
parent a2bf81efd7
commit 4286aff8b2
4 changed files with 46 additions and 0 deletions

View File

@ -1,2 +1,4 @@
from .entity.api import ApiMetric
from .entity.job import JobMetric
from .repository.api import ApiMetricsRepository
from .repository.job import JobRepository

View File

@ -0,0 +1,13 @@
from dataclasses import dataclass
from datetime import date, datetime
@dataclass
class JobMetric(object):
job_name: str
batch_date: date
start_ts: datetime
end_ts: datetime
command: str
success: bool
id: str = None

View File

@ -0,0 +1,18 @@
from dataclasses import asdict
from ...repository_base import RepositoryBase
from ..entity.job import JobMetric
class JobRepository(RepositoryBase):
def __init__(self, db):
super(JobRepository, self).__init__(db, __file__)
def add(self, job: JobMetric):
db_request = self._build_db_request(
sql_file_name='add_job_metric.sql',
args=asdict(job)
)
db_result = self.cursor.insert_returning(db_request)
return db_result.id

View File

@ -0,0 +1,13 @@
INSERT INTO
metrics.job
VALUES (
DEFAULT,
%(job_name)s,
%(batch_date)s,
%(start_ts)s,
%(end_ts)s,
%(command)s,
%(success)s
)
RETURNING
id