def get_tasks_status_as_dict(cls, **kwargs): """Get the status of one task and return JSON (dict) result""" _nmap_tasks = NmapTask.objects.filter(**kwargs).order_by('created') _jtarray = [] for _nmap_task in _nmap_tasks: _status_dict = { 'id': str(_nmap_task.task_id), 'status': _nmap_task.completed_status, 'progress': 0, 'ready': 0 } if _nmap_task.completed == 1: _status_dict.update( {'status': str(_nmap_task.completed_status)}) _status_dict.update({'progress': 100}) _status_dict.update({'ready': 1}) _status_dict.update({'etc': 0}) _jtarray.append(_status_dict) else: # tasks not marked as completed. Let's check celery task for status from nmap.tasks import get_scan_task_status _status_dict = get_scan_task_status(_nmap_task.task_id) _jtarray.append(_status_dict) return _jtarray
def get_tasks_status_as_dict(cls, **kwargs): """Get the status of one task and return JSON (dict) result""" _nmap_tasks = NmapTask.objects.filter(**kwargs).order_by('created') _jtarray = [] for _nmap_task in _nmap_tasks: _status_dict = {'id': str(_nmap_task.task_id), 'status': _nmap_task.completed_status, 'progress': 0, 'ready': 0} if _nmap_task.completed == 1: _status_dict.update({'status': str(_nmap_task.completed_status)}) _status_dict.update({'progress': 100}) _status_dict.update({'ready': 1}) _status_dict.update({'etc': 0}) _jtarray.append(_status_dict) else: # tasks not marked as completed. Let's check celery task for status from nmap.tasks import get_scan_task_status _status_dict = get_scan_task_status(_nmap_task.task_id) _jtarray.append(_status_dict) return _jtarray
def cancel_pending_task_by_id(cls, task_id=task_id): """Cancel the execution of a task that is not yet running""" from nmap.tasks import get_scan_task_status print("trying to stop " + task_id) _scan_task_status = get_scan_task_status(task_id) if _scan_task_status['status'] == "PENDING": app.control.revoke(task_id) return True else: print("not PENDING!") return False
def stop_task_by_id(cls, task_id=task_id): """Cancel the execution of a task that is not yet running""" print("trying to stop " + task_id) from nmap.tasks import get_scan_task_status _scan_task_status = get_scan_task_status(task_id) if _scan_task_status['status'] == "PENDING": app.control.revoke(task_id) return True else: app.control.revoke(task_id, terminate=True, signal="SIGKILL") return False """