BaseStorage - Пишем своё хранилище
Base storage class.
BaseStorage
¶
Bases: ABC
BaseStorage
- Абстрактный класс, который является фундаментом для Хранилищ.
Пример¶
from qtasks.storages.base import BaseStorage
class MyStorage(BaseStorage):
def __init__(self, name: str = None):
super().__init__(name=name)
pass
__init__(name=None, global_config=None, log=None, config=None)
¶
Инициализация базового хранилища.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
Имя проекта. По умолчанию: |
None
|
global_config
|
BaseGlobalConfig
|
Глобальный конфиг. По умолчанию: |
None
|
log
|
Logger
|
Логгер. По умолчанию: |
None
|
config
|
QueueConfig
|
Конфиг. По умолчанию: |
None
|
add(uuid, task_status)
abstractmethod
¶
Добавление задачи в хранилище.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
uuid
|
UUID | str
|
UUID задачи. |
required |
task_status
|
TaskStatusNewSchema
|
Схема статуса новой задачи. |
required |
add_plugin(plugin, trigger_names=None)
¶
Добавить плагин в класс.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
plugin
|
BasePlugin
|
Плагин |
required |
trigger_names
|
List[str]
|
Имя триггеров для плагина. По умолчанию: будет добавлен в |
None
|
flush_all()
¶
Удалить все данные.
get(uuid)
abstractmethod
¶
Получение информации о задаче.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
uuid
|
UUID | str
|
UUID задачи. |
required |
Returns:
Type | Description |
---|---|
Task | None
|
Task|None: Если есть информация о задаче, возвращает |
get_all()
abstractmethod
¶
init_plugins()
¶
Инициализация плагинов.
remove_finished_task(task_broker, model)
¶
Обновляет данные хранилища через функцию self.storage.remove_finished_task
.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
task_broker
|
TaskPrioritySchema
|
Схема приоритетной задачи. |
required |
model
|
TaskStatusNewSchema | TaskStatusErrorSchema
|
Модель результата задачи. |
required |
start()
abstractmethod
¶
Запускает хранилище. Эта функция задействуется основным экземпляром QueueTasks
после запуске функции run_forever
.
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 |