parent
05b2a60c0e
commit
04abd88475
@ -0,0 +1,59 @@
|
|||||||
|
package com.xxl.job.admin.core.thread;
|
||||||
|
|
||||||
|
import com.xxl.job.admin.core.trigger.XxlJobTrigger;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import java.util.concurrent.LinkedBlockingQueue;
|
||||||
|
import java.util.concurrent.ThreadPoolExecutor;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* job trigger thread pool helper
|
||||||
|
*
|
||||||
|
* @author xuxueli 2018-07-03 21:08:07
|
||||||
|
*/
|
||||||
|
public class JobTriggerPoolHelper {
|
||||||
|
private static Logger logger = LoggerFactory.getLogger(JobTriggerPoolHelper.class);
|
||||||
|
|
||||||
|
|
||||||
|
// ---------------------- trigger pool ----------------------
|
||||||
|
|
||||||
|
private ThreadPoolExecutor triggerPool = new ThreadPoolExecutor(
|
||||||
|
50,
|
||||||
|
500,
|
||||||
|
60L,
|
||||||
|
TimeUnit.SECONDS,
|
||||||
|
new LinkedBlockingQueue<Runnable>(100000),
|
||||||
|
new ThreadPoolExecutor.CallerRunsPolicy());
|
||||||
|
|
||||||
|
|
||||||
|
public void addTrigger(final int jobId){
|
||||||
|
triggerPool.execute(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
XxlJobTrigger.trigger(jobId);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void stop(){
|
||||||
|
//triggerPool.shutdown();
|
||||||
|
triggerPool.shutdownNow();
|
||||||
|
logger.info(">>>>>>>>> xxl-job trigger thread pool shutdown success.");
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------------------- helper ----------------------
|
||||||
|
|
||||||
|
private static JobTriggerPoolHelper helper = new JobTriggerPoolHelper();
|
||||||
|
|
||||||
|
|
||||||
|
public static void trigger(int jobId) {
|
||||||
|
helper.addTrigger(jobId);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void toStop(){
|
||||||
|
helper.stop();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in new issue