작업자의 타이머가 적용되지 않습니다.

王林
풀어 주다: 2019-12-13 09:51:14
원래의
2767명이 탐색했습니다.

작업자의 타이머가 적용되지 않습니다.

질문:

WorkermanLibTimer를 start_gateway.php에 넣고 2초마다 실행하세요. 먼저 각 실행마다 텍스트 조각이 텍스트 파일에 기록됩니다.

php start.php start로 실행하면 문제가 없는데, php start.php start -d로 실행하면 타이머가 실행되지 않는 것 같습니다.

start_gateway.php 코드는 다음과 같습니다

작업자의 타이머가 적용되지 않습니다.

작업자의 타이머가 적용되지 않습니다.

작업자의 타이머가 적용되지 않습니다.

문제 해결 방법:

비즈니스 로직은 onXXX 콜백에서 실행되어야 합니다(매뉴얼에서 강조). 즉, 타이머가 실행되지 않습니다. Worker::runAll(); 전에 실행하세요.

Worker::runAll();이 실행되기 전에 실행되는 코드는 메인 프로세스에 속하기 때문에 메인 프로세스의 비즈니스 코드는 하위 프로세스에 상속되므로 결과적으로 예상된 결과.

위의 예에서는 onWorkerStart에 타이머를 넣어서 실행할 수 있습니다. start_businessworker.php의 $businessworker->onWorkerStart 콜백에 넣는 것이 좋습니다.

추천 관련 기사 및 튜토리얼: workerman 튜토리얼

위 내용은 작업자의 타이머가 적용되지 않습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!