>백엔드 개발 >PHP 튜토리얼 >PHP의 Laravel 프레임워크에서 비동기 프로세스를 실행하기 위해 감독자를 구현하는 방법

PHP의 Laravel 프레임워크에서 비동기 프로세스를 실행하기 위해 감독자를 구현하는 방법

不言
不言원래의
2018-06-13 13:51:521497검색

이 글에서는 주로 PHP 프레임워크 Laravel에서 비동기 프로세스를 실행하기 위한 감독자를 구현하는 방법을 소개합니다. 이 글의 소개는 매우 자세하게 설명되어 있어 필요한 모든 사람에게 도움이 될 것입니다. 아래를 보세요.

문제 설명

Laravel 프레임워크를 사용하여 동적 웹 페이지를 구현할 때 일부 작업에 많은 양의 계산이 필요한 경우 사용자 경험에 영향을 주지 않기 위해 비동기 방식을 사용해야 하는 경우가 많습니다. 그들을 처리하십시오. 이는 감독자 및 laravel과 함께 제공되는 대기열을 사용하여 구현됩니다. 자세한 소개를 살펴보겠습니다.

Supervisor

Supervisor는 Python으로 작성된 프로세스 관리 도구로, Python 프로세스뿐만 아니라 프로세스를 시작, 다시 시작 및 종료하는 데 쉽게 사용할 수 있습니다. 단일 프로세스를 제어하는 ​​것 외에도 동시에 여러 프로세스를 시작하고 종료할 수도 있습니다. 예를 들어, 불행하게도 서버 문제로 인해 모든 애플리케이션이 종료되는 경우 이때 감독자를 사용하여 모든 애플리케이션을 시작할 수 있습니다. 명령을 하나씩 입력하는 대신 동시에 시작합니다. 방법은 다음과 같습니다. 1. Supervisor 설치

 apt-get install supervisor
E

설치가 완료된 후 Supervisor를 다시 시작합니다.

service supervisor restart
2. Supervisor 파일 구성

[program:laravel]
process_name=%(program_name)s_%(process_num)02d
command=php {{ app.root }}/artisan queue:listen
autostart=true
autorestart=true
user=www-data
numprocs=1
redirect_stderr=true
stdout_logfile={{ app.root }}/storage/logs/queque.log

laravel 대기열 모니터링을 시작합니다. 프로세스 수와 오류 로그 주소도 지정됩니다.

3. 큐 구성

큐 코드를 작성하기 전에 큐 구성 위치는 config/queue.PHP에 있습니다. 여기서 데이터베이스, Redis 등의 큐 드라이버를 구성해야 합니다. 동기화 등 다양한 옵션에는 해당 구성이 있습니다. 여기서는 구성을 위해 redis를 선택했습니다.

예:

'redis' => [
  'driver' => 'redis',
  'connection' => env('QUEUE_CONNECTION', 'default'),
  'queue' => 'wordtohtml',
  'expire' => 600,
 ],

4. 비동기 프로그램 작성

app/job 디렉터리에 비동기 프로그램을 작성합니다. 다음과 같은 새로운 클래스를 만들고 생성자와 핸들 함수를 작성합니다. 수업의. 핸들 기능은 프로그램 계산 프로세스입니다.

5. 비동기 함수 실행

$this->dispatch(new Shutdown($vimd));
이 지침을 사용하여 비동기 프로그램을 만듭니다.

위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되었으면 좋겠습니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요!


관련 권장 사항:

PHP Laravel 프레임워크의 이벤트 이벤트 작업 분석

php artisan 사용 정보 laravel 5.1에서 마이그레이션


위 내용은 PHP의 Laravel 프레임워크에서 비동기 프로세스를 실행하기 위해 감독자를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.