taolib.testing.email_service.services.queue_processor#

后台队列处理器。

从队列中取出邮件并通过提供商发送,支持重试和指数退避。

Attributes#

Classes#

QueueProcessor

邮件队列处理器。

Module Contents#

taolib.testing.email_service.services.queue_processor.logger#
class taolib.testing.email_service.services.queue_processor.QueueProcessor(queue: taolib.testing.email_service.queue.protocol.EmailQueueProtocol, email_repo: taolib.testing.email_service.repository.email_repo.EmailRepository, send_callback, poll_interval: float = 1.0, batch_size: int = 10)#

邮件队列处理器。

作为后台 asyncio.Task 运行,持续从队列取出邮件并发送。 参考 data_sync.services.scheduler.AsyncScheduler 模式。

_queue#
_email_repo#
_send_callback#
_poll_interval = 1.0#
_batch_size = 10#
_running = False#
_task: asyncio.Task[None] | None = None#
async start() None#

启动处理器。

async stop() None#

停止处理器。

async _run_loop() None#

主处理循环。

async _process_batch() None#

处理一批邮件。

async _process_single(email_id: str) None#

处理单封邮件。

async process_scheduled() None#

处理到期的计划邮件。