Configuração ideal do Apache2 para este cenário

Configuração ideal do Apache2 para este cenário

Eu estaria interessado em ouvir opiniões sobre a melhor configuração para um servidor web Apache neste cenário.

Eu tenho vários scripts (PHP) que são executados em intervalos regulares, a maioria todos ao mesmo tempo ou nos mesmos intervalos cronometrados por meio de um cron job.

À medida que coloco mais e mais desses scripts, chamados de páginas da web e escritos em PHP, fico um pouco preocupado com a possibilidade de começar a 'perder' alguns deles no caminho, pois todos são acionados juntos.

Como 'ninguém' realmente os vê, nem espera que essas páginas carreguem (um atraso de segundos não é um problema), eu queria saber quais configurações no apache2.conf observar para ter certeza de que todas essas chamadas de páginas são realmente tratadas. (mesmo com alguns segundos de atraso) em vez de o Apache jogá-los fora se não conseguir lidar com eles em um determinado período de tempo (ao contrário das páginas html/php padrão que estão sendo visualizadas por uma pessoa navegando no servidor web, estas são apenas páginas que executam scripts pelos quais ninguém está realmente esperando).

Minha solução ideal é que elas (as páginas sendo chamadas via cron) apenas se empilhem e processem uma por uma até que o próximo lote seja chamado ou em um período mais silencioso, em vez de o Apache matá-las porque elas não foram executadas em um determinado período de tempo.

É claro que entendo que se eles ficarem na fila por mais tempo do que o próximo lote deverá ser executado, então terei um problema.

Na mesma nota, como posso ver o que o Apache enfileirou ou as páginas que está processando?

Agradeço antecipadamente.

Responder1

Eu realmente não vejo necessidade de usar o Apache neste contexto, se você tiver acesso ao cron. Você não precisa servir páginas, aparentemente você só precisa executar código.

Por que não simplesmente tentar algo assim?

#!/usr/bin/env php
<?php

[Your code here.
 Perhaps even send e-mail updates 
 including with the status of your script,
 or update a lightweight database each time
 the script has run.]

Simplesmente salvar este script como /path/to/script.php e chamar php /path/to/script.php(ou simplesmente ./path/to/script.phpse você adicionar direitos de execução ao arquivo, usando chmod +x) em seu crontab, deve fazer o trabalho e economizar muita sobrecarga do Apache.

informação relacionada