fixed up JobExtra printout in class, also put it in job.py, and passed extras to templates/jobs.html to show the extra details on the jobs list page so we can see what path is imported for example
This commit is contained in:
23
job.py
23
job.py
@@ -10,6 +10,19 @@ import pytz
|
||||
import socket
|
||||
from shared import PA_JOB_MANAGER_HOST, PA_JOB_MANAGER_PORT
|
||||
|
||||
################################################################################
|
||||
# Class describing Job in the database, and via sqlalchemy, connected to the DB as well
|
||||
################################################################################
|
||||
class JobExtra(db.Model):
|
||||
__tablename__ = "jobextra"
|
||||
id = db.Column(db.Integer, db.Sequence('jobextra_id_seq'), primary_key=True )
|
||||
job_id = db.Column(db.Integer, db.ForeignKey('job.id') )
|
||||
name = db.Column(db.String)
|
||||
value = db.Column(db.String)
|
||||
|
||||
def __repr__(self):
|
||||
return "<id: {}, job_id: {}, name: {}, value: {}>".format(self.id, self.job_id, self.name, self.value )
|
||||
|
||||
class Joblog(db.Model):
|
||||
id = db.Column(db.Integer, db.Sequence('ill_id_seq'), primary_key=True )
|
||||
job_id = db.Column(db.Integer, db.ForeignKey('job.id'), primary_key=True )
|
||||
@@ -19,9 +32,6 @@ class Joblog(db.Model):
|
||||
def __repr__(self):
|
||||
return "<id: {}, job_id: {}, log: {}".format(self.id, self.job_id, self.log )
|
||||
|
||||
################################################################################
|
||||
# Class describing Job in the database, and via sqlalchemy, connected to the DB as well
|
||||
################################################################################
|
||||
class Job(db.Model):
|
||||
id = db.Column(db.Integer, db.Sequence('joblog_id_seq'), primary_key=True )
|
||||
start_time = db.Column(db.DateTime(timezone=True))
|
||||
@@ -36,15 +46,18 @@ class Job(db.Model):
|
||||
wait_for = db.Column(db.Integer)
|
||||
pa_job_state = db.Column(db.String)
|
||||
|
||||
extra = db.relationship( "JobExtra")
|
||||
logs = db.relationship( "Joblog")
|
||||
|
||||
def __repr__(self):
|
||||
return "<id: {}, start_time: {}, last_update: {}, name: {}, state: {}, num_passes: {}, current_passes: {}, num_files: {}, current_file_num: {}, current_file: {}>".format(self.id, self.start_time, self.last_update, self.name, self.state, self.num_passes, self.current_pass, self.num_files, self.num_files, self.current_file_num, self.current_file)
|
||||
return "<id: {}, start_time: {}, last_update: {}, name: {}, state: {}, num_passes: {}, current_pass: {}, num_files: {}, current_file_num: {}, current_file: {}, pa_job_state: {}, wait_for: {}, extra: {}, logs: {}>".format(self.id, self.start_time, self.last_update, self.name, self.state, self.num_passes, self.current_pass, self.num_files, self.current_file_num, self.current_file, self.pa_job_state, self.wait_for, self.extra, self.logs)
|
||||
|
||||
|
||||
################################################################################
|
||||
# Utility classes for Jobs
|
||||
################################################################################
|
||||
def GetNumActiveJobs():
|
||||
ret = db.engine.execute("select count(1) from job where pa_job_state != 'Completed'").first()
|
||||
ret = db.engine.execute("select count(1) from job where pa_job_state is distinct from 'Completed'").first()
|
||||
return ret.count
|
||||
|
||||
def WakePAJobManager():
|
||||
|
||||
Reference in New Issue
Block a user