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

AsyncStarter

Async Starter.

AsyncStarter

Bases: BaseStarter, AsyncPluginMixin

Стартер, запускающий Компоненты.

Пример

from qtasks import QueueTasks
from qtasks.brokers import AsyncRedisBroker
from qtasks.workers import AsyncWorker
from qtasks.starters import AsyncStarter

broker = AsyncRedisBroker(name="QueueTasks", url="redis://localhost:6379/2")
worker = AsyncWorker(name="QueueTasks", broker=broker)

app = QueueTasks(worker=worker, broker=broker)

starter = AsyncStarter(name="QueueTasks", worker=worker, broker=broker)
app.run_forever(starter=starter)

__init__(name=None, broker=None, worker=None, log=None, config=None)

Инициализация асинхронного стартера.

Parameters:

Name Type Description Default
name str

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

None
broker BaseBroker

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

None
worker BaseWorker

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

None
log Logger

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

None
config QueueConfig

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

None

start(loop=None, num_workers=4, reset_config=True, plugins=None)

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

Parameters:

Name Type Description Default
loop AbstractEventLoop

Асинхронный loop. По умолчанию: None.

None
num_workers int

Количество воркеров. По умолчанию: 4.

4
reset_config bool

Обновить config у воркера и брокера. По умолчанию: True.

True
plugins dict[str, BasePlugin] | None

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

None

stop() async

Останавливает все компоненты.