类 QueueManager
命名空间: Cake\Queue
方法摘要
-
drop() public static
删除配置的队列适配器。
-
engine() public static
获取队列引擎
-
getConfig() public static
读取现有配置。
-
getUniqueId() public static
-
push() public static
将单个作业推送到队列中。
-
setConfig() public static
此方法可用于为应用程序定义配置适配器。
方法详情
engine() ¶ public static
engine(string $name): Enqueue\SimpleClient\SimpleClient
获取队列引擎
参数
-
string
$name 要获取的配置适配器的键名。
返回
Enqueue\SimpleClient\SimpleClient
getUniqueId() ¶ public static
getUniqueId(string $class, string $method, array $data): string
参数
-
string
$class 类名
-
string
$method 方法名
-
array
$data 消息数据
返回
字符串
push() ¶ public static
push(array<string>|string $className, array $data = [], array $options = []): void
将单个作业推送到队列中。
参数
-
array<string>|string
$className 实现 \Cake\Queue\Job\JobInterface 的作业的类名。该类将由 \Cake\Queue\Processor 构造,并调用其 execute 方法。
-
array
$data 可选 将传递给作业的数据数组。
-
array
$options 可选 发布作业的选项数组
config
- 队列配置名称。默认为 'default'。delay
- 延迟消息的时间(以秒为单位),消息将在之后处理。并非所有消息代理都接受此选项。默认为null
。expires
- 消息过期的时间(以秒为单位)。如果超过此时间且消息未被消费,则该消息将从队列中删除。默认为null
。priority
- 有效值\Enqueue\Client\MessagePriority::VERY_LOW
\Enqueue\Client\MessagePriority::LOW
\Enqueue\Client\MessagePriority::NORMAL
\Enqueue\Client\MessagePriority::HIGH
\Enqueue\Client\MessagePriority::VERY_HIGH
queue
- 要使用的队列名称,来自队列config
数组,如果为空则为字符串 'default'。
返回
void
setConfig() ¶ public static
setConfig(array|string $key, array $config = null): void
此方法可用于为应用程序定义配置适配器。
要更改适配器的配置,首先删除该适配器,然后重新配置它。
在执行第一个操作之前不会构造适配器。
用法
假设该类的名称为 QueueManager
,则支持以下情况
设置队列引擎。
QueueManager::setConfig('default', $settings);
注入已构造的适配器
QueueManager::setConfig('default', $instance);
一次配置多个适配器
QueueManager::setConfig($arrayOfConfig);
参数
-
array|string
$key 配置的名称,或多个配置的数组。
-
array
$config 可选 适配器的名称 => 配置数据数组。
返回
void
抛出
BadMethodCallException
尝试修改现有配置时。
LogicException
尝试存储结构无效的配置数组时。