浏览代码

重名验证

liweiquan 2 年之前
父节点
当前提交
8ce0dea57e
共有 3 个文件被更改,包括 13 次插入2 次删除
  1. 4 1
      app/crud/job_jdbc_datasource.py
  2. 6 0
      app/routers/job_log.py
  3. 3 1
      app/services/job_info.py

+ 4 - 1
app/crud/job_jdbc_datasource.py

@@ -75,7 +75,9 @@ def create_job_jdbc_datasource(db: Session, item: schemas.JobJdbcDatasourceCreat
     if not con_result:
         raise Exception('连接失败,不允许添加')
     create_time: int = int(time.time())
-    name_item = db.query(models.JobJdbcDatasource).filter(models.JobJdbcDatasource.datasource_name == item.datasource_name).first()
+    name_item = db.query(models.JobJdbcDatasource)\
+        .filter(models.JobJdbcDatasource.datasource_name == item.datasource_name)\
+        .filter(models.JobJdbcDatasource.status == 1).first()
     if name_item:
         raise Exception('数据源名称重复')
     db_item = models.JobJdbcDatasource(**item.dict(), **{
@@ -128,6 +130,7 @@ def update_job_jdbc_datasources(db: Session, ds_id: int, update_item: schemas.Jo
         raise Exception('未找到该数据源')
     name_item = db.query(models.JobJdbcDatasource)\
         .filter(models.JobJdbcDatasource.datasource_name == update_item.datasource_name)\
+        .filter(models.JobJdbcDatasource.status == 1)\
         .filter(models.JobJdbcDatasource.id != ds_id).first()
     if name_item:
         raise Exception('数据源名称重复')

+ 6 - 0
app/routers/job_log.py

@@ -43,11 +43,17 @@ def get_job_logs(job_id: Optional[int] = None, params: Params=Depends(get_page),
     # 循环获取日志
     for af_job_run in af_job_runs:
         job_id = af_to_datax[int(af_job_run.job_id)]
+        # print(af_job_run.to_dict())
         # 获取af_job
         af_job = crud.get_airflow_job_once(db, af_job_run.job_id)
         task = list(af_job.tasks)[0] if len(list(af_job.tasks))>0 else None
         log_res = get_task_log(af_job.id, af_job_run.af_run_id, task['id'])
         job_log = log_res['data'] if 'data' in log_res.keys() else None
+        # execute_result = None
+        # # 若该记录未运行完成,获取运行的状态
+        # if af_job_run.status <= 1:
+        #     run_status = get_job_run_status(af_job_run.id)
+        #     execute_result = run_status['data']['status']
         log = {
             "id": af_job_run.id,
             "job_id": job_id,

+ 3 - 1
app/services/job_info.py

@@ -9,7 +9,8 @@ def create_job_info_services(db: Session, item: schemas.JobInfoCreate):
     create_time: int = int(time.time())
     item_dict = item.dict()
     name_item = db.query(models.JobInfo)\
-        .filter(models.JobInfo.job_desc == item.job_desc).first()
+        .filter(models.JobInfo.job_desc == item.job_desc)\
+        .filter(models.JobInfo.delete_status == 1).first()
     if name_item:
         raise Exception('同步配置名称重复')
     # 定时任务对象转为cron表达式
@@ -52,6 +53,7 @@ def update_job_info_services(db: Session, id: int, update_item: schemas.JobInfoU
     db_item = crud.get_job_info(db,id)
     name_item = db.query(models.JobInfo)\
         .filter(models.JobInfo.job_desc == update_item.job_desc)\
+        .filter(models.JobInfo.delete_status == 1)\
         .filter(models.JobInfo.id != id).first()
     if name_item:
         raise Exception('同步配置名称重复')