2010-09-08 2 views
2

Предположим, у меня есть приложение CI, который делает следующее:Как отключить приложение CodeIgniter?

  • Разрешить пользователям войти в систему и выполнять определенные задачи
  • Постоянно есть хрон запуска скриптов в фоновом режиме

Теперь, скажем, мне нужно сделать некоторые обновления на сайте. Как мне это сделать безопасно? Я не хочу отключать сервер, пока пользователи вошли в систему или запущен скрипт cron.

Я могу установить флаг в БД, чтобы страница входа в систему больше не позволяла людям входить в систему. Этот флаг также можно использовать, чтобы сообщить скрипту cron прекратить выполнение большего количества процессов. Проблема в том, как я могу узнать, есть ли еще зарегистрированные пользователи или скрипты, все еще работающие в фоновом режиме?

ответ

3

Что бы я сделал, это установить файл .htaccess для перенаправления всех пользователей независимо от того, какой URL-адрес они пытаются посетить в maintanance.html.

Вот example

EDIT:

Ой извините ... Я забыл сделать хрон рабочих мест. Если вы используете linux, вы можете вывести crontab в файл temp, а затем удалить вкладку cron, чтобы она не запускалась. Когда вы закончите с обновлением вы можете переместить временный файл обратно в кронтаб

crontab -l > crontab_file 

crontab -r 

crontab crontab_file 
+0

Ой извините ... Я забыл сделать хрон рабочих мест. Если вы используете linux, вы можете вывести crontab в файл temp, а затем удалить вкладку cron, чтобы она не запускалась. Когда вы закончите обновление, вы можете переместить временный файл обратно в crontab crontab -l> crontab_file crontab -r crontab crontab_file – Bot

0

Я просто использовать мой файл index.php. Мои приложения расположены в верхнем каталоге, поэтому у меня может быть приложение под названием «обслуживание». Тогда я просто изменить:

$application_folder = "appname";

к этому:

$application_folder = "maintenance";

Смежные вопросы