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
,作业还可以在负载内调度其他作业。
从作业运行者的角度来看
作业处理器负责为以下接口提供实现
JobBridgeInterface
JobContextInterface
SchedulerInterface
VanillaContextInterface
ConfigInterface
它还负责向实现以下接口的作业注入服务
DatabaseAwareInterface
SchedulerAwareInterface
VanillaContextAwareInterface