taolib.testing.email_service.queue.protocol#

邮件队列协议。

定义邮件队列的统一接口。

Classes#

EmailQueueProtocol

邮件队列协议。

Module Contents#

class taolib.testing.email_service.queue.protocol.EmailQueueProtocol#

Bases: Protocol

邮件队列协议。

所有队列实现必须符合此协议。

async enqueue(email_id: str, priority: taolib.testing.email_service.models.enums.EmailPriority = EmailPriority.NORMAL) None#

将邮件 ID 加入队列。

参数:
  • email_id -- 邮件 ID

  • priority -- 优先级

async enqueue_bulk(email_ids: list[str], priority: taolib.testing.email_service.models.enums.EmailPriority = EmailPriority.NORMAL) None#

批量加入队列。

参数:
  • email_ids -- 邮件 ID 列表

  • priority -- 优先级

async dequeue(timeout: int = 5) str | None#

从队列取出一封邮件 ID。

按优先级顺序(高→普通→低)取出。

参数:

timeout -- 等待超时秒数

返回:

邮件 ID,队列为空时返回 None

async size() dict[str, int]#

获取各优先级队列的大小。

返回:

count} 字典

返回类型:

{priority