PHP Beanstalkd 메시지 큐 의 설치 및 사용 방법 인 스 턴 스 상세 설명
3811 단어 PHPBeanstalkd메시지 큐
1.Beanstalkd 는 무엇 입 니까?
Beanstalkd 는 고성능,경량급 분포 식 메모리 큐 입 니 다.
2.Beanstalkd 특성
1.우선 순위 지원(퀘 스 트 새치기 지원)
2.지연(정시 퀘 스 트 실현)
3.지속 화(정시 에 메모리 의 데 이 터 를 binlog 로그 에 저장)
4.예약(임 무 를 예약 으로 설정 하고 소비자 가 임 무 를 꺼 낼 수 없 으 며 적당 한 시기 에 다시 꺼 내 처리한다)
5.퀘 스 트 시간 초과 재발 급(소비 자 는 지 정 된 시간 내 에 퀘 스 트 를 처리 해 야 하 며,없 으 면 퀘 스 트 가 실패 했다 고 생각 하고 다시 대기 열 에 들 어가 야 합 니 다)
3.Beanstalkd 핵심 요소
생산자->파이프(튜브)->퀘 스 트(job)->소비자
Beanstalkd 는 여러 개의 파 이 프 를 만 들 수 있 고 파이프 안에 많은 작업 이 저장 되 어 있 으 며 소비자 들 은 파이프 에서 임 무 를 꺼 내 처리 합 니 다.
4.퀘 스 트 job 상태
지연 상태
준비 상태
reserved 소비자 가 임 무 를 읽 고 처리 할 때
buried 예약 상태
삭제 상태
5.Beanstalkd 설치
http://kr.github.io/beanstalkd/download.html
beanstalkd-1.10.tar.gz 다운로드
> tar -xf beanstalkd-1.10.tar.gz
> cd beanstalkd-1.10
> make
beanstalkd 매개 변수 정보 보기
> ./beanstalkd -h
beanstalkd 시작
> ./beanstalkd -l 127.0.0.1 -p 11300 -b /data/beanstalkd/binlog &
-b binlog 오픈,단전 후 자동 복구 작업 재 개6.Pheanstalk 클래스 다운로드
우선 composer 를 설치 합 니 다.
> curl -sS https://getcomposer.org/installer | php
> mv composer.phar /usr/local/bin/composer
> composer require pda/pheanstalk
간단 한 스 크 립 트 를 만들어 정 보 를 봅 니 다.
<?php
require './vendor/autoload.php';
use Pheanstalk\Pheanstalk;
$p = new Pheanstalk('127.0.0.1', 11300);
// beanstalkd
var_dump($p->stats());
7.Pheanstalk 사용 방법유지 보수 방법
stats()
listTubes()
listTubesWatched()
statsTube()
useTube()
statsJob()
peek() ID
생산자 방법
putInTube()
put() useTube()
소비자 방법
watch() ,
ignore()
reserve() ,
reserveFromTube()
release()
bury()
peekBuried()
kickJob() buried ready
kick() buried ready
peekReady()
peekDelayed()
pauseTube()
resumeTube()
touch() ttr ,
생산자 producer.php 코드 는 다음 과 같 습 니 다.
<?php
require './vendor/autoload.php';
use Pheanstalk\Pheanstalk;
// Pheanstalk
$p = new Pheanstalk('192.168.1.222', 11300);
$data = array(
'id' => 1,
'name' => 'test',
);
// userReg , ID
//put()
//
// , ,
//
// ttr
$id = $p->useTube('userReg')->put(json_encode($data));
//
$job = $p->peek($id);
//
print_r($p->statsJob($job));
소비자 consumer.php 코드 는 다음 과 같 습 니 다.
<?php
require './vendor/autoload.php';
use Pheanstalk\Pheanstalk;
// Pheanstalk
$p = new Pheanstalk('192.168.1.222', 11300);
// userReg , default
$job = $p->watch('userReg')->ignore('default')->reserve();
$data = json_decode($job->getData());
//
print_r($data);
// ,
$p->delete($job);
더 많은 PHP 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.본 논문 에서 말 한 것 이 여러분 의 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
laravel에 yo에서 angularJs&coffeescript를 사용할 수 있도록 한다.먼저 yo 명령을 사용할 수 있어야하므로 아래에서 설치 global에 설치한 곳에서 laravel의 프로젝트 루트로 이동. 클라이언트 코드를 관리하는 디렉토리를 만들고 이동합니다. 클라이언트 환경 만들기 이것으로 히...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.