Laavel Windows 환경에서 Supervisor 설정

여기 기사.와 관련하여 Windows 환경에서 작업자를 운영하는 방법 중 하나로 Supervisor가 Windows에서도 사용하는 방법을 총괄하였다.

이른바 슈퍼바이저


공식 이름에서도 권장되는 워크플로우 관리 도구입니다.물론 라벨뿐만 아니라 사용하는 장소도 광범위하다doc.기본적으로 과정 관리, 모니터링의 도구다.
이걸 빌려서 뭘 하자면 라벨의 임무 대기열에서 일하는 스태프를 소모하는 과정이다.그리고 윈도우즈 자체 스케줄러보다 여러 개의 작업 프로그램을 동시에 시작할 수 있다.
다만, 원래는 Unix-like용 OS를 위한 도구이기 때문에 Windows에서 사용하면 공식적으로 지원되지 않는다.이번에 그 방법을 소개합니다.

설치하다.


파이썬을 먼저 설치합니다.공식 사이트부터 하면 됩니다.
그런 다음 설치git bash합니다.여긴 꼭 필요한 게 아냐, 건너뛰어도 돼.명령 알림을 시도해 본 적이 없기 때문에 이번에는 파워헤럴드나git bash의 전제 조건이다.
이상이 끝난 후, bash로 다음 명령으로 슈퍼visord를 설치합니다.
pip install supervisor-win
설치를 완료했습니다.

설정


이렇게 bash/powerrshell supervisord 에서 실행하면 설정 파일이 없는 오류가 발생할 수 있습니다.
Error: No config file found at default paths (C:\Python39\etc\supervisord.conf, C:\Python39\supervisord.conf, supervisord.conf, etc/supervisord.conf, /etc/supervisord.conf, /etc/supervisor/supervisord.conf); use the -c option to specify a config file at a different path
기본 위치에서 찾을 수 없습니다.알림과 같이 -c 로고를 사용하여 프로필을 지정할 수 있습니다.예를 들어, C:\Python39\etc\supervisord.conf에 구성 파일을 생성합니다.
cd /c/Python39/etc
echo_supervisord_conf > supervisord.conf
이렇게 하면 샘플의 프로필을 만들 수 있다.그런 다음 Laavel 설정을 추가합니다.
vim supervisord.conf
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php.exe C:\\Users\\<username>\\path\\to\\app\\artisan queue:work --tries=3 --timeout=30
autostart=true
autorestart=true
user=apache
numprocs=4
startsecs=0
redirect_stderr=true
stdout_logfile=C:\\Users\\<username>\\path\\to\\app\\storage\\logs\\worker.log
commond의 부분은 기본적으로 실행php artisan queue:work하기 때문에 매개 변수 등의 첨가는 자유롭다.umproces로 직원의 수를 결정할 수 있습니다.stdout_logfile로 직원의 기록 파일의 저장 장소를 결정하지만 기본적으로 프로젝트의 기록 폴더를 만들면 됩니다.
단지 이런 말은 잘못된 것이다.이유는 [supervisor] 세션의 설정이고 파일이 저장된 경로는 리눅스를 위한 설정입니다.수정logfilepidfile의 저장 경로.
[supervisord]
logfile=C:\\Python39\\etc\\supervisord.log ; (main log file;default $CWD/supervisord.log)
logfile_maxbytes=50MB               ; (max main logfile bytes b4 rotation;default 50MB)
logfile_backups=10                  ; (num of main logfile rotation backups;default 10)
loglevel=info                       ; (log level;default info; others: debug,warn,trace)
pidfile=C:\\Python39\\etc\\supervisord.pid ; (supervisord pidfile;default supervisord.pid)
nodaemon=false                      ; (start in foreground if true;default false)
silent=false                 ; no logs to stdout if true; default false
minfds=1024                         ; (min. avail startup file descriptors;default 1024)
minprocs=200                        ; (min. avail process descriptors;default 200)
네, 이렇게 프로필을 저장하고 준비했습니다.
bash/powshell로 실행해 보십시오.
supervisord -c C:\Python39\etc\supervisord.conf
시작 여부가 불안하면 슈퍼바이어스 로그 파일을 열어 직원의 실행 상황을 파악할 수 있습니다.

끝맺다


Windows에서는 Supervisor를 사용할 수 없다고 생각했습니다.최근의 업무 중 몇 가지 처리가 오래 걸리는 문제가 있어서 여러 명의 직원을 병행하여 처리하여 처리 시간을 단축시켰다.다만, 윈도우즈 임무 스케줄러로 해봤지만, 아무리 해도 여러 명의 스태프의 설정이 순조롭지 못했다.마지막으로 슈퍼바이저를 사용하려고 했지만 설정된 곳도 함정이 많아 스태프가 작동하는 순간 눈물이 날 것 같다(웃음).
그나저나 윈도우즈 서비스로 슈퍼바이저를 설치할 수 있었지만 모듈을 찾지 못해 실패했습니다.또 원인을 자세히 조사하지는 않았지만 과제가 남아 있다.
python -m supervisor.services install -c C:\Python39\etc\supervisord.conf
// または
supervisor_service.exe install -c C:\Python39\etc\supervisord.conf
그럼.

좋은 웹페이지 즐겨찾기