def _bulk_discovery_status(self, request): job = BulkDiscoveryBackgroundJob() status = job.get_status() return { "is_running": job.is_running(), "job": { "state": status["state"], "result_msg": "\n".join(status["loginfo"]["JobResult"]), "output": "\n".join(status["loginfo"]["JobProgressUpdate"]), }, }
def _bulk_discovery_start(self, request): job = BulkDiscoveryBackgroundJob() if job.is_running(): raise MKUserError( None, _("A bulk discovery job is already running. Please use the " "\"bulk_discovery_status\" call to get the curent status.")) mode, use_cache, do_scan, bulk_size, error_handling = self._get_parameters_from_request( request) tasks = get_tasks(self._get_hosts_from_request(request), bulk_size) try: job.set_function(job.do_execute, mode, use_cache, do_scan, error_handling, tasks) job.start() return { "started": True, } except Exception as e: logger.error("Failed to start bulk discovery", exc_info=True) raise MKUserError(None, _("Failed to start discovery: %s") % e)