• Discussions List : 批量运行Job,用Plan Group和CLI哪个更适合?


    先介绍下故事背景,假如现在要做一个Migration Project,要建立比较多的Plan (比如50个),在Project中你需要完成下面的任务:

    1st round, 要把所有的PLAN都先跑一遍FULL MIGRATION

    2nd round, 然后把所有的PLAN都做若干次incremental migration直到cut off time

    具体要求:
    Job需要串行运行,涉及到人去手工操作的地方要尽量少(比如,不想用每个PLAN里设置SCHEDULE的方式,首先一点是每个PLAN都设置上SCHEDULE这就需要不少时间,之后中途发现某些JOB有些问题,想先暂停所有JOB还得去把它们都DISABLE一遍)。

    现在想到两个方案:

    Plan Group和CLI。但是目前缺少测试数据,所以不清楚哪个方式更实用?具体要怎么操作?等等一些问题。

    昨天做了一些测试,限于篇幅就不把整个测试过程都贴出来了,详细请看下面的文档,这里只是把二者的对比总结一下。

    Plan Group VS CLI.docx

      Plan Group CLI
    是否可以串行运行Job

    是。

    所有Job的Start Time几乎一样,无法准确计算每个Job的运行时间。

    是。

    需要加-WaitforJobComplete参数

    是否可以并行运行Job

    是。

    可以在页面上自由控制并发的Job数。

    否。

    如果不加-WaitforJobComplete参数,就会使脚本中所有的Job都起来。

    中间有Job Failed/Skipped

    后面的Job都停止运行

    (6.3的逻辑,6.4会加Option,可以控制是都停止还是继续Run)

    后面的Job继续运行,如果想停止,把脚本退出即可。
    是否可以设置Schedule
    可以运行的Job类型

    6.3以前只支持Full

    6.3以后也支持了Incremental

    Full和Incremental

    结论:

    Full Job:建议选择Plan Group,GUI上操作比较简单,而且Schedule也容易控制。

    Incremental Job:6.3以前由于Plan Group不支持,所以只能选择CLI;6.3以后可以选择Plan Group。

  • 相关阅读:
    SpringBoot自定义HttpMessageConverter
    第一次使用Linux服务器所栽之坑
    入门Nginx
    HttpClient中的Timout
    SpringBoot启动
    SpringBoot注解
    百度2017春招笔试
    学习JUnit
    Mybatis中的@SelectKey注解
    PHP中MD5函数漏洞
  • 原文地址:https://www.cnblogs.com/davidshi/p/3343189.html
Copyright © 2020-2023  润新知