PHP 操作 Beanstalkd 消息队列:连接、生产与消费代码示例
本示例展示如何使用 PHP 连接 Beanstalkd 消息队列,并进行生产和消费操作。
1. 连接 Beanstalkd 服务器
<?php
$beanstalk = new PheanstalkPheanstalk('127.0.0.1');
?>
2. 生产者示例
<?php
// 选择队列 (如果不存在则创建)
$tube = 'test-tube';
$beanstalk->useTube($tube);
// 向队列中添加任务
$jobId = $beanstalk->put(
"This is a job", // 任务数据
1024, // 优先级 (可选)
0, // 延迟时间 (可选)
60 // 任务超时时间 (可选)
);
?>
3. 消费者示例
<?php
// 监听指定队列
$beanstalk->watch($tube);
// 获取任务
$job = $beanstalk->reserve();
// 处理任务数据
// ...
// 删除已完成的任务
$beanstalk->delete($job);
?>
更多操作方法
peekReady()
: 查看队列头部任务,但不获取。release()
: 释放已获取的任务,使其可被其他消费者处理。bury()
: 暂时隐藏任务,使其不被消费者获取。kick()
: 将指定数量的 buried 任务重新放入 ready 状态。stats()
: 获取队列统计信息。
注意: 以上示例代码需要安装 pheanstalk/pheanstalk
PHP 库。
6.77KB
文件大小:
评论区