PHP 프레임 워 크 Swole 타이머 타이머 특성 분석

1879 단어 PHP프레임Swoole
본 고 에서 말 한 PHP 프레임 워 크 Swole 타이머 타이머 특성 분석 은 매우 좋 은 실 용적 가 치 를 가지 기 때문에 PHP 프로그램 개발 자 들 이 참고 할 만하 다.구체 적 인 분석 은 다음 과 같다.
우선,각종 업무 형 시스템 에서 서버 가 배경 에서 관련 데 이 터 를 스 캔 하고 해당 하 는 통계,알림 등 조작 을 해 야 한다.
예 를 들 어 하나의 프로젝트 관리 시스템 에 대해 매일 특정한 시간 안에 모든 임무 의 집행,만기 상황,전체 프로젝트 의 진도 등 을 통계 하고 통계 상황 에 따라 해당 하 는 통지 처 리 를 해 야 한다.
이런 장면 은 어떻게 프로 그래 밍 하여 실현 합 니까?
일반적인 프로 그래 밍 방식 으로 는 자동 트리거 와 통 계 를 실현 할 수 없다.물론 간단 한 사고방식 은 시스템 에 유리 한 cron job 메커니즘 이다.그러나 이런 방식 은 배치 와 신뢰성 에 있어 비교적 많은 인위적인 조작 요소 가 필요 하 다.
Swoole 은 c 로 개 발 된 phop 확장 으로 phop 을 통 해 고성능 웹 서버 를 구현 할 수 있 으 며 타이머 Timer,작업 대기 열 Task 기능 도 내장 되 어 있 습 니 다.이렇게 하면 swoole 를 바탕 으로 프로그램 차원 에서 실현 방식 을 제어 하고 외부 도구-독립 된 메시지 큐 서버,정시 작업 관리 도구 등에 대한 의존 도 를 줄 일 수 있 습 니 다.

swoole 의 강력 한 점 은 프로 세 스 모델 의 디자인 에 있 습 니 다.비동기 문 제 를 해결 할 뿐만 아니 라 병행 도 해결 합 니 다.용법 은 다음 과 같다.

swoole_server_addtimer($serv, 10);

두 번 째 매개 변 수 는 타이머 의 간격 이 고 단 위 는 초 입 니 다.swoole 타이머 의 최소 알 갱 이 는 1 초 입 니 다.여러 개의 타 이 머 를 지원 합 니 다.같은 간격 으로 타이머 가 두 개 존재 하지 않도록 주의 하 세 요.타 이 머 를 추가 한 후 리 셋 함 수 를 써 야 합 니 다.
구체 적 인 코드 는 다음 과 같다.

swoole_server_handler($serv, 'onTimer', my_OnTimer);
function my_OnTimer($serv, $interval)
{
  echo "Timer[$interval] is call
"; }
Task 모듈 은 웹 im 에서 방송 을 보 내 는 등 비동기 적 인 느 린 작업 을 하 는 데 사 용 됩 니 다.node.js 와 같이 10 만 개의 연결 이 있 으 면 방송 을 보 낼 때 10 만 번 순환 합 니 다.이 럴 때 프로그램 은 아무것도 할 수 없고 새로운 연결 을 받 아들 일 수 없고 가방 도 받 을 수 없습니다.
swoole 가 다 르 기 때문에 task 프로 세 스에 던 진 후,당신 의 reactor,worker 가 놓 치지 않 습 니 다.작업 이 완료 되면 워 커 프로 세 스에 이 작업 이 완료 되 었 음 을 알려 줍 니 다.
물론 task 모듈 의 역할 은 뿐만 아니 라 PHP 의 데이터베이스 연결 풀,비동기 대기 열 등 을 실현 하기 위해 서 는 더 발굴 해 야 합 니 다.
관심 이 있 는 독 자 는 본 고 에서 말 한 사례 코드 를 테스트 하고 자신의 프로젝트 수요 에 따라 그 용법 을 계속 발굴 할 수 있다.

좋은 웹페이지 즐겨찾기