datax_json.py 821 B

123456789101112131415161718192021222324
  1. from asyncio.log import logger
  2. import time
  3. from typing import List
  4. from app import models, schemas
  5. from sqlalchemy.orm import Session
  6. from app.core.datax import *
  7. from configs.logging import logger
  8. def generate_datax_json(db: Session, param: schemas.DataXJsonParam):
  9. reader_ds = db.query(models.JobJdbcDatasource).filter(models.JobJdbcDatasource.id == param.reader_datasource_id).first()
  10. if not reader_ds:
  11. raise Exception('Reader datasource not found')
  12. writer_ds = db.query(models.JobJdbcDatasource).filter(models.JobJdbcDatasource.id == param.writer_datasource_id).first()
  13. if not writer_ds:
  14. raise Exception('Writer datasource not found')
  15. engine = DataXEngine()
  16. job = engine.build_job(reader_ds, writer_ds, param, is_show=False)
  17. logger.info(job)
  18. return {'json': job}