使用场景
应用中启动了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>