Документация
ОС Аврора 5.1.1

Класс Task

Управляет фоновой задачей. Подробнее…

#include <RuntimeManager/Task>

Диаграмма наследования для RuntimeManager::Task:

Публичные типы

enum class StopFlag { None = 0 , Disable = 1 << 0 }
enum State { Unknown , Running , NotRunning , Waiting }
using ErrorCallback = std::function< void(const Error &error)>

Сигналы

void stateChanged (State state)

Публичные функции

Task (const QString &taskId, QObject *parent=Q_NULLPTR)
QString taskId () const
Task & withArguments (const QStringList &arguments)
QStringList arguments () const
State state () const
Task & withMaximumRunningTime (int seconds)
int maximumRunningTime () const
Task & withInterval (int seconds)
int interval () const
Task & withAutostart (bool autostart)
bool autostart () const
Task & withStartDelay (int seconds)
int startDelay () const
Task & withStartTime (const QDateTime &time)
QDateTime startTime () const
Task & withSchedule (const Schedule &schedule)
Schedule schedule () const
Task & withPriority (int seconds)
int priority () const
Task & withIpcSocket (bool enabled=true)
bool hasIpcSocket () const
void start (const ErrorCallback &callback={})
void stop (StopFlags stopFlags=StopFlag::None, const ErrorCallback &callback={})
QString socketPath () const

Подробное описание

Управляет фоновой задачей.

Класс Task предоставляет приложениям возможность запуска фоновых заданий, мониторинга их выполнения и остановки.

Typedef-члены

ErrorCallback

using RuntimeManager::Task::ErrorCallback = std::function<void(const Error &error)>

Функция обратного вызова для методов start() и stop().

Описание перечислений

State

enum RuntimeManager::Task::State
Перечисления
Unknown Состояние ещё не получено
Running Задача выполняется
NotRunning Задача не выполняется и не была запущена
Waiting Задача не выполняется, но будет автоматически активирована при соблюдении условий или по расписанию

StopFlag

enum class RuntimeManager::Task::StopFlag strong
Перечисления
None Завершается процесс с SIGTERM и SIGKILL
Disable Запрещает последующий запуск повторяющихся или запланированных процессов

Описание конструкторов и деструктора

Task()

Task::Task (const QString & taskId, QObject * parent = Q_NULLPTR )

Конструктор.

Описание функций-членов

arguments()

QStringList Task::arguments () const

Получает аргументы, переданные новому процессу.

Возвращает список аргументов.

autostart()

bool Task::autostart () const

Получает информацию о том, должна ли периодическая задача автоматически запускаться в следующих сессиях.

Возвращает true, если автозапуск включён.

hasIpcSocket()

bool Task::hasIpcSocket () const

Получает информацию о том, требуется ли задаче IPC-сокет.

Возвращает true, если требуется IPC-сокет.

interval()

int Task::interval () const

Получает интервал времени для периодических задач (в секундах).

Возвращает интервал времени.

maximumRunningTime()

int Task::maximumRunningTime () const

Получает максимальное время выполнения данной задачи (в секундах). По умолчанию: -1 (без ограничения).

Возвращает максимальное время выполнения.

priority()

int Task::priority () const

Получает приоритет задачи. По умолчанию 0.

Возвращает приоритет задачи в виде уровня "nice".

schedule()

Schedule Task::schedule () const

Получает расписание данной задачи.

Возвращает расписание данной задачи.

socketPath()

QString Task::socketPath () const

Если задача была создана с IPC-сокетом, данный метод возвращает путь к файлу сокета.

Возвращает путь к файлу сокета.

См. также withIpcSocket()

start()

void Task::start (const ErrorCallback & callback = {})

Запускает фоновое задание, определённое ID задачи (task ID), указанным во время конструирования. Задача будет выполнена в отдельном процессе.

Аргументы командной строки могут быть указаны с помощью метода setArguments().

Фактическое состояние процесса можно отслеживать, прослушивая сигнал stateChanged().

Параметры

callback Функция, вызываемая при завершении операции

startDelay()

int Task::startDelay () const

Получает задержку запуска данной задачи в секундах. По умолчанию 0.

Возвращает задержку запуска данной задачи в секундах.

startTime()

QDateTime Task::startTime () const

Получает время запуска данной задачи.

Возвращает время запуска данной задачи.

state()

Task::State Task::state () const

Получает текущее состояние задачи.

Возвращает состояние задачи.

stateChanged

void RuntimeManager::Task::stateChanged (State state) signal

Испускается при изменении состояния процесса.

Параметры

state Указывает текущее состояние процесса

См. также state()

stop()

void Task::stop (StopFlags stopFlags = StopFlag::None, const ErrorCallback & callback = {} )

Запрашивает остановку задачи. Вызов данного метода при неактивной задаче не считается ошибкой.

Параметры

callback Функция, вызываемая при завершении операции

taskId()

QString Task::taskId () const

Возвращает ID задачи, переданный при создании данного объекта.

Возвращает ID задачи.

withArguments()

Task & Task::withArguments (const QStringList & arguments)

Задаёт аргументы, которые будут переданы в основную функцию выполняемого процесса.

withAutostart()

Task & Task::withAutostart (bool autostart)

Задаёт, должна ли периодическая задача автоматически запускаться также в последующих сеансах работы. По умолчанию периодические задачи необходимо явно запускать каждый раз.

withInterval()

Task & Task::withInterval (int seconds)

Устанавливает временной интервал (в секундах) для периодических задач. Если это не указано, периодическая задача не будет запущена.

withIpcSocket()

Task & Task::withIpcSocket (bool enabled = true)

Устанавливает, должно ли средство выполнения создавать IPC-сокет для обеспечения взаимодействия между приложением и фоновой задачей.

См. также socketPath()

withMaximumRunningTime()

Task & Task::withMaximumRunningTime (int seconds)

Устанавливает максимальное время выполнения (в секундах) для задачи.

withPriority()

Task & Task::withPriority (int seconds)

Устанавливает приоритет задачи. Значение интерпретируется так же, как параметр команды "nice" в UNIX. Следует обратить внимание, что указание отрицательных значений (более высокий приоритет) в настоящее время не разрешено.

withSchedule()

Task & Task::withSchedule (const Schedule & schedule)

Устанавливает расписание для фоновой задачи. Это влияет только на задачи типа "scheduled".

withStartDelay()

Task & Task::withStartDelay (int seconds)

Устанавливает задержку (в секундах) перед запуском задачи. Это влияет только на задачи типа "worker".

withStartTime()

Task & Task::withStartTime (const QDateTime & time)

Устанавливает время запуска фоновой задачи. Это влияет только на задачи типа "scheduled".

Следует учитывать, что данная настройка создаёт задание, которое выполнится единожды. Если нужно настроить повторяющиеся задачи, следует использовать setSchedule().

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.