diff --git a/myapp/models/model_aihub.py b/myapp/models/model_aihub.py index 014bad9c..1b80bef3 100644 --- a/myapp/models/model_aihub.py +++ b/myapp/models/model_aihub.py @@ -12,7 +12,7 @@ metadata = Model.metadata conf = app.config -class Aihub(Model,ImportMixin,MyappModelBase): +class Aihub(Model,MyappModelBase): __tablename__ = 'aihub' id = Column(Integer, primary_key=True) @@ -54,7 +54,7 @@ class Aihub(Model,ImportMixin,MyappModelBase):
' + dag_json + '
')
-
-
- @renders('config')
- def config_html(self):
- config = self.config or '{}'
- return Markup('' + config + '
')
-
- @renders('expand')
- def expand_html(self):
- return Markup('' + self.expand + '
')
-
- @renders('parameter')
- def parameter_html(self):
- return Markup('' + self.parameter + '
')
-
-
- @property
- def run_instance(self):
- # workflow = db.session.query(Workflow).filter_by(foreign_key= str(self.id)).filter_by(status= 'Running').filter_by(create_time > datetime.datetime.now().strftime("%Y-%m-%d")).all()
- # workflow_num = len(workflow) if workflow else 0
- # url = '/workflow_modelview/list/?_flt_2_name=%s'%self.name.replace("_","-")[:54]
- url_path = conf.get('MODEL_URLS', {}).get("etl_task_instance")
- # print(url)
- return Markup(f"任务实例")
-
-
def clone(self):
return ETL_Pipeline(
name=self.name.replace('_', '-'),
@@ -86,10 +57,11 @@ class ETL_Task(Model,ImportMixin,AuditMixinNullable,MyappModelBase):
id = Column(Integer, primary_key=True)
name = Column(String(100),nullable=False,unique=True)
describe = Column(String(200),nullable=False)
- etl_pipeline_id = Column(Integer, ForeignKey('etl_pipeline.id'),nullable=False) # 定义外键
- etl_pipeline = relationship(
- "ETL_Pipeline", foreign_keys=[etl_pipeline_id]
- )
+ # etl_pipeline_id = Column(Integer, ForeignKey('etl_pipeline.id'),nullable=False) # 定义外键
+ # etl_pipeline = relationship(
+ # "ETL_Pipeline", foreign_keys=[etl_pipeline_id]
+ # )
+ etl_pipeline_id = Column(Integer)
template = Column(String(100),nullable=False)
task_args = Column(Text(65536),default='{}')
etl_task_id = Column(String(100),nullable=False)
@@ -102,10 +74,6 @@ class ETL_Task(Model,ImportMixin,AuditMixinNullable,MyappModelBase):
def __repr__(self):
return self.name
- @property
- def etl_pipeline_url(self):
- pipeline_url="/etl_pipeline_modelview/web/" +str(self.etl_pipeline.id)
- return Markup(f'{self.etl_pipeline.describe}')
diff --git a/myapp/models/model_job.py b/myapp/models/model_job.py
index b908887c..8abf285e 100644
--- a/myapp/models/model_job.py
+++ b/myapp/models/model_job.py
@@ -186,12 +186,14 @@ class Pipeline(Model,ImportMixin,AuditMixinNullable,MyappModelBase):
parallelism = Column(Integer, nullable=False,default=1) # 同一个pipeline,最大并行的task数目
alert_status = Column(String(100), default='Pending,Running,Succeeded,Failed,Terminated') # 哪些状态会报警Pending,Running,Succeeded,Failed,Unknown,Waiting,Terminated
alert_user = Column(String(300), default='')
+
expand = Column(Text(65536),default='[]')
depends_on_past = Column(Boolean, default=False)
max_active_runs = Column(Integer, nullable=False,default=3) # 最大同时运行的pipeline实例
expired_limit = Column(Integer, nullable=False, default=1) # 过期保留个数,此数值有效时,会优先使用,覆盖max_active_runs的功能
parameter = Column(Text(65536), default='{}')
+
def __repr__(self):
return self.name
diff --git a/myapp/models/model_metadata_metric.py b/myapp/models/model_metadata_metric.py
index 45b7a84e..6e4563b1 100644
--- a/myapp/models/model_metadata_metric.py
+++ b/myapp/models/model_metadata_metric.py
@@ -1,4 +1,5 @@
from flask_appbuilder import Model
+from flask import Markup
from sqlalchemy import (
Boolean,
Text,
@@ -30,10 +31,14 @@ class Metadata_metric(Model,AuditMixinNullable,ImportMixin,MyappModelBase):
status = Column(String(100), nullable=True, default='') # 状态 下线 上线 创建中
task_id = Column(String(200), nullable=True, default='') # 所有相关任务id
public = Column(Boolean, default=True) # 是否公开
+ remark = Column(Text(65536), nullable=True,default='') # 备注
expand = Column(Text(65536), nullable=True,default='{}')
def __repr__(self):
return self.name
+ @property
+ def remark_html(self):
+ return "