gearman 관리 도구 Gearman Manager 의 설치 와 php 사용 방법 예시
3883 단어 gearman관리 도구GearmanManager
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.gz1.워 커 의 코드 를 저장 할 디 렉 터 리 를 만 듭 니 다.
> 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
![](https://s1.md5.ltd/image/6d07c1a6f0dd3c37cd1848ba2950ef53.png)
![](https://s1.md5.ltd/image/d9fab9078d48fb0f1256346f3c697981.png)
더 많은 PHP 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 논문 에서 말 한 것 이 여러분 의 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.