Package ru.bitel.bgbilling.kernel.task.common.service

# Interface SchedulerService

public interface SchedulerService
Интерфейс веб-сервиса планировщика заданий.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `deleteCurrentRunTask(int taskId)`
  Метод удаляет выбранную выполяемую задачу из очереди выполняемых асинхронных задач
  `void`
  `deleteTask(int taskId)`
  Удаление выбранной задачи планировщика.
  `int`
  `getActiveTaskCount()`
  Получение числа активных задач планировщика.
  `List<ru.bitel.bgbilling.common.model.KeyValue>`
  `getAvailableSchedulerTasks(String moduleId)`
  Для выбранного модуля подгружает список доступных задач, которые можно добавить в планировщик.
  `List<ru.bitel.bgbilling.common.model.KeyValue>`
  `getModuleAndPluginList()`
  Метод возвращает актуальный список экземпляров модулей и плагинов.
  `List<PeriodicTask>`
  `getPeriodicTaskList()`
  Метод возвращает список периодических задач, выполняемых в данный момент планировщиком.
  `List<RunningTask>`
  `getRunningTaskList()`
  Метод возвращает список асинхронных задач, выполняемых в данный момент планировщиком.
  `List<LightweightTaskData>`
  `getSchedulerTasks(String moduleId)`
  Метод возвращает отфильтрованный и упорядоченный список задач планировщика из БД.
  `SearchResult<SchedulerTaskLog>`
  `getTaskLog(int taskId, Period period, Page page)`
  Получение списка выполненных задач с информацией о времени выполнения, дате начала и окончания задач с возможностью фильтрации задач по дате и времени начала/окончания, по задаче.
  `String`
  `getTaskParameters(String className)`
  `void`
  `immediateRun(LightweightTaskData task)`
  Метод осуществляет немедленный запуск пакета задач или одиночная задача старого типа планировщиком без ожидания очереди выполнения.
  `void`
  `immediateRunOneTask(LightweightTaskData task)`
  Немедленный запуск планировщиком одной выбранной задачи из пакета
  `void`
  `updateTask(LightweightTaskData task)`
  Добавление/Обновление задачи планировщика.

- ## Method Details

  - ### getSchedulerTasks

    List<LightweightTaskData> getSchedulerTasks(String moduleId) throws Exception
    Метод возвращает отфильтрованный и упорядоченный список задач планировщика из БД. Если параметр moduleId не указан или меньше 0, то возвращается общий список задач, которыми располагает планировщик; если значение этого параметра равно 0, то возвращаются только задачи ядра биллинга; если значение параметра равно положительному числу, отличному от 0, то выгружаются задачи, соответствующие экземпляру модуля, представленного указанным числом; если параметр имеет вид p<число>, то выгружаются задачи, соответствующие указанному плагину.
    Parameters:
      `moduleId` - код модуля/плагина
    Returns:
      упорядоченный и отфильтрованный список задач планировщика

  - ### getAvailableSchedulerTasks

    List<ru.bitel.bgbilling.common.model.KeyValue> getAvailableSchedulerTasks(String moduleId) throws Exception
    Для выбранного модуля подгружает список доступных задач, которые можно добавить в планировщик.
    Parameters:
      `moduleId` - код модуля/плагина. Если параметр moduleId - это число > 0, то возвращается список задач для указанного модуля; если значение этого параметра равно 0, то возвращаются задачи ядра; если параметр имеет вид p<число>, то выгружаются задачи, соответствующие указанному плагину.
    Returns:
      список задач

  - ### getModuleAndPluginList

    List<ru.bitel.bgbilling.common.model.KeyValue> getModuleAndPluginList() throws Exception
    Метод возвращает актуальный список экземпляров модулей и плагинов. Используется в фильтрах планировщика, редактора задач
    Returns:
      список модулей и плагинов

  - ### getActiveTaskCount

    int getActiveTaskCount() throws Exception
    Получение числа активных задач планировщика. Используется для отображения текущего состояния планировщика на вкладке с общим списком задач.
    Returns:
      число активных задач.

  - ### updateTask

    void updateTask(LightweightTaskData task) throws Exception
    Добавление/Обновление задачи планировщика. Если id>0, то это обновление, если idinvalid input: '<'=0, то добавление
    Parameters:
      `task` - добавляемая/обновляемая задача

  - ### deleteTask

    void deleteTask(int taskId) throws Exception
    Удаление выбранной задачи планировщика. Заодно удаляются все записи из таблицы зависимых задач.
    Parameters:
      `task` - идентификатор удаляемой задачи.

  - ### immediateRun

    void immediateRun(LightweightTaskData task) throws Exception
    Метод осуществляет немедленный запуск пакета задач или одиночная задача старого типа планировщиком без ожидания очереди выполнения.
    Parameters:
      `task` - запускаемый пакет задач

  - ### immediateRunOneTask

    void immediateRunOneTask(LightweightTaskData task) throws Exception
    Немедленный запуск планировщиком одной выбранной задачи из пакета
    Parameters:
      `task` - запускаемая задача

  - ### getRunningTaskList

    List<RunningTask> getRunningTaskList() throws Exception
    Метод возвращает список асинхронных задач, выполняемых в данный момент планировщиком. Фактически, эти данные берутся из таблицы scheduled_task_run. Метод используется в клиентской части для отображения состояния планировщика.
    Returns:
      список задач

  - ### getPeriodicTaskList

    List<PeriodicTask> getPeriodicTaskList() throws Exception
    Метод возвращает список периодических задач, выполняемых в данный момент планировщиком. Метод используется в клиентской части для отображения состояния планировщика.
    Returns:
      список задач

  - ### deleteCurrentRunTask

    void deleteCurrentRunTask(int taskId) throws Exception
    Метод удаляет выбранную выполяемую задачу из очереди выполняемых асинхронных задач
    Parameters:
      `taskId` - код выполняемой задачи

  - ### getTaskLog

    SearchResult<SchedulerTaskLog> getTaskLog(int taskId, Period period, Page page) throws Exception
    Получение списка выполненных задач с информацией о времени выполнения, дате начала и окончания задач с возможностью фильтрации задач по дате и времени начала/окончания, по задаче.
    Parameters:
      `taskId` - код задачи, по которой фильтруем
      `period` - TODO
      `page` - TODO
    Returns:
      список выполненных задач с информацией о времени выполнения, дате и времени начала/окончания выполнения.

  - ### getTaskParameters

    String getTaskParameters(String className) throws Exception
    Throws:
      `Exception`