def action(self): config.user.need_permission("wato.services") tasks = get_tasks(self._get_hosts_to_discover(), self._bulk_size) try: html.check_transaction() self._job.set_function(self._job.do_execute, self._mode, self._use_cache, self._do_scan, self._error_handling, tasks) self._job.start() except Exception as e: if config.debug: raise logger.exception("Failed to start bulk discovery") raise MKUserError( None, _("Failed to start discovery: %s") % ("%s" % e).replace("\n", "\n<br>")) raise HTTPRedirect(self._job.detail_url())
def _bulk_discovery_start(self, request): job = BulkDiscoveryBackgroundJob() if job.is_active(): raise MKUserError( None, _("A bulk discovery job is already running. Please use the " "\"bulk_discovery_status\" call to get the curent status.")) mode, 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, do_scan, error_handling, tasks) job.start() return { "started": True, } except Exception as e: logger.exception("Failed to start bulk discovery") raise MKUserError(None, _("Failed to start discovery: %s") % e)