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

SyncStarter

Sync Starter.

SyncStarter

Bases: BaseStarter, SyncPluginMixin

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

Пример

from qtasks import QueueTasks
from qtasks.brokers import SyncRedisBroker
from qtasks.workers import SyncWorker
from qtasks.starters import SyncStarter

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

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

starter = SyncStarter(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(num_workers=4, reset_config=True, plugins=None)

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

Parameters:

Name Type Description Default
num_workers int

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

4
reset_config bool

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

True
plugins dict[str, BasePlugin] | None

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

None

stop()

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