88 async_get ,
99 async_post ,
1010 async_fetch_sqlmap_status ,
11- async_fetch_sqlmap_logs ,
1211 async_fetch_sqlmap_result ,
1312)
1413from app .database .celery_sync_database import SessionLocal
1514from app .models .sqlmap_result import (
1615 SqlmapScanPayload ,
1716 ScanStatus ,
1817 SqlmapScanResult ,
19- SqlmapScanLog ,
2018)
2119from app .core .sqlmap_core import celery_task_add
2220import httpx
@@ -68,33 +66,6 @@ def normalize_sqlmap_result(raw: dict) -> dict:
6866 return result
6967
7068
71- def fetch_sqlmap_logs (session , task : SqlmapScanPayload , logs_json : dict ):
72- logs = logs_json .get ("log" , [])
73-
74- # 已存在日志(避免重复写)
75- existing = {
76- (l .log_time , l .message )
77- for l in session .query (SqlmapScanLog )
78- .filter (SqlmapScanLog .task_id == task .task_id )
79- .all ()
80- }
81-
82- for log in logs :
83- key = (log .get ("time" ), log .get ("message" ))
84- if key in existing :
85- continue
86-
87- session .add (
88- SqlmapScanLog (
89- task_id = task .task_id ,
90- level = log .get ("level" , "INFO" ),
91- message = log .get ("message" ),
92- log_time = log .get ("time" ),
93- celery_task_id = task .celery_task_id ,
94- )
95- )
96-
97-
9869def fetch_sqlmap_result (session , task_id : str , result_json : dict ):
9970 data = result_json .get ("data" , [])
10071
@@ -142,11 +113,6 @@ def poll_single_sqlmap_task(self, sqlmap_task_id: str):
142113
143114 if sqlmap_status == "running" :
144115 task .status = ScanStatus .running
145-
146- # 异步获取日志
147- logs_json = asyncio .run (async_fetch_sqlmap_logs (sqlmap_task_id ))
148- fetch_sqlmap_logs (session , task , logs_json )
149-
150116 session .commit ()
151117
152118 # 再次轮询
@@ -157,14 +123,10 @@ def poll_single_sqlmap_task(self, sqlmap_task_id: str):
157123 task .status = ScanStatus .success
158124 task .finished_at = datetime .utcnow ()
159125
160- logs_json = asyncio .run (async_fetch_sqlmap_logs (sqlmap_task_id ))
161126 result_json = asyncio .run (async_fetch_sqlmap_result (sqlmap_task_id ))
162-
163127 print (result_json )
164128
165- fetch_sqlmap_logs (session , task , logs_json )
166129 fetch_sqlmap_result (session , sqlmap_task_id , result_json )
167-
168130 session .commit ()
169131 return
170132
0 commit comments