package fr.openwide.core.jpa.more.business.task.service; import java.util.Date; import java.util.List; import fr.openwide.core.jpa.business.generic.service.IGenericEntityService; import fr.openwide.core.jpa.exception.SecurityServiceException; import fr.openwide.core.jpa.exception.ServiceException; import fr.openwide.core.jpa.more.business.task.model.QueuedTaskHolder; import fr.openwide.core.jpa.more.business.task.util.TaskStatus; public interface IQueuedTaskHolderService extends IGenericEntityService<Long, QueuedTaskHolder> { Long count(Date since, TaskStatus... statuses); Long count(TaskStatus... statuses); QueuedTaskHolder getNextTaskForExecution(String taskType); QueuedTaskHolder getRandomStalledTask(String taskType, int executionTimeLimitInSeconds); List<Long> initializeTasksAndListConsumable(String queueId) throws ServiceException, SecurityServiceException; List<String> listTypes(); boolean isReloadable(QueuedTaskHolder task); boolean isCancellable(QueuedTaskHolder task); }