Browse Source

add input cache for sqoop and conditions tasks (#2118)

Co-authored-by: zhukai <zhukai@ygsoft.com>
pull/2/head
zhukai 5 years ago committed by GitHub
parent
commit
68e4e5c4e0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 12
      dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/formModel.vue
  2. 10
      dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/tasks/_source/datasource.vue
  3. 17
      dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/tasks/conditions.vue
  4. 71
      dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/tasks/sqoop.vue

12
dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/formModel.vue

@ -252,6 +252,7 @@
v-if="taskType === 'CONDITIONS'"
ref="CONDITIONS"
@on-dependent="_onDependent"
@on-cache-dependent="_onCacheDependent"
:backfill-item="backfillItem"
:pre-node="preNode">
</m-conditions>
@ -438,6 +439,8 @@
},
_cacheItem () {
this.conditionResult.successNode[0] = this.successBranch
this.conditionResult.failedNode[0] = this.failedBranch
this.$emit('cacheTaskInfo', {
item: {
type: this.taskType,
@ -446,12 +449,15 @@
params: this.params,
description: this.description,
runFlag: this.runFlag,
conditionResult: this.conditionResult,
dependence: this.cacheDependence,
maxRetryTimes: this.maxRetryTimes,
retryInterval: this.retryInterval,
timeout: this.timeout,
taskInstancePriority: this.taskInstancePriority,
workerGroupId: this.workerGroupId
workerGroupId: this.workerGroupId,
status: this.status,
branch: this.branch
},
fromThis: this
})
@ -657,7 +663,9 @@
retryInterval: this.retryInterval,
timeout: this.timeout,
taskInstancePriority: this.taskInstancePriority,
workerGroupId: this.workerGroupId
workerGroupId: this.workerGroupId,
successBranch: this.successBranch,
failedBranch: this.failedBranch
}
}
},

10
dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/tasks/_source/datasource.vue

@ -122,8 +122,11 @@
},
// Watch the cacheParams
watch: {
cacheParams (val) {
this.$emit('on-dsData', val);
datasource (val) {
this.$emit('on-dsData', {
type: this.type,
datasource: val
});
}
},
created () {
@ -150,7 +153,8 @@
})
}
this.$emit('on-dsData', {
type: this.type
type: this.type,
datasource: this.datasource
})
})
},

17
dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/tasks/conditions.vue

@ -133,6 +133,9 @@
setTimeout(() => {
this.isLoading = false
}, 600)
},
cacheDependence (val) {
this.$emit('on-cache-dependent', val)
}
},
beforeCreate () {
@ -153,7 +156,19 @@
},
destroyed () {
},
computed: {},
computed: {
cacheDependence () {
return {
relation: this.relation,
dependTaskList: _.map(this.dependTaskList, v => {
return {
relation: v.relation,
dependItemList: _.map(v.dependItemList, v1 => _.omit(v1, ['depTasksList', 'state', 'dateValueList']))
}
})
}
}
},
components: { mListBox, mNodeStatus }
}
</script>

71
dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/tasks/sqoop.vue

@ -65,7 +65,7 @@
<m-datasource
ref="refSourceDs"
@on-dsData="_onSourceDsData"
:data="{ type:'MYSQL',datasource:srcDatasource }"
:data="{ type:sourceMysqlParams.srcType,datasource:sourceMysqlParams.srcDatasource }"
>
</m-datasource>
</div>
@ -186,8 +186,8 @@
<div slot="content">
<div class="from-mirror">
<textarea
id="code-sql-mirror"
name="code-sql-mirror"
id="code-sqoop-mirror"
name="code-sqoop-mirror"
style="opacity: 0;">
</textarea>
</div>
@ -385,7 +385,7 @@
<m-datasource
ref="refTargetDs"
@on-dsData="_onTargetDsData"
:data="{ type:type,datasource:targetDatasource }"
:data="{ type:targetMysqlParams.targetType,datasource:targetMysqlParams.targetDatasource }"
>
</m-datasource>
</div>
@ -556,7 +556,8 @@
targetType:"HDFS",
sourceMysqlParams:{
srcDatasource:-1,
srcType:"MYSQL",
srcDatasource:"",
srcTable:"",
srcQueryType:"1",
srcQuerySql:'',
@ -588,7 +589,8 @@
},
targetMysqlParams:{
targetDatasource:-1,
targetType:"MYSQL",
targetDatasource:"",
targetTable:"",
targetColumns:"",
fieldsTerminated:"",
@ -680,6 +682,7 @@
* return data source
*/
_onSourceDsData (o) {
this.sourceMysqlParams.srcType = o.type
this.sourceMysqlParams.srcDatasource = o.datasource
},
@ -687,6 +690,7 @@
* return data source
*/
_onTargetDsData (o) {
this.targetMysqlParams.targetType = o.type
this.targetMysqlParams.targetDatasource = o.datasource
},
@ -697,7 +701,7 @@
var params = null
switch(this.sourceType){
case "MYSQL":
this.sourceMysqlParams.srcQuerySql = editor.getValue()
this.sourceMysqlParams.srcQuerySql = editor ? editor.getValue() : this.sourceMysqlParams.srcQuerySql
params = JSON.stringify(this.sourceMysqlParams)
break;
case "ORACLE":
@ -879,7 +883,9 @@
* Processing code highlighting
*/
_handlerEditor () {
editor = codemirror('code-sql-mirror', {
this._destroyEditor()
editor = codemirror('code-sqoop-mirror', {
mode: 'sql',
readOnly: this.isDetails
})
@ -892,9 +898,15 @@
}
}
this.changes = () => {
this._cacheParams()
}
// Monitor keyboard
editor.on('keypress', this.keypress)
editor.on('changes', this.changes)
editor.setValue(this.sourceMysqlParams.srcQuerySql)
return editor
@ -906,6 +918,27 @@
_onLocalParams (a) {
this.localParams = a
},
_cacheParams () {
this.$emit('on-cache-params', {
concurrency:this.concurrency,
modelType:this.modelType,
sourceType:this.sourceType,
targetType:this.targetType,
sourceParams:this._handleSourceParams(),
targetParams:this._handleTargetParams(),
localParams:this.localParams
});
},
_destroyEditor () {
if (editor) {
editor.toTextArea() // Uninstall
editor.off($('.code-sqoop-mirror'), 'keypress', this.keypress)
editor.off($('.code-sqoop-mirror'), 'changes', this.changes)
editor = null
}
},
},
watch: {
// Listening to sqlType
@ -927,11 +960,12 @@
},
//Watch the cacheParams
cacheParams (val) {
this.$emit('on-cache-params', val);
this._cacheParams()
}
},
created () {
this._destroyEditor()
let o = this.backfillItem
// Non-null objects represent backfill
@ -963,11 +997,28 @@
*/
if (editor) {
editor.toTextArea() // Uninstall
editor.off($('.code-sql-mirror'), 'keypress', this.keypress)
editor.off($('.code-sqoop-mirror'), 'keypress', this.keypress)
editor.off($('.code-sqoop-mirror'), 'changes', this.changes)
editor = null
}
},
computed: {
cacheParams () {
return {
concurrency:this.concurrency,
modelType:this.modelType,
sourceType:this.sourceType,
targetType:this.targetType,
localParams:this.localParams,
sourceMysqlParams:this.sourceMysqlParams,
sourceHdfsParams:this.sourceHdfsParams,
sourceHiveParams:this.sourceHiveParams,
targetHdfsParams:this.targetHdfsParams,
targetMysqlParams:this.targetMysqlParams,
targetHiveParams:this.targetHiveParams
}
}
},
components: { mListBox, mDatasource, mLocalParams}
}

Loading…
Cancel
Save