QueueTasks
Async QTasks.
QueueTasks
¶
Bases: BaseQueueTasks
, AsyncPluginMixin
QueueTasks
- Фреймворк для очередей задач.
Читать больше: Первые шаги.
Пример¶
from qtasks import QueueTasks
app = QueueTasks()
init_starting
property
¶
init_starting
- Инициализация при запуске QueueTasks
.
Примеры¶
from qtasks import QueueTasks
app = QueueTasks()
@app.init_starting
async def test(worker, broker):
pass
init_stoping
property
¶
init_stoping
- Инициализация при остановке QueueTasks
.
Примеры¶
from qtasks import QueueTasks
app = QueueTasks()
@app.init_stoping
async def test(worker, broker):
pass
init_task_running
property
¶
init_task_running
- Инициализация при запуске задачи функцией QueueTasks.worker.listen()
.
Примеры¶
from qtasks import QueueTasks
app = QueueTasks()
@app.init_task_running
async def test(task_func: TaskExecSchema, task_broker: TaskPrioritySchema):
pass
init_task_stoping
property
¶
init_task_stoping
- Инициализация при завершении задачи функцией QueueTasks.worker.listen()
.
Примеры¶
from qtasks import QueueTasks
app = QueueTasks()
@app.init_task_stoping
async def test(task_func: TaskExecSchema, task_broker: TaskPrioritySchema, returning: TaskStatusSuccessSchema|TaskStatusErrorSchema):
pass
init_worker_running
property
¶
init_worker_running
- Инициализация при запуске QueueTasks.worker.worker()
.
Примеры¶
from qtasks import QueueTasks
app = QueueTasks()
@app.init_worker_running
async def test(worker):
pass
init_worker_stoping
property
¶
init_worker_stoping
- Инициализация при остановке QueueTasks.worker.worker()
.
Примеры¶
from qtasks import QueueTasks
app = QueueTasks()
@app.init_worker_stoping
async def test(worker):
pass
__init__(name='QueueTasks', broker_url=None, broker=None, worker=None, log=None, config=None)
¶
Инициализация QueueTasks.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
Имя проекта. По умолчанию: |
'QueueTasks'
|
broker_url
|
str
|
URL для Брокера. Используется Брокером по умолчанию через параметр url. По умолчанию: |
None
|
broker
|
Type[BaseBroker]
|
Брокер. Хранит в себе обработку из очередей задач и хранилище данных. По умолчанию: |
None
|
worker
|
Type[BaseWorker]
|
Воркер. Хранит в себе обработку задач. По умолчанию: |
None
|
log
|
Logger
|
Логгер. По умолчанию: |
None
|
config
|
QueueConfig
|
Конфиг. По умолчанию: |
None
|
add_task(task_name, priority=None, args=None, kwargs=None, timeout=None)
async
¶
Добавить задачу.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
task_name
|
str
|
Имя задачи. |
required |
priority
|
int
|
Приоритет задачи. По умолчанию: Значение приоритета у задачи. |
None
|
args
|
tuple
|
args задачи. По умолчанию |
None
|
kwargs
|
dict
|
kwags задачи. По умолчанию |
None
|
timeout
|
float
|
Таймаут задачи. Если указан, задача возвращается через |
None
|
Returns:
Type | Description |
---|---|
Task
|
Task|None: |
flush_all()
async
¶
Удалить все данные.
get(uuid)
async
¶
Получить задачу.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
uuid
|
UUID | str
|
UUID Задачи. |
required |
Returns:
Type | Description |
---|---|
Task | None
|
Task|None: Данные задачи или None. |
ping(server=True)
async
¶
Проверка запуска сервера.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
server
|
bool
|
Проверка через сервер. По умолчанию |
True
|
Returns:
Name | Type | Description |
---|---|---|
bool |
bool
|
True - Работает, False - Не работает. |
run_forever(loop=None, starter=None, num_workers=4, reset_config=True)
¶
Запуск асинхронно Приложение.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
loop
|
AbstractEventLoop
|
асинхронный loop. По умолчанию: None. |
None
|
starter
|
BaseStarter
|
Стартер. По умолчанию: |
None
|
num_workers
|
int
|
Количество запущенных воркеров. По умолчанию: 4. |
4
|
reset_config
|
bool
|
Обновить config у воркера и брокера. По умолчанию: True. |
True
|
stop()
async
¶
Останавливает все компоненты.
task(*args, **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]], AsyncTask[P, R]]
Декоратор для регистрации задач.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
Имя задачи. По умолчанию: |
required |
priority
|
int
|
Приоритет у задачи по умолчанию. По умолчанию: |
required |
echo
|
bool
|
Включить вывод в консоль. По умолчанию: |
required |
retry
|
int
|
Количество попыток повторного выполнения задачи. По умолчанию: |
required |
retry_on_exc
|
list[Type[Exception]]
|
Исключения, при которых задача будет повторно выполнена. По умолчанию: |
required |
decode
|
Callable
|
Декодер результата задачи. По умолчанию: |
required |
tags
|
list[str]
|
Теги задачи. По умолчанию: |
required |
generate_handler
|
Callable
|
Генератор обработчика. По умолчанию: |
required |
executor
|
Type[BaseTaskExecutor]
|
Класс |
required |
middlewares
|
List[TaskMiddleware]
|
Мидлвари. По умолчанию: |
required |
Raises:
Type | Description |
---|---|
ValueError
|
Если задача с таким именем уже зарегистрирована. |
ValueError
|
Неизвестный метод {self._method}. |
Returns:
Name | Type | Description |
---|---|---|
AsyncTask |
Декоратор для регистрации задачи. |