예제 #1
0
파일: view.py 프로젝트: iyangming/Themis
 def get(self):
     """
     任务导出功能,相当于发布一个任务到celery
     """
     task_uuid = self.get_argument("task_uuid", None)
     rule_type = self.get_argument("rule_type", None)
     job_info = self.mongo_client.get_collection("job").find_one({"id": task_uuid})
     if not job_info:
         raise APIError(u"任务没有查询到", 30060)
     if job_info["status"] != "1":
         raise APIError(u"任务状态异常", 30061)
     taskname = "task_exports.export"
     kwargs = {
         "task_uuid": task_uuid,
         "file_id": task_uuid
     }
     result = self.celery.send_task(taskname, kwargs=kwargs)
     response = {'task-id': result.task_id}
     if backend_configured(result):
         response.update(state=result.state)
     response.update({
         "errcode": 80052,
         "message": u"任务发布成功",
         "task_uuid": task_uuid
     })
     return response
예제 #2
0
파일: view.py 프로젝트: aspros-zhong/Themis
 def get(self):
     """
     任务导出功能,相当于发布一个任务到celery
     """
     task_uuid = self.get_argument("task_uuid", None)
     rule_type = self.get_argument("rule_type", None)
     job_info = self.mongo_client.get_collection("job").find_one({"id": task_uuid})
     if not job_info:
         raise APIError(u"任务没有查询到", 30060)
     if job_info["status"] != "1":
         raise APIError(u"任务状态异常", 30061)
     taskname = "task_exports.export"
     kwargs = {
         "task_uuid": task_uuid,
         "file_id": task_uuid
     }
     result = self.celery.send_task(taskname, kwargs=kwargs)
     response = {'task-id': result.task_id}
     if backend_configured(result):
         response.update(state=result.state)
     response.update({
         "errcode": 80052,
         "message": u"任务发布成功",
         "task_uuid": task_uuid
     })
     return response
예제 #3
0
파일: view.py 프로젝트: iyangming/Themis
 def post(self):
     """
     任务发布功能,发布任务到celery队列
     """
     ipaddress = self.get_argument("ipaddress", None)
     # ipaddress = checkFormat("verifyIp", self.get_argument("ipaddress"))
     port = self.get_argument("port", None)
     objname = self.get_argument("objname", None)
     startdate = self.get_argument("startdate", None)
     stopdate = self.get_argument("stopdate", None)
     rule_type = self.get_argument("rule_type", None)
     oracle_date = self.get_argument("oracle_date", None)
     if not port or not objname:
         raise APIError(u"信息不正确", 30057)
     key = ipaddress + ":" + port
     if key not in self.oracle_account.keys() and key not in self.mysql_account.keys():
         raise APIError(u"ip地址还没有登记", 30059)
     kwargs = {
         "username": objname,
         "rule_type": rule_type.upper(),
         "db_server": ipaddress,
         "db_port": port,
         "task_ip": ipaddress,
         "task_port": port
     }
     taskname = "task_other.analysis"
     if port == "1521":
         kwargs.update({
             "db_type": "O",
             "capture_date":oracle_date,
             "hostname": ipaddress,
             "startdate": startdate,
             "stopdate": stopdate,
             "sid": self.oracle_account[key][0],
             "create_user": self.oracle_account[key][1],
         })
         # kwargs = {}
         options = {}
         # 指定队列名称,否则会导致任务不能执行
         result = self.celery.send_task(taskname, kwargs=kwargs,
             queue="sqlreview_analysis")
         response = {'task-id': result.task_id}
         if backend_configured(result):
             response.update(state=result.state)
         response.update({"errcode": 80058, "message": u"任务发送成功"})
         return response
     else:
         startdate = " ".join([startdate, "00:00:00"])
         stopdate = " ".join([stopdate, "23:59:00"])
         kwargs.update({
             "db_type": "mysql",
             "startdate": startdate,
             "stopdate": stopdate,
             "hostname_max": key,
             "sid": self.mysql_account[key][0],
             "create_user": self.mysql_account[key][1],
         })
         print kwargs
         result = self.celery.send_task(taskname, kwargs=kwargs,
             queue="sqlreview_analysis")
         response = {'task-id': result.task_id}
         if backend_configured(result):
             response.update(state=result.state)
         response.update({"errcode": 80058, "message": u"任务发布成功"})
         return response
예제 #4
0
파일: view.py 프로젝트: aspros-zhong/Themis
 def post(self):
     """
     任务发布功能,发布任务到celery队列
     """
     ipaddress = self.get_argument("ipaddress", None)
     # ipaddress = checkFormat("verifyIp", self.get_argument("ipaddress"))
     port = self.get_argument("port", None)
     objname = self.get_argument("objname", None)
     startdate = self.get_argument("startdate", None)
     stopdate = self.get_argument("stopdate", None)
     rule_type = self.get_argument("rule_type", None)
     oracle_date = self.get_argument("oracle_date", None)
     if not port or not objname:
         raise APIError(u"信息不正确", 30057)
     key = ipaddress + ":" + port
     if key not in self.oracle_account.keys() and key not in self.mysql_account.keys():
         raise APIError(u"ip地址还没有登记", 30059)
     kwargs = {
         "username": objname,
         "rule_type": rule_type.upper(),
         "db_server": ipaddress,
         "db_port": port,
         "task_ip": ipaddress,
         "task_port": port
     }
     taskname = "task_other.analysis"
     if port == "1521":
         kwargs.update({
             "db_type": "O",
             "capture_date":oracle_date,
             "hostname": ipaddress,
             "startdate": startdate,
             "stopdate": stopdate,
             "sid": self.oracle_account[key][0],
             "create_user": self.oracle_account[key][1],
         })
         # kwargs = {}
         options = {}
         # 指定队列名称,否则会导致任务不能执行
         result = self.celery.send_task(taskname, kwargs=kwargs,
             queue="sqlreview_analysis")
         response = {'task-id': result.task_id}
         if backend_configured(result):
             response.update(state=result.state)
         response.update({"errcode": 80058, "message": u"任务发送成功"})
         return response
     else:
         startdate = " ".join([startdate, "00:00:00"])
         stopdate = " ".join([stopdate, "23:59:00"])
         kwargs.update({
             "db_type": "mysql",
             "startdate": startdate,
             "stopdate": stopdate,
             "hostname_max": key,
             "sid": self.mysql_account[key][0],
             "create_user": self.mysql_account[key][1],
         })
         print kwargs
         result = self.celery.send_task(taskname, kwargs=kwargs,
             queue="sqlreview_analysis")
         response = {'task-id': result.task_id}
         if backend_configured(result):
             response.update(state=result.state)
         response.update({"errcode": 80058, "message": u"任务发布成功"})
         return response