diff --git a/job.py b/job.py index edf256a..158419b 100644 --- a/job.py +++ b/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 "".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 "".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 "".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(): diff --git a/pa_job_manager.py b/pa_job_manager.py index 8823f28..f8fabef 100644 --- a/pa_job_manager.py +++ b/pa_job_manager.py @@ -261,7 +261,7 @@ class Job(Base): extra = relationship( "JobExtra") def __repr__(self): - return "".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, self.pa_job_state, self.wait_for, self.extra, self.logs) + return "".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) class PA_JobManager_FE_Message(Base): __tablename__ = "pa_job_manager_fe_message" @@ -427,7 +427,6 @@ def JobImportDir(job): if os.path.isdir(file): path_prefix=os.path.join(symlink,fname) dir=AddDir( job, fname, path_prefix, dir ) - print("DEBUG(adddir)"); else: file_cnt=file_cnt+1 if isImage(file): @@ -438,7 +437,6 @@ def JobImportDir(job): type_str = 'File' fsize = round(os.stat(file).st_size/(1024*1024)) e=AddFile( job, os.path.basename(fname), type_str, fsize, dir ) - print("DEBUG(addfile)"); else: AddLogForJob(job, "DEBUG: {} - {} is OLDER than {}".format( file, stat.st_ctime, last_import_date ), file ) print("DEBUG: {} - {} is OLDER than {}".format( file, stat.st_ctime, last_import_date ), file ) @@ -448,7 +446,6 @@ def JobImportDir(job): job.state = "Completed" job.last_updated = datetime.now(pytz.utc) # settings.last_import_date = time.time() - print ("DEBUG-END: finished Job import dir: {}".format(job)) else: AddLogForJob(job, "Finished Importing: {} -- Path does not exist".format( path) ) job.pa_job_state = "Completed" diff --git a/templates/joblog.html b/templates/joblog.html index 84ec0b6..80abeaf 100644 --- a/templates/joblog.html +++ b/templates/joblog.html @@ -3,6 +3,10 @@ {% block main_content %}

{{page_title}}

+
+ + +
diff --git a/templates/jobs.html b/templates/jobs.html index 3dee61e..16a8175 100644 --- a/templates/jobs.html +++ b/templates/jobs.html @@ -7,14 +7,14 @@ var completed_rows=Array() {% for job in jobs %} - row=` - - {{job.name}}{{job.start_time}} - - ` + row='{{job.name}}' + {% for ex in job.extra %} + row+=' ({{ex.name}} == {{ ex.value }})' + {% endfor %} + row+= '{{job.start_time}}' {% if job.pa_job_state != "Completed" %} row +=` - Not yet + In Progress (no details yet) ` active_rows.push(row)