博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1-5 beanstalkd消费类
阅读量:4185 次
发布时间:2019-05-26

本文共 1632 字,大约阅读时间需要 5 分钟。

消费类方法

watch 

watch('newUsers') ->watch('default');$tubes=$pheanstalk->listTubesWatched();print_r($tubes);?>
reserve

watch('newUsers') ->reserve();var_dump($job);$pheanstalk->delete($job);?>
设置阻塞时间

watch('newUsers') ->reserve(3);  #设置阻塞时间var_dump($job);print 'okay....';?>
release
在消费任务过程中,可能由于某些程序,某些原因导致我们不得不把当前任务放回到管道中去,这就用到了release方法

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
有时候我们把任务读取出来之后,发现执行后面的逻辑时机还不成熟,或者还不能执行后面的逻辑,需要暂时把这个方法给封存起来。等到条件允许了之后再拿出这个任务进行消费。比如当我们发送邮件的时候,邮件服务器宕机,那我们就暂时把任务封存,等待服务器正常之后再进行发送邮件

watch('newUsers')->reserve();sleep(30);$pheanstalk->bury($job);?>
读取burried状态的方法

peekBuried('newUsers');$stats=$pheanstalk->statsJob($job);var_dump($stats);$pheanstalk->kickJob($job); #任务又变成了ready$stats2=$pheanstalk->statsJob($job);var_dump($stats2);
kick
批量的把buried状态的任务设置为ready

watch('newUsers')->reserve();$pheanstalk->bury($job); #把任务设置为buried $pheanstalk->useTube('newUsers')->kick(999); #任务由burried=>ready?>
peekReady  /   peekDelayed

demo.php

useTube('newUsers');$tube->put('delay',1024,10); #延迟执行的任务$tube->put('ready'); #准备状态的任务?>
test.php
//获取任务的消费者方法

peekReady('newUsers'); #读取ready状态的任务var_dump($job);$pheanstalk->delete($job);?>
pauseTube   /  resumeTube
设置管道延迟,取消管道延迟状态
test.php
pauseTube('newUsers',10);$job=$pheanstalk->watch('newUsers')->reserve();var_dump($job);取消暂停
pauseTube('newUsers',10);$pheanstalk->resumeTube('newUsers');$job=$pheanstalk->watch('newUsers')->reserve();var_dump($job);

转载地址:http://yoboi.baihongyu.com/

你可能感兴趣的文章
verdi加载vhdl和verilog混合RTL设计的方法
查看>>
verdi编译vhdl文件时,报出"warning:*Warn* Unknown argument –vhdl08"的解决 办法
查看>>
linux 常见命令总结
查看>>
信号差分对的优势说明
查看>>
verilog timescale的两种仿真处理方法
查看>>
lattice FPGA 使用指南2 - DDR3 sdram controller IP配置注意事项
查看>>
何谓“pessimistic”异步FIFO的full和empty信号
查看>>
*Error* illegal LHS in continous assignment
查看>>
Cadence IUS 之一:简介
查看>>
在gvim中使用Emacs verilog mode的verilog代码自动插入和自动插入撤销的方法。
查看>>
Emacs Verilog mode 简单使用指南
查看>>
AXI 总线基本概念1 - 如何理解outstanding传输
查看>>
DDR3基本概念1 - 存储单元结构和原理
查看>>
verilog 基础原理1 - RTL中对数据位宽的管理
查看>>
Cadence IUS 之二: 生成波形
查看>>
DDR3基本概念2 - 上电复位时序
查看>>
DDR3基本概念3 - 复位初始化实战举例Lattice DDR3 IP仿真
查看>>
Lattice clarity designer在linux平台下无法找到已安装的IP的解决办法
查看>>
DDR3基本概念4 - 预充电和刷新,以及Lattice DDR3 SDRAM controller实战注意事项
查看>>
DDR3基本概念5 - DDR仿真中出现的Memory overflow错误的处理
查看>>