All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
scheduling.ScheduledService Maven / Gradle / Ivy
package scheduling;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
/**
* 调度管理
*
* @author xuanyangyang
* @since 2020/3/27 17:03
*/
public interface ScheduledService {
/**
* 添加任务
*
* @param name 任务名
* @param cron cron 表达式
* @param action 任务体
* @return 任务future
*/
default ScheduledFuture addTask(String name, String cron, Runnable action) {
return addTask(name, cron, action, false);
}
/**
* 添加任务
*
* @param name 任务名
* @param cron cron 表达式
* @param action 任务体
* @param async 异步
* @return 任务future
*/
ScheduledFuture addTask(String name, String cron, Runnable action, boolean async);
/**
* 添加任务
*
* @param name 任务名
* @param delay 延迟多久
* @param unit 时间单位
* @param action 任务体
* @return 任务future
*/
default ScheduledFuture addTask(String name, long delay, TimeUnit unit, Runnable action) {
return addTask(name, delay, unit, action, false);
}
/**
* 添加任务
*
* @param name 任务名
* @param delay 延迟多久
* @param unit 时间单位
* @param action 任务体
* @param async 异步
* @return 任务future
*/
ScheduledFuture addTask(String name, long delay, TimeUnit unit, Runnable action, boolean async);
/**
* 添加任务
*
* @param name 任务名
* @param delay 延迟多久
* @param period 周期
* @param unit 时间单位
* @param action 任务体
* @return 任务future
*/
default ScheduledFuture addTask(String name, long delay, long period, TimeUnit unit, Runnable action) {
return addTask(name, delay, period, unit, action, false);
}
/**
* 添加任务
*
* @param name 任务名
* @param delay 延迟多久
* @param period 周期
* @param unit 时间单位
* @param action 任务体
* @param async 异步
* @return 任务future
*/
ScheduledFuture addTask(String name, long delay, long period, TimeUnit unit, Runnable action, boolean async);
/**
* 添加任务
*
* @param task 任务
* @return 任务future
*/
ScheduledFuture addTask(DelayedTask task);
/**
* 通过任务实例删除任务
*
* @param task 任务
* @return 删除结果
*/
CompletableFuture removeTask(DelayedTask task);
/**
* 通过任务名删除任务
*
* @param taskName 任务名
* @return 删除结果
*/
CompletableFuture removeTask(String taskName);
/**
* 立刻执行任务
*
* @param taskName 任务名
* @param action 任务体
* @return 任务future
*/
default ScheduledFuture execute(String taskName, Runnable action) {
return execute(taskName, action, false);
}
/**
* 立刻执行任务
*
* @param taskName 任务名
* @param action 任务体
* @param async 异步
* @return 任务future
*/
ScheduledFuture execute(String taskName, Runnable action, boolean async);
}