You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by li...@apache.org on 2020/03/12 10:08:59 UTC
[incubator-dolphinscheduler] branch dev updated: add input cache
for sqoop and conditions tasks (#2118)
This is an automated email from the ASF dual-hosted git repository.
lidongdai pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-dolphinscheduler.git
The following commit(s) were added to refs/heads/dev by this push:
new 68e4e5c add input cache for sqoop and conditions tasks (#2118)
68e4e5c is described below
commit 68e4e5c4e01173dae2836aa5f042f1b71a657603
Author: zhukai <bo...@qq.com>
AuthorDate: Thu Mar 12 18:08:49 2020 +0800
add input cache for sqoop and conditions tasks (#2118)
Co-authored-by: zhukai <zh...@ygsoft.com>
---
.../home/pages/dag/_source/formModel/formModel.vue | 12 +++-
.../_source/formModel/tasks/_source/datasource.vue | 10 ++-
.../dag/_source/formModel/tasks/conditions.vue | 21 ++++++-
.../pages/dag/_source/formModel/tasks/sqoop.vue | 71 +++++++++++++++++++---
4 files changed, 96 insertions(+), 18 deletions(-)
diff --git a/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/formModel.vue b/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/formModel.vue
index ec228fa..cc1c8b6 100755
--- a/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/formModel.vue
+++ b/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
}
}
},
diff --git a/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/tasks/_source/datasource.vue b/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/tasks/_source/datasource.vue
index aa067d8..a173139 100644
--- a/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/tasks/_source/datasource.vue
+++ b/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
})
})
},
diff --git a/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/tasks/conditions.vue b/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/tasks/conditions.vue
index e4f9b3f..fb3f2c2 100644
--- a/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/tasks/conditions.vue
+++ b/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/tasks/conditions.vue
@@ -19,7 +19,7 @@
<m-list-box>
<div slot="text">{{$t('Custom Parameters')}}</div>
<div slot="content">
- <div class="dep-opt">
+ <div class="dep-opt">
<a href="javascript:"
@click="!isDetails && _addDep()"
class="add-dep">
@@ -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>
@@ -257,4 +272,4 @@
}
}
}
-</style>
\ No newline at end of file
+</style>
diff --git a/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/tasks/sqoop.vue b/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/tasks/sqoop.vue
index eead745..6594ffc 100644
--- a/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/tasks/sqoop.vue
+++ b/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}
}