; Workers das filas de relatório (PDF pelo PDFShift e envio por e-mail). ; Passo a passo de instalação: docs/relatorios-pdf-envio.md ; ; Antes de copiar, conferir os dois valores que dependem do servidor: ; - o caminho do app (APP_DIR abaixo) ; - o usuário dos outros workers já existentes (`user=`), pra os arquivos gerados ; no storage terem o mesmo dono. Ver com: grep -h "^user" /etc/supervisor/conf.d/*.conf ; ; --timeout=180 fica ACIMA do job_timeout do PDF (150s) e ABAIXO do retry_after da fila ; (720s): um PDF lento nunca é pego por um segundo worker enquanto o primeiro espera. ; --max-time=3600 recicla o processo de hora em hora (evita memória acumulada). ; O `php artisan queue:restart` do deploy já reinicia estes workers junto com os outros. [program:exent-reports-pdf] command=/usr/bin/php /var/www/projetos5.exentdev.com.br/st/8.3/dashboard/artisan queue:work database --queue=reports-pdf --sleep=3 --timeout=180 --max-time=3600 directory=/var/www/projetos5.exentdev.com.br/st/8.3/dashboard ; 2 processos = no máximo 2 chamadas ao PDFShift ao mesmo tempo. O ritmo por minuto é ; controlado à parte (REPORTS_PDF_RATE_PER_MINUTE). numprocs=2 process_name=%(program_name)s_%(process_num)02d user=www-data autostart=true autorestart=true stopasgroup=true killasgroup=true stopwaitsecs=200 redirect_stderr=true stdout_logfile=/var/www/projetos5.exentdev.com.br/st/8.3/dashboard/storage/logs/worker-reports-pdf.log [program:exent-reports-mail] command=/usr/bin/php /var/www/projetos5.exentdev.com.br/st/8.3/dashboard/artisan queue:work database --queue=reports-mail --sleep=3 --timeout=90 --max-time=3600 directory=/var/www/projetos5.exentdev.com.br/st/8.3/dashboard ; 1 processo: o SMTP gosta de envio espaçado, e o ritmo já é limitado por minuto. numprocs=1 process_name=%(program_name)s_%(process_num)02d user=www-data autostart=true autorestart=true stopasgroup=true killasgroup=true stopwaitsecs=100 redirect_stderr=true stdout_logfile=/var/www/projetos5.exentdev.com.br/st/8.3/dashboard/storage/logs/worker-reports-mail.log