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

AsyncRedisStorage

Async Redis storage.

AsyncRedisStorage

Bases: BaseStorage, AsyncPluginMixin

Хранилище, работающий с Redis, сохраняя информацию о задачах.

Example

from qtasks import QueueTasks
from qtasks.brokers import AsyncRedisBroker
from qtasks.storages import AsyncRedisStorage

storage = AsyncRedisBroker(name="QueueTasks")
broker = AsyncRedisBroker(name="QueueTasks", storage=storage)

app = QueueTasks(broker=broker)

__init__(name='QueueTasks', url='redis://localhost:6379/0', queue_process='task_process', redis_connect=None, global_config=None, log=None, config=None)

Инициализация асинхронного Redis хранилища.

Parameters:

Name Type Description Default
name str

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

'QueueTasks'
url str

URL для подключения к Redis. По умолчанию: "redis://localhost:6379/0".

'redis://localhost:6379/0'
queue_process str

Имя канала для задач в процессе. По умолчанию: "task_process".

'task_process'
redis_connect Redis

Внешний класс подключения к Redis. По умолчанию: None.

None
global_config BaseGlobalConfig

Глобальный конфиг. По умолчанию: None.

None
log Logger

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

None
config QueueConfig

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

None

add(uuid, task_status) async

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

Parameters:

Name Type Description Default
uuid UUID | str

UUID задачи.

required
task_status TaskStatusNewSchema

Схема статуса новой задачи.

required

add_process(task_data, priority) async

Добавляет задачу в список задач в процессе.

Parameters:

Name Type Description Default
task_data str

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

required
priority int

Приоритет задачи.

required

flush_all() async

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

get(uuid) async

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

Parameters:

Name Type Description Default
uuid UUID | str

UUID задачи.

required

Returns:

Type Description
Task | None

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

get_all() async

Получить все задачи.

Returns:

Type Description
list[Task]

list[Task]: Массив задач.

remove_finished_task(task_broker, model) async

Обновляет данные завершенной задачи.

Parameters:

Name Type Description Default
task_broker TaskPrioritySchema

Схема приоритетной задачи.

required
model TaskStatusSuccessSchema | TaskStatusErrorSchema | TaskStatusCancelSchema

Модель результата задачи.

required

start() async

Запускает хранилище.

stop() async

Останавливает хранилище.

update(**kwargs) async

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

Parameters:

Name Type Description Default
kwargs dict

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

{}