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

BaseQueueTasks

Base QueueTasks.

BaseQueueTasks

Base класс для QueueTasks. Хранит в себе общую логику для работы с задачами в очереди.

__init__(name='QueueTasks', broker_url=None, broker=None, worker=None, log=None, config=None)

Инициализация базового класса для QueueTasks.

Parameters:

Name Type Description Default
name str

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

'QueueTasks'
broker_url str

URL для Брокера. По умолчанию: None.

None
broker BaseBroker

Брокер. По умолчанию: qtasks.brokers.AsyncRedisBroker.

None
worker BaseWorker

Воркер. По умолчанию: qtasks.workers.AsyncWorker.

None
log Logger

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

None
config QueueConfig

Конфиг. По умолчанию: qtasks.configs.QueueConfig.

None

add_middleware(middleware)

Добавить мидлварь.

Parameters:

Name Type Description Default
middleware Type[BaseMiddleware]

Мидлварь.

required

Raises:

Type Description
ImportError

Невозможно подключить Middleware: Он не относится к классу BaseMiddleware!

add_plugin(plugin, trigger_names=None, component=None)

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

Parameters:

Name Type Description Default
plugin Type[BasePlugin]

Класс плагина.

required
trigger_names List[str]

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

None
component str

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

None

include_router(router)

Добавить Router.

Parameters:

Name Type Description Default
router Router

Роутер qtasks.routers.Router.

required

init_plugins()

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

task(name=None, *, priority=None, echo=False, retry=None, retry_on_exc=None, decode=None, tags=None, generate_handler=None, executor=None, middlewares=None, **kwargs)

task(name: str | None = None, *, priority: int | None = None, echo: bool = False, retry: int | None = None, retry_on_exc: list[Type[Exception]] | None = None, decode: Callable | None = None, tags: list[str] | None = None, generate_handler: Callable | None = None, executor: Type[BaseTaskExecutor] | None = None, middlewares: List[TaskMiddleware] | None = None, **kwargs) -> Callable[[Callable[P, R]], Union[SyncTask[P, R], AsyncTask[P, R]]]

Декоратор для регистрации задач.

Parameters:

Name Type Description Default
name str

Имя задачи. По умолчанию: func.__name__.

None
priority int

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

None
echo bool

Включить вывод в консоль. По умолчанию: False.

False
retry int

Количество попыток повторного выполнения задачи. По умолчанию: None.

None
retry_on_exc list[Type[Exception]]

Исключения, при которых задача будет повторно выполнена. По умолчанию: None.

None
decode Callable

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

None
tags list[str]

Теги задачи. По умолчанию: None.

None
generate_handler Callable

Генератор обработчика. По умолчанию: None.

None
executor Type[BaseTaskExecutor]

Класс BaseTaskExecutor. По умолчанию: SyncTaskExecutor.

None
middlewares List[TaskMiddleware]

Мидлвари. По умолчанию: Пустой массив.

None

Raises:

Type Description
ValueError

Если задача с таким именем уже зарегистрирована.

ValueError

Неизвестный метод {self._method}.

Returns:

Type Description
Callable[[Callable[P, R]], Union[SyncTask[P, R], AsyncTask[P, R]]]

SyncTask | AsyncTask: Декоратор для регистрации задачи.