1-5 beanstalkd消费类
来源:互联网 发布:新技术新工艺软件下载 编辑:程序博客网 时间:2024/05/16 18:02
消费类方法
reserve
设置阻塞时间
release
在消费任务过程中,可能由于某些程序,某些原因导致我们不得不把当前任务放回到管道中去,这就用到了release方法
bury
有时候我们把任务读取出来之后,发现执行后面的逻辑时机还不成熟,或者还不能执行后面的逻辑,需要暂时把这个方法给封存起来。等到条件允许了之后再拿出这个任务进行消费。比如当我们发送邮件的时候,邮件服务器宕机,那我们就暂时把任务封存,等待服务器正常之后再进行发送邮件
读取burried状态的方法
kick
批量的把buried状态的任务设置为ready
peekReady / peekDelayed
test.php
//获取任务的消费者方法
设置管道延迟,取消管道延迟状态
test.php
watch
<?php$pheanstalk=require 'beanstalkd.php';$job=$pheanstalk->watch('newUsers')->watch('default');$tubes=$pheanstalk->listTubesWatched();print_r($tubes);?>
reserve
<?php$pheanstalk=require 'beanstalkd.php';$job=$pheanstalk->watch('newUsers')->reserve();var_dump($job);$pheanstalk->delete($job);?>
设置阻塞时间
<?php$pheanstalk=require 'beanstalkd.php';$job=$pheanstalk->watch('newUsers')->reserve(3); #设置阻塞时间var_dump($job);print 'okay....';?>
release
在消费任务过程中,可能由于某些程序,某些原因导致我们不得不把当前任务放回到管道中去,这就用到了release方法
<?php$pheanstalk=require 'beanstalkd.php';$pheanstalk->useTube('newUsers')->put('member_1');$obj=$pheanstalk->watch('newUsers')->reserve();$module=false;if(!$module){sleep(30);$pheanstalk->release($job); #当前任务有reserved--->ready}else{$pheanstalk->delete($job);}
bury
有时候我们把任务读取出来之后,发现执行后面的逻辑时机还不成熟,或者还不能执行后面的逻辑,需要暂时把这个方法给封存起来。等到条件允许了之后再拿出这个任务进行消费。比如当我们发送邮件的时候,邮件服务器宕机,那我们就暂时把任务封存,等待服务器正常之后再进行发送邮件
<?php$pheanstalk=require 'beanstalkd.php';$job=$pheanstalk->watch('newUsers')->reserve();sleep(30);$pheanstalk->bury($job);?>
读取burried状态的方法
<?php$pheanstalk=require 'beanstalkd.php';$job=$pheanstalk->peekBuried('newUsers');$stats=$pheanstalk->statsJob($job);var_dump($stats);$pheanstalk->kickJob($job); #任务又变成了ready$stats2=$pheanstalk->statsJob($job);var_dump($stats2);
kick
批量的把buried状态的任务设置为ready
<?php$pheanstalk=require 'beanstalkd.php';$job=$pheanstalk->watch('newUsers')->reserve();$pheanstalk->bury($job); #把任务设置为buried $pheanstalk->useTube('newUsers')->kick(999); #任务由burried=>ready?>
peekReady / peekDelayed
demo.php
<?php$pheanstalk=require 'beanstalkd.php';$tube=$pheanstalk->useTube('newUsers');$tube->put('delay',1024,10); #延迟执行的任务$tube->put('ready'); #准备状态的任务?>
test.php
//获取任务的消费者方法
<?php$pheanstalk=require 'beanstalkd.php';$job=$pheanstalk->peekReady('newUsers'); #读取ready状态的任务var_dump($job);$pheanstalk->delete($job);?>pauseTube / resumeTube
设置管道延迟,取消管道延迟状态
test.php
<?php$pheanstalk=require 'beanstalkd.php';$pheanstalk->pauseTube('newUsers',10);$job=$pheanstalk->watch('newUsers')->reserve();var_dump($job);取消暂停<?php$pheanstalk=require 'beanstalkd.php';$pheanstalk->pauseTube('newUsers',10);$pheanstalk->resumeTube('newUsers');$job=$pheanstalk->watch('newUsers')->reserve();var_dump($job);
阅读全文
0 0
- 1-5 beanstalkd消费类
- 1-3 beanstalkd参数
- beanstalkd
- beanstalkd
- Beanstalkd
- beanstalkd
- 1-1 beanstalkd的简介
- 1-4 beanstalkd生产类
- 1-2 安装beanstalkd与pheanstalk类
- CentOS6.5安装Beanstalkd队列以及PHP代码测试
- beanstalkd协议
- Beanstalkd简介
- beanstalkd介绍
- Beanstalkd介绍
- 消费类电子产品知多少?
- 编译安装的beanstalkd 。。
- beanstalkd 监听阻塞问题
- HTTPSQS &jafka & kestrel & beanstalkd
- C语言实验——分数序列
- shell特殊符和cut命令详解
- round()函数填坑
- Java NIO和IO的区别
- Jarvis easycrackme
- 1-5 beanstalkd消费类
- C 练习实例71-80
- 电路与二进制运算
- linux查看和释放swap内存
- web.xml文件的schema头部声明
- CentOS7安装导致开机没有win10启动项以及win10删除CentOS7安装盘后开机启动失败问题
- 指针数组 数组指针 函数指针 函数指针数组 指向函数指针数组的指针 的理解
- python实现cifar10数据集的可视化
- 小朱opengl学习笔记(一)