Unverified Commit 68e4e5c4 authored by zhukai's avatar zhukai Committed by GitHub
Browse files

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



Co-authored-by: default avatarzhukai <zhukai@ygsoft.com>
parent 7473d5e9
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -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
        }
      }
    },
+7 −3
Original line number Diff line number Diff line
@@ -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
        })
      })
    },
+18 −3
Original line number Diff line number Diff line
@@ -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>
+61 −10
Original line number Diff line number Diff line
@@ -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}
  }