使用场景

应用中启动了job任务,为了使压测链路完整且不影响到业务job,因此可在应用中配置影子job任务,来模仿业务的job任务。

操作步骤

Saturn

Saturn任务控制台

进入Saturn任务控制台,新增影子job任务
作业名和分片参数如下配置,其他与业务的job任务配置保持一致。
分片参数添加配置:
PerfomanceTest=true

保存即可。

Takin控制台

无需配置。

Elastic Job

TRO控制台配置

进入TRO控制台,找到使用job任务的应用,进入应用详情-job任务页签,新增job

            <xml>
              <className>com.sf.forecast.job.ElcCalculationReplenishmentJob</className>  //梳理出来的类名
              <cron>0 * * * * *</cron>     //无需更改(可以随意填,不生效,可以不配置)
              <jobType>elastic-job</jobType>   //无需更改
              <jobDataType>simple</jobDataType>   //类型包括dataflow和simple,注意都是小写与业务代码一致,大多用的simple,需要与开发确认
              <listener>com.pradar.listener.TestListener</listener>    //业务代码用到了就要填,一般不会用,需要与开发提前确认
            </xml>

注意:elasticJob目前只支持spring mvc的项目,或者用到了spring事务,如果是spring mvc的项目,必须请求过该应用的任意一个接口,job才可启动,如果是用了spring事务,spring事务的代码有执行过,job才可启动

quartz1.X

TRO控制台配置

simple类型的job


进入TRO控制台,找到使用job任务的应用,进入应用详情-job任务页签,新增job

            <xml>
              <className>com.pamirs.quartz1.demo.job.SimpleTriggerJob</className>  //梳理出来的类名
              <cron>0 * * * * *</cron>     //无需更改(可以随意填,不生效)
              <jobType>quartz</jobType>    //无需更改
              <jobDataType>simple</jobDataType>   //与业务代码一致,
            </xml>

dataflow类型的job

            <xml>
              <className>com.pamirs.quartz1.demo.job.CronTriggerJob</className>  //梳理出来的类名
              <cron>0 * * * * *</cron>     //无需更改(可以随意填,不生效)
              <jobType>quartz</jobType>    //无需更改
              <jobDataType>dataflow</jobDataType>   //与业务代码一致,
            </xml>

quartz2.X

TRO控制台配置

simple类型的job


进入TRO控制台,找到使用job任务的应用,进入应用详情-job任务页签,新增job

                       <xml>
              <className>com.pamirs.quartz2.demo.job.SimpleTriggerJob</className>
              <cron>0/10 * * * * ?</cron>
              <jobType>quartz</jobType>
              <jobDataType>simple</jobDataType>
              <listener>simpleJobTrigger.simpleTriggerGroup</listener>//填写格式为:业务trigger的名称.trigger的组名称
            </xml>

dataflow类型的job

            <xml>
              <className>com.pamirs.quartz2.demo.job.CronTriggerJob</className>
              <cron>0/10 * * * * ?</cron>
              <jobType>quartz</jobType>
              <jobDataType>dataflow</jobDataType>
           <listener>cronJobTrigger.cronJobTriggerGroup</listener>//填写格式为:业务trigger的名称.trigger的组名称
            </xml>

xxl-job

xxl-job写法情况一

1、xxl-job写法情况一:注意该方式必须为spring-mvc工程,并且发起过一次流量请求,其他方式暂无法支持

xxl-job控制台配置

进入xxl-job任务控制台,新增影子job任务。
其中,JobHandler填写PT_类名表示影子请求,任务描述用以区分影子任务,其他与业务保持一致

PT_ExtendsJob

TRO控制台配置

进入TRO控制台,找到使用job任务的应用,进入应用详情-job任务页签,新增job

<xml>
  <className>com.sf.forecast.job.ExtendsJob</className>  //与业务一致
  <cron>0/10 * * * * ?</cron>    //与业务一致
  <jobType>xxl-job</jobType>  
  <jobDataType>dataflow</jobDataType>      //与业务一致
  <beanName>demoJobHandler</beanName>      //与业务一致
  <listener>demoJobHandler</listener>      //与业务一致
</xml>

xxl-job写法二

xxl-job控制台配置

xxl-job控制台配置:其他参数与业务一致,需要在任务参数新增压测参数,如果有业务参数随意加在任意位置,压测流量中会去除该压测参数,无需配置TRO控制台

保存即可。
ForceCop控制台无需配置。

Spring-scheduled

注意:工程必须为spring-mvc工程,并且发起过一次流量请求,其他方式暂无法支持。

TRO控制台配置:

进入TRO控制台,找到使用job任务的应用,进入应用详情-job任务页签,新增job

<xml> <className>com.pamirs.agent.scheduled.demo.job.SampleScheduledTask.sampleTaskDemo</className>     //className配置到方法名

  <cron>0/10 * * * * *</cron>   
  <fixedDelay>1000</fixedDelay>
  <fixedRate>1000</fixedRate>
  <initialDelay>1000</initialDelay>  // cron fixedDelay fixedRate 三者必须配置一个,cron优先级最高,initialDelay 在 fixedDelay fixedRate 配置时会生效

  <jobType>schedule-job</jobType> 
  <jobDataType>simple</jobDataType>
</xml>
文档更新时间: 2021-12-01 11:18   作者:ShuLieVip