Перейти к содержанию

SyncTaskExecutor

Sync Task Executor.

SyncTaskExecutor

Bases: BaseTaskExecutor, SyncPluginMixin

SyncTaskExecutor - Синхронный класс исполнителя задач. Используется по умолчанию в SyncThreadWorker.

Пример

from qtasks.executors import SyncTaskExecutor

task_func = TaskExecSchema(...)
task_broker = TaskPrioritySchema(...)
executor = SyncTaskExecutor(task_func, task_broker)
result = executor.execute()

__init__(task_func, task_broker, middlewares=None, log=None, plugins=None)

Инициализация класса. Происходит внутри Worker перед обработкой задачи.

Parameters:

Name Type Description Default
task_func TaskExecSchema

Схема TaskExecSchema.

required
task_broker TaskPrioritySchema

Схема TaskPrioritySchema.

required
middlewares List[Type[TaskMiddleware]]

description. По умолчанию None.

None
log Logger

класс qtasks.logs.Logger. По умолчанию: qtasks._state.log_main.

None

after_execute()

Вызывается после выполнения задачи.

before_execute()

Вызывается перед выполнением задачи.

decode()

Декодирование задачи.

Returns:

Name Type Description
Any Any

Результат задачи.

execute(decode=True)

Вызов задачи.

Parameters:

Name Type Description Default
decode bool

Декодирование результата задачи. По умолчанию: True.

True

Returns:

Type Description
Any | str

Any|str: Результат задачи.

execute_middlewares()

Вызов мидлварей.

run_task()

Вызов задачи.

Returns:

Name Type Description
Any Any | list[Any]

Результат задачи.

run_task_gen(func)

Вызов генератора задачи.

Parameters:

Name Type Description Default
func FunctionType

Функция.

required

Raises:

Type Description
RuntimeError

Невозможно запустить асинхронный генератор задачи в синхронном виде!

Returns:

Name Type Description
Any list[Any]

Результат задачи.