本文共 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/