|
|
|
@ -1,6 +1,5 @@
|
|
|
|
|
import mysql.connector
|
|
|
|
|
from AiService.Config.Config import *
|
|
|
|
|
import mysql.connector.pooling
|
|
|
|
|
from AiService.Config.Config import MYSQL_CONFIG
|
|
|
|
|
|
|
|
|
|
class TaskModel:
|
|
|
|
|
# 创建连接池
|
|
|
|
@ -30,6 +29,49 @@ class TaskModel:
|
|
|
|
|
print(f"Failed to insert task: {str(e)}")
|
|
|
|
|
raise
|
|
|
|
|
|
|
|
|
|
def update_task_status(self, task_id: str, status: str, result_url: str = None, error_message: str = None):
|
|
|
|
|
"""
|
|
|
|
|
更新任务状态
|
|
|
|
|
"""
|
|
|
|
|
try:
|
|
|
|
|
query = """
|
|
|
|
|
UPDATE t_gen_tasks
|
|
|
|
|
SET status = %s, result_url = %s, error_message = %s, complete_time = NOW()
|
|
|
|
|
WHERE task_id = %s
|
|
|
|
|
"""
|
|
|
|
|
self.cursor.execute(query, (status, result_url, error_message, task_id))
|
|
|
|
|
self.connection.commit()
|
|
|
|
|
except Exception as e:
|
|
|
|
|
print(f"Failed to update task status: {str(e)}")
|
|
|
|
|
raise
|
|
|
|
|
|
|
|
|
|
def get_task_status(self, task_id: str):
|
|
|
|
|
"""
|
|
|
|
|
查询任务状态
|
|
|
|
|
"""
|
|
|
|
|
try:
|
|
|
|
|
query = """
|
|
|
|
|
SELECT task_id, keyword, status, submit_time, complete_time, result_url, error_message
|
|
|
|
|
FROM t_gen_tasks
|
|
|
|
|
WHERE task_id = %s
|
|
|
|
|
"""
|
|
|
|
|
self.cursor.execute(query, (task_id,))
|
|
|
|
|
result = self.cursor.fetchone()
|
|
|
|
|
if result:
|
|
|
|
|
return {
|
|
|
|
|
"task_id": result[0],
|
|
|
|
|
"keyword": result[1],
|
|
|
|
|
"status": result[2],
|
|
|
|
|
"submit_time": result[3],
|
|
|
|
|
"complete_time": result[4],
|
|
|
|
|
"result_url": result[5],
|
|
|
|
|
"error_message": result[6]
|
|
|
|
|
}
|
|
|
|
|
return None
|
|
|
|
|
except Exception as e:
|
|
|
|
|
print(f"Failed to get task status: {str(e)}")
|
|
|
|
|
raise
|
|
|
|
|
|
|
|
|
|
def close(self):
|
|
|
|
|
"""
|
|
|
|
|
将连接归还到连接池
|
|
|
|
|