vanilla / queue-interop
队列互操作。
v1.0
2018-08-07 20:32 UTC
Requires
- php: >=7.0
- psr/log: ^1.0
- vanilla/garden-db: ^0.1.0
This package is auto-updated.
Last update: 2024-09-09 03:34:48 UTC
README
此包提供了作业负载和作业处理器相互交互所需的所有抽象和接口。
从作业负载的角度来看
所有作业负载都必须实现RunnableJobInterface。作业处理器将按以下顺序调用以下方法
RunnableJobInterface::setup()RunnableJobInterface::run()RunnableJobInterface::teardown()
除此之外,所有开源的Vanilla作业必须扩展AbstractJob类,以便作业可以在Web服务器上直接运行,也可以通过实现自定义作业处理器在任何其他地方运行。
服务
服务对作业负载是可访问的。但是,为了访问它们,作业必须实现适当的aware接口。通过实现aware接口,作业处理器将在运行负载之前通过setter方法注入相应的服务。
以下是可用的服务列表
数据库
作业可以实现DatabaseAwareInterface以注入Garden\Db\Db对象。
Vanilla配置和本地化上下文
作业可以实现VanillaContextAwareInterface以注入VanillaContextInterface接口。
通过VanillaContextInterface,作业可以访问ConfigInterface来管理Vanilla中的配置和本地化。
调度器
作业可以实现SchedulerAwareInterface以注入SchedulerInterface。使用SchedulerInterface,作业还可以在负载内调度其他作业。
从作业运行者的角度来看
作业处理器负责为以下接口提供实现
JobBridgeInterfaceJobContextInterfaceSchedulerInterfaceVanillaContextInterfaceConfigInterface
它还负责向实现以下接口的作业注入服务
DatabaseAwareInterfaceSchedulerAwareInterfaceVanillaContextAwareInterface