PythonTask - Базовый класс для выполняемой задачи

class axioma.core.PythonTask

Связывает вместе пользовательскую функцию и аргументы к ней для отложенного выполнения. Если внутри пользовательской функции возникло исключение, то задача корректно завершиться с сообщением об ошибке. Эту ситуацию можно обработать отдельно если подписаться на сигнал pythonError()

PythonTask(fn, *args, **kwargs)

Конструктор принимающий пользовательскую функцию и аргументы к ней

Параметры
  • fn (function) – Пользовательская функция

  • args (tuple) – Набор аргументов которые будут переданы в пользовательскую функцию при вызове

  • kwargs (dict) – Словарь который будет передан в пользовательскую функцию при вызове

set_progress_handler(progressHandler)

Устанавливает пользовательский обработчик прогресса операции

Параметры

progressHandler (PythonProgressHandler) – Обработчик прогресса операции

run_impl(fn, *args, **kwargs)

Выполняет пользовательскую функцию, вызыватся из onStart() используется в наследниках для переопределния поведения. Например PythonTaskManageable

Параметры
  • args (tuple) – Набор аргументов которые будут переданы в пользовательскую функцию при вызове

  • kwargs (dict) – Словарь который будет передан в пользовательскую функцию при вызове

onStart()

Переопределяет метод базового класса Task. Внутри этого метода вызывается абстрактный метод run_impl() который запускает выполнение пользовательской функции. Этот метод не выбрасывает исключения. Все исключения выборошенные пользовательской функцией ловятся, а в лог выводится стек с ошибкой. Так же можно подписаться на сигнал pythonError() для ручной обработки ошибок

progressHandler

Обработчик прогресса операции

Type

PythonProgressHandler