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

BaseBroker - Пишем свой брокер

Base Broker.

BaseBroker

Bases: ABC

BaseBroker - Абстрактный класс, который является фундаментом для Брокеров.

Пример

from qtasks import QueueTasks
from qtasks.brokers.base import BaseBroker

class MyBroker(BaseBroker):
    def __init__(self, name: str = None, storage: BaseStorage = None):
        super().__init__(name=name, storage=storage)
        pass

__init__(name=None, storage=None, log=None, config=None)

Инициализация BaseBroker.

Parameters:

Name Type Description Default
name str

Имя проекта. По умолчанию: None.

None
storage BaseStorage

Хранилище. По умолчанию: None.

None
log Logger

Логгер. По умолчанию: None.

None
config QueueConfig

Конфиг. По умолчанию: None.

None

add(task_name, priority=0, extra=None, args=None, kwargs=None) abstractmethod

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

Parameters:

Name Type Description Default
task_name str

Имя задачи.

required
priority int

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

0
extra dict

Дополнительные параметры задачи.

None
args tuple

Аргументы задачи типа args.

None
kwargs dict

Аргументы задачи типа kwargs.

None

Returns:

Name Type Description
Task Task

schemas.task.Task

add_plugin(plugin, trigger_names=None)

Добавить плагин в класс.

Parameters:

Name Type Description Default
plugin BasePlugin

Плагин

required
trigger_names List[str]

Имя триггеров для плагина. По умолчанию: будет добавлен в Globals.

None

flush_all()

Удалить все данные.

get(uuid) abstractmethod

Получение информации о задаче.

Parameters:

Name Type Description Default
uuid UUID | str

UUID задачи.

required

Returns:

Type Description
Task | None

Task|None: Если есть информация о задаче, возвращает schemas.task.Task, иначе None.

init_plugins()

Инициализация плагинов.

start(worker=None) abstractmethod

Запуск Брокера. Эта функция задействуется основным экземпляром QueueTasks через run_forever.

Parameters:

Name Type Description Default
worker BaseWorker

класс Воркера. По умолчанию: None.

None

stop() abstractmethod

Останавливает брокер. Эта функция задействуется основным экземпляром QueueTasks после завершения функции run_forever.

update(**kwargs) abstractmethod

Обновляет информацию о задаче.

Parameters:

Name Type Description Default
kwargs dict

данные задачи типа kwargs.

{}

update_config(config)

Обновляет конфиг брокера.

Parameters:

Name Type Description Default
config QueueConfig

Конфиг.

required