gearman 관리 도구 Gearman Manager 의 설치 와 php 사용 방법 예시

본 고의 실례 는 gearman 관리 도구 인 Gearman Manager 의 설치 와 php 사용 방법 을 설명 한다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
1.gearman 은 gearadmin 도 구 를 가지 고 왔 습 니 다.
도움말 정보 보기

> gearadmin --help
상태 보기

> gearadmin --status
Worker 정보 보기

> gearadmin --workers
2.왜 Gearman Manager 를 사용 합 니까?
왜 Gearman Manager 로 워 커 를 관리 합 니까?php 로 작 성 된 워 커 는 백 스테이지 에서 상주 해 야 하기 때 문 입 니 다.
그리고 워 커 가 너무 많 으 면 코드 가 업데이트 되 고 수 동 으로 다시 시작 해 야 하 는 지 귀 찮 은 것 이 분명 합 니 다.중간 에 의외 의 중단 이나 메모리 누 출 이 발생 해도 관리 하기 어렵다.
인터넷 의 해결 방안 은 일반적으로 다음 과 같은 두 가지 가 있다.
1.정시 작업 crontab 를 통 해 워 커 를 정시 에 다시 시작 합 니 다.
2.phop 의 pcntl 확장 을 통 해 워 커 를 실행 하기 위해 다 중 프로 세 스 를 만 들 고,주 프로 세 스 는 하위 프로 세 스 를 모니터링 하 며,하위 프로 세 스 가 종료 되면 하위 프로 세 스 를 다시 시작 하여 워 커 를 실행 합 니 다.
3.GearmanManager 사용
Gearman Manager 다운로드 주소:

https://github.com/brianlmoon/GearmanManager/releases
Gearman Manager-2.1.0.tar.gz
1.워 커 의 코드 를 저장 할 디 렉 터 리 를 만 듭 니 다.

> mkdir -p /data/workers
2.그 다음 에 우 리 는 sum.php 의 worker 파일 을 만들어 서 두 수의 합 을 계산 하 는 데 사용 합 니 다.
sum.php 코드 는 다음 과 같 습 니 다.

<?php
//           
function sum($job) {
 //workload()              
 $data = json_decode($job->workload(), true);
 //       
 return $data[0] + $data[1];
}
물론 대상 을 대상 으로 하 는 코드 도 다음 과 같다.

<?php
//          
class sum {
 public function run($job) {
  //workload()              
  $data = json_decode($job->workload(), true);
  //       
  return $data[0] + $data[1];
 }
}
3.압축 을 풀 고 다운로드 한 GearmanManager 압축 팩

> tar xf GearmanManager-2.1.0.tar.gz
> mv GearmanManager-2.1.0 /data/GearmanManager
> cd /data/GearmanManager
우 리 는 빈 과 etc 두 디 렉 터 리 에 만 관심 을 가 져 야 합 니 다.etc 디 렉 터 리 에서 세 개의 프로필 을 제공 합 니 다.

config-advanced.ini     
config.ini     
config.php php     
프로필 설명:

;    
[GearmanManager]
;     ,     ,     
host=192.168.1.111:4730,192.168.1.222:4730
;worker      ,     ,     
worker_dir=/data/workers
;    worker,    
include=*
;    worker   
count=10
;worker     ,     10 , 10 worker,  worker    
dedicated_count=1
;worker     ,   
max_worker_lifetime=3600
;  worker       ,      ,     ,      。
auto_update=1
;    
timeout = 300
;             worker    
[sum]
;  5   
dedicated_count=5
;5      sum  
dedicated_only=1
4.우 리 는 설정 파일 을 복사 하고 위 와 같이 수정 하 며 저장 합 니 다.

> mv etc/config-advanced.ini etc/GearmanManager.ini
5.GearmanManager 실행

> cd /data/GearmanManager
> ./bin/pecl_manager.php -c /data/GearmanManager/etc/GearmanManager.ini -vvv
매개 변수 설명 은 다음 과 같다.

-P     pid      ,       pid_file   
-d          
-u          
-w   worker  ,          ,      
-c       
-l         ,     ,        stdout
-h      ,  : 192.168.1.111:4730,192.168.1.222:4730
-v           
-vv           
-vvv   worker       
-vvvv     
-vvvvv     
만약/usr/bin/env:php:그 파일 이나 디 렉 터 리 가 없다 면,php 실행 가능 한 파일 을 환경 변수 에 추가 하 십시오

> echo 'export PATH=/data/php56/bin:/data/php56/sbin:$PATH' >> /etc/profile
> source /etc/profile


더 많은 PHP 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 논문 에서 말 한 것 이 여러분 의 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기