이 글은 주로 PHP 프레임워크Laravel에서 비동기 프로세스를 실행하기 위한 감독자를 구현하는 방법을 소개합니다. 이 글의 소개는 필요한 모든 사람에게 확실한 참고 자료이자 학습 가치가 있다고 생각합니다. 와서 좀 보세요.
문제 설명
Laravel 프레임워크를 사용하여 동적 웹 페이지를 구현할 때 일부 작업에 많은 양의 계산이 필요한 경우 사용자 경험에 영향을 주지 않기 위해 비동기 방식을 사용해야 하는 경우가 많습니다. 그들을 처리하십시오. 이는 감독자 및 laravel과 함께 제공되는 대기열을 사용하여 구현됩니다. 자세한 소개를 살펴보겠습니다.
Supervisor
Supervisor(http://supervisord.org)는 Python으로 작성된 프로세스 관리 도구로 시작, 다시 시작, 종료에 쉽게 사용할 수 있습니다. 프로세스(파이썬 프로세스뿐만 아니라). 단일 프로세스를 제어하는 것 외에도 동시에 여러 프로세스를 시작하고 종료할 수도 있습니다. 예를 들어, 불행하게도 서버 문제로 인해 모든 응용 프로그램이 종료될 수 있습니다. 이때 감독자를 사용하여 모든 응용 프로그램을 시작할 수 있습니다. 명령을 하나씩 입력하는 대신 동시에 시작합니다.
이 방법은 다음과 같습니다. 설치 후 감독관은 감독자 파일
apt-get install supervisor관리자 관리자입니다. laravel 대기열 모니터링을 시작하려면 사용하십시오. 프로세스 수와 오류 로그 주소도 지정됩니다.
3. 대기열 구성
service supervisor restart
대기열 코드를 작성하기 전에 대기열 구성 위치는 config/queue.PHP에 있습니다. 여기서 데이터베이스와 같은 대기열
를 구성해야 합니다. Redis, 동기화 대기. 다양한 옵션에는 해당 구성이 있습니다. 여기서는 구성을 위해 redis를 선택합니다. 예:
[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.log4 비동기 프로그램 작성
app/job 디렉터리에 비동기 프로그램을 작성하고, 자신만의 새 클래스를 만듭니다. 예: 종료,
작성 및 처리 클래스의 기능. 핸들 기능은 프로그램 계산 프로세스입니다.
5. 비동기 함수 실행
'redis' => [ 'driver' => 'redis', 'connection' => env('QUEUE_CONNECTION', 'default'), 'queue' => 'wordtohtml', 'expire' => 600, ],이 지침을 사용하여 비동기 프로그램을 만듭니다.
위 내용은 PHP 프레임워크 Laravel에서 비동기 프로세스를 실행하기 위한 감독자 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!