Skip to content
Snippets Groups Projects
Commit c8ce45e3 authored by Robert Goldmann's avatar Robert Goldmann
Browse files

list manual job in job list until it's done

parent fc64d68c
No related branches found
No related tags found
No related merge requests found
...@@ -27,6 +27,8 @@ class JobScheduler: ...@@ -27,6 +27,8 @@ class JobScheduler:
self._jobAutomatic = self._scheduler.add_job(func=dummyFunc, args=[], trigger='interval', self._jobAutomatic = self._scheduler.add_job(func=dummyFunc, args=[], trigger='interval',
minutes=60, id=self.ID_AUTO, timezone=TIMEZONE) minutes=60, id=self.ID_AUTO, timezone=TIMEZONE)
self._jobManual = None
self._jobStatus = { self._jobStatus = {
self.ID_AUTO: self.STATE_IDLE, self.ID_AUTO: self.STATE_IDLE,
self.ID_MANUAL: self.STATE_IDLE self.ID_MANUAL: self.STATE_IDLE
...@@ -61,7 +63,7 @@ class JobScheduler: ...@@ -61,7 +63,7 @@ class JobScheduler:
if self._jobStatus[self.ID_MANUAL] == self.STATE_RUNNING: if self._jobStatus[self.ID_MANUAL] == self.STATE_RUNNING:
raise JobAlreadyRunningError(f'Job "{self.ID_MANUAL}" is already running!') raise JobAlreadyRunningError(f'Job "{self.ID_MANUAL}" is already running!')
self._scheduler.add_job(func=func, args=args, trigger='date', self._jobManual = self._scheduler.add_job(func=func, args=args, trigger='date',
run_date=datetime.now() + timedelta(seconds=5), run_date=datetime.now() + timedelta(seconds=5),
id=self.ID_MANUAL, timezone=TIMEZONE) id=self.ID_MANUAL, timezone=TIMEZONE)
self._jobStatus[self.ID_MANUAL] = self.STATE_RUNNING self._jobStatus[self.ID_MANUAL] = self.STATE_RUNNING
...@@ -74,6 +76,14 @@ class JobScheduler: ...@@ -74,6 +76,14 @@ class JobScheduler:
next_run=str(job.next_run_time)) next_run=str(job.next_run_time))
jobs.append(scheduledJob) jobs.append(scheduledJob)
isManualJobInList = any(job for job in jobs if job.job_id == self.ID_MANUAL)
isManualJobRunning = self._jobStatus[self.ID_MANUAL] == self.STATE_RUNNING
if isManualJobRunning and not isManualJobInList:
jobs.append(Schemas.ScheduledJob(job_id=self.ID_MANUAL,
run_frequency=str(self._jobManual.trigger),
next_run=str(self._jobManual.next_run_time)))
return Schemas.ScheduledJobStatus(jobs=jobs, job_results=self._jobResults) return Schemas.ScheduledJobStatus(jobs=jobs, job_results=self._jobResults)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment