Мне было бы интересно услышать мнения о лучшей конфигурации веб-сервера Apache в этом сценарии.
У меня есть несколько скриптов (PHP), которые запускаются через регулярные промежутки времени, большинство из них одновременно или через одинаковые временные интервалы с помощью задания cron.
По мере того, как я размещаю все больше и больше таких скриптов, называемых веб-страницами и написанных на PHP, я немного обеспокоен тем, что могу начать «терять» некоторые из них по пути, поскольку они все запускаются одновременно.
Поскольку «никто» на самом деле их не видит и не ждет, пока эти страницы загрузятся (задержка в несколько секунд не является проблемой), мне было интересно, на какие настройки в apache2.conf следует обратить внимание, чтобы убедиться, что все эти вызовы страниц действительно обрабатываются (даже с задержкой в несколько секунд), а не отбрасывать их Apache, если он не может обработать их за определенный период времени (в отличие от стандартных страниц html/php, которые просматривает пользователь, просматривающий веб-сервер, это просто страницы, которые выполняют скрипты, которых на самом деле никто не ждет).
Мое идеальное решение заключается в том, чтобы они (страницы, вызываемые через cron) просто накапливались и обрабатывались одна за другой до тех пор, пока не будет вызвана следующая партия или в более спокойный период, а не Apache убивал их из-за того, что они не были выполнены в определенный промежуток времени.
Конечно, я понимаю, что если они будут стоять в очереди дольше, чем должна быть готова следующая партия, то у меня возникнут проблемы.
В то же время, как я могу посмотреть, что Apache поставил в очередь или какие страницы он обрабатывает?
Заранее спасибо.
решение1
Я не вижу необходимости использовать Apache в этом контексте, если у вас есть доступ к cron. Вам не нужно обслуживать страницы, по-видимому, вам нужно только выполнять код.
Почему бы просто не попробовать что-то подобное?
#!/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.]
Простое сохранение этого скрипта как /path/to/script.php и вызов php /path/to/script.php
(или просто ./path/to/script.php
добавление прав на выполнение к файлу с помощью chmod +x
) в вашем crontab должно решить эту задачу и сэкономить вам массу накладных расходов Apache.