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, "")