vanilla/queue-interop

队列互操作。

v1.0 2018-08-07 20:32 UTC

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