def scan_cancel(frontend_scanid): try: log.info("scanid %s", frontend_scanid) rmqvhost = config.get_frontend_rmqvhost() user_id = user_ctrl.get_userid(rmqvhost) scan_id = scan_ctrl.get_scan_id(frontend_scanid, user_id) (status, progress_details) = scan_ctrl.progress(scan_id) scan_ctrl.cancelling(scan_id) pending_jobs = scan_ctrl.get_pending_jobs(scan_id) cancel_details = None if len(pending_jobs) != 0: celery_probe.job_cancel(pending_jobs) cancel_details = {} cancel_details['total'] = progress_details['total'] cancel_details['finished'] = progress_details['finished'] cancel_details['cancelled'] = len(pending_jobs) scan_ctrl.cancelled(scan_id) scan_flush(frontend_scanid) res = {} res['status'] = status res['cancel_details'] = cancel_details return IrmaTaskReturn.success(res) except: log.info("exception", exc_info=True) return IrmaTaskReturn.error("cancel error on brain")
def scan_flush(frontend_scanid): try: log.info("scan_id %s scan flush requested", frontend_scanid) rmqvhost = config.get_frontend_rmqvhost() user_id = user_ctrl.get_userid(rmqvhost) scan_id = scan_ctrl.get_scan_id(frontend_scanid, user_id) scan_ctrl.flush(scan_id) ftpuser = user_ctrl.get_ftpuser(user_id) ftp_ctrl.flush_dir(ftpuser, frontend_scanid) except: log.info("exception", exc_info=True) return
def scan_progress(frontend_scanid): try: log.info("scanid %s", frontend_scanid) rmqvhost = config.get_frontend_rmqvhost() user_id = user_ctrl.get_userid(rmqvhost) scan_id = scan_ctrl.get_scan_id(frontend_scanid, user_id) (status, progress_details) = scan_ctrl.progress(scan_id) res = {} res['status'] = status res['progress_details'] = progress_details return IrmaTaskReturn.success(res) except: log.info("exception", exc_info=True) return IrmaTaskReturn.error("progress error on brain")