首页 后端开发 php教程 beanstalk的使用有关问题

beanstalk的使用有关问题

Jun 13, 2016 am 11:55 AM
gt job nbsp this

beanstalk的使用问题

<?php<br />require_once(realpath(dirname(__FILE__)).'/../pheanstalk/pheanstalk_init.php');<br /><br />class AppRemoteLib {<br />	var $beanhost = false;<br />	var $beanport = false;<br />	var $beanhandle = false;<br />	<br />	function openqueue($host, $port) {<br />		if ($this->beanhost || $this->beanport) return false;<br />		$this->beanhost = $host;<br />		$this->beanport = $port;<br />		$this->beanhandle = new Pheanstalk($host, $port);<br />		if (!$this->beanhandle) return false;<br />		return true;<br />	}<br />	<br />	public function putrequest()<br />	{<br />		try {<br />			$this->beanhandle->useTube('test');<br />			$jobid = $this->beanhandle->put('some data', 1000, 0,1 );<br />		} catch (Exception $e) {<br />			$jobid = false;<br />		}<br />		return $jobid;<br />	}<br /><br />	public function fetch($tube, $timeout=0) {<br />		try {<br />			$this->beanhandle->watch($tube);<br />			$job = $this->beanhandle->reserve($timeout);<br />		} catch (Exception $e) {<br />			return false;<br />		}<br />		if (!$job) return false;<br />		var_dump($job);<br />		sleep(10);<br />		try {<br />			$this->beanhandle->delete($job);<br />		} catch (Exception $e) {<br />			return false;<br />		}<br />		return $job;<br />	}<br />	private function watch($tube) {<br />		$this->beanhandle->watch($tube);<br />	}<br />	private function fetchall($timeout=0) {<br />		try {<br />			$job = $this->beanhandle->reserve($timeout);<br />			if (!$job) return false;<br />			$this->beanhandle->delete($job);<br />		} catch (Exception $e) {<br />		}<br />		return $job;<br />	}<br /><br />}<br /><br />$appremotelib = new AppRemoteLib();<br />$appremotelib->openqueue("192.168.19.128", "11911");<br />$appremotelib->putrequest();<br />$job = $appremotelib->fetch('test', 2);<br />?>
登录后复制


问题是这样,资料上说put命令的tty参数的意思是  --time to run—是一个整形数,表示允许一个worker执行该job的秒数。这个时间将从一个worker 获取一个job开始计算。如果该worker没能在 秒内删除、释放或休眠该job,这个job就会超时,服务端会主动释放该job。最小ttr为1。如果客户端设置了0,服务端会默认将其增加到1。

我设置put的tty的参数为1,$jobid = $this->beanhandle->put('some data', 1000, 0,1 );
并且在fetch函数中获取完成之后$job = $this->beanhandle->reserve($timeout); sleep(10);延迟了10秒才删除job,为什么我的job还是可以删除成功,不是应该这个job会超时吗?
------解决方案--------------------
超时就不执行,删除还是删除

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

两个点博物馆:邦格荒地地点指南
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

两个点博物馆:邦格荒地地点指南
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

解决方法:您的组织要求您更改 PIN 码 解决方法:您的组织要求您更改 PIN 码 Oct 04, 2023 pm 05:45 PM

解决方法:您的组织要求您更改 PIN 码

Windows 11 上调整窗口边框设置的方法:更改颜色和大小 Windows 11 上调整窗口边框设置的方法:更改颜色和大小 Sep 22, 2023 am 11:37 AM

Windows 11 上调整窗口边框设置的方法:更改颜色和大小

Windows 11 上启用或禁用任务栏缩略图预览的方法 Windows 11 上启用或禁用任务栏缩略图预览的方法 Sep 15, 2023 pm 03:57 PM

Windows 11 上启用或禁用任务栏缩略图预览的方法

如何在 Windows 11 上更改标题栏颜色? 如何在 Windows 11 上更改标题栏颜色? Sep 14, 2023 pm 03:33 PM

如何在 Windows 11 上更改标题栏颜色?

OOBELANGUAGE错误Windows 11 / 10修复中出现问题的问题 OOBELANGUAGE错误Windows 11 / 10修复中出现问题的问题 Jul 16, 2023 pm 03:29 PM

OOBELANGUAGE错误Windows 11 / 10修复中出现问题的问题

华为GT3 Pro和GT4的差异是什么? 华为GT3 Pro和GT4的差异是什么? Dec 29, 2023 pm 02:27 PM

华为GT3 Pro和GT4的差异是什么?

Windows 11 上的显示缩放比例调整指南 Windows 11 上的显示缩放比例调整指南 Sep 19, 2023 pm 06:45 PM

Windows 11 上的显示缩放比例调整指南

10种在 Windows 11 上调整亮度的方法 10种在 Windows 11 上调整亮度的方法 Dec 18, 2023 pm 02:21 PM

10种在 Windows 11 上调整亮度的方法

See all articles