package com.zheng.cms.web.schedule;
import com.taobao.pamirs.schedule.IScheduleTaskDealSingle;
import com.taobao.pamirs.schedule.TaskItemDefine;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
/**
* 测试任务
* Created by zhangshuzheng on 2016/11/14.
*/
public class LongSchedule implements IScheduleTaskDealSingle<Long> {
private static Logger _log = LoggerFactory.getLogger(LongSchedule.class);
/**
* 执行单个任务
* @param item Object
* @param ownSign 当前环境名称
* @throws Exception
*/
@Override
public boolean execute(Long item, String ownSign) throws Exception {
_log.info("执行任务:{}", item);
return true;
}
/**
* 根据条件,查询当前调度服务器可处理的任务
* @param taskParameter 任务的自定义参数
* @param ownSign 当前环境名称
* @param taskItemNum 当前任务类型的任务队列数量
* @param taskItemList 当前调度服务器,分配到的可处理队列
* @param eachFetchDataNum 每次获取数据的数量
* @return
* @throws Exception
*/
@Override
public List<Long> selectTasks(String taskParameter, String ownSign, int taskItemNum, List<TaskItemDefine> taskItemList, int eachFetchDataNum) throws Exception {
List<Long> allDrawList = new ArrayList<>();
allDrawList.add(System.currentTimeMillis());
return allDrawList;
}
/**
* 获取任务的比较器,只有在NotSleep模式下需要用到
* @return
*/
@Override
public Comparator<Long> getComparator() {
return new Comparator<Long>() {
public int compare(Long o1, Long o2) {
return o1.compareTo(o2);
}
};
}
}