백엔드 개발 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으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 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에서 제목 표시줄 색상을 변경하는 방법은 무엇입니까?

Windows 11/10 복구의 OOBELANGUAGE 오류 문제 Windows 11/10 복구의 OOBELANGUAGE 오류 문제 Jul 16, 2023 pm 03:29 PM

Windows 11/10 복구의 OOBELANGUAGE 오류 문제

화웨이 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의 디스플레이 크기 조정 가이드

Windows 11에서 밝기를 조정하는 10가지 방법 Windows 11에서 밝기를 조정하는 10가지 방법 Dec 18, 2023 pm 02:21 PM

Windows 11에서 밝기를 조정하는 10가지 방법

See all articles