def _show_job_info(self): if self._job_snapshot.is_active(): html.h3(_("Current status of synchronization process")) html.set_browser_reload(0.8) else: html.h3(_("Result of last synchronization process")) job_manager = gui_background_job.GUIBackgroundJobManager() job_manager.show_job_details_from_snapshot(job_snapshot=self._job_snapshot) html.br()
def page(self): job_manager = gui_background_job.GUIBackgroundJobManager() back_url = makeuri_contextless(request, [("mode", "background_jobs_overview")]) job_manager.show_status_of_job_classes(gui_background_job.job_registry.values(), job_details_back_url=back_url) if any( job_manager.get_running_job_ids(c) for c in gui_background_job.job_registry.values()): html.immediate_browser_redirect(0.8, "")
def _show_details_page(self, job_id: str) -> Optional[GUIBackgroundStatusSnapshot]: job = gui_background_job.GUIBackgroundJob(job_id) if not job.exists(): html.show_message(_("Background job info is not available")) return None try: job_snapshot = job.get_status_snapshot() except Exception: html.show_message(_("Background job info is not available")) logger.error(traceback.format_exc()) return None job_manager = gui_background_job.GUIBackgroundJobManager() job_manager.show_job_details_from_snapshot(job_snapshot) return job_snapshot
def page(self): job_id = html.request.var("job_id") job = gui_background_job.GUIBackgroundJob(job_id) if not job.exists(): html.message(_("Background job info is not available")) return try: # Race condition, the job might get deleted during snapshot generation job_snapshot = job.get_status_snapshot() except Exception: html.message(_("Background job info is not available")) logger.error(traceback.format_exc()) return job_manager = gui_background_job.GUIBackgroundJobManager() job_manager.show_job_details_from_snapshot(job_snapshot) if job_snapshot.is_running(): html.immediate_browser_redirect(1, "")