BaseTaskExecutor - Пишем свой исполнитель задач
Base Task Executor.
BaseTaskExecutor
¶
Bases: ABC
BaseTaskExecutor
- Абстрактный класс, который является фундаментом для классов исполнителей задач.
Пример¶
from qtasks.executors.base import BaseTaskExecutor
class MyTaskExecutor(BaseTaskExecutor):
def __init__(self, name: str):
super().__init__(name=name)
pass
__init__(task_func, task_broker, middlewares=None, log=None, plugins=None)
¶
Инициализация класса. Происходит внутри Worker
перед обработкой задачи.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
task_func
|
TaskExecSchema
|
Схема |
required |
task_broker
|
TaskPrioritySchema
|
Схема |
required |
middlewares
|
List[Type[TaskMiddleware]]
|
description. По умолчанию |
None
|
log
|
Logger
|
класс |
None
|
add_plugin(plugin, trigger_names=None)
¶
Добавить плагин в класс.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
plugin
|
BasePlugin
|
Плагин |
required |
trigger_names
|
List[str]
|
Имя триггеров для плагина. По умолчанию: будет добавлен в |
None
|
after_execute()
¶
Вызывается после выполнения задачи.
before_execute()
¶
Вызывается перед выполнением задачи.
decode()
¶
Декодирование задачи.
Returns:
Name | Type | Description |
---|---|---|
str |
str
|
Результат задачи. |
execute(decode=True)
abstractmethod
¶
Обработка задачи.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
decode
|
bool
|
Декодирование. По умолчанию: |
True
|
Returns:
Type | Description |
---|---|
Any | str
|
Any|str: Результат задачи. |
execute_middlewares()
¶
Вызов мидлварей.
run_task()
¶
Вызов задачи.
Returns:
Name | Type | Description |
---|---|---|
Any |
Any
|
Результат задачи. |