강좌게시판

제목 [게임서버] maintenance 정기점검 설정하기
글쓴이 ci세상 작성시각 2015/02/17 11:45:38
댓글 : 2 추천 : 1 스크랩 : 0 조회수 : 22398   RSS
<필요성>
게임서버는 유저가 사용중일때 클라이언트에게 에러코드를 보내서 정기점검 공지를 알리고 게임을 중단시켜야 합니다. 이개념을 maintenance = 정기점검 이라고 표현을 하게 됩니다.

정기점검시 모든 컨트롤러를 중지시켜야 하기에 다음 공개된 한방에 훅(hook) 설정 하시면 되겠네요^^

이부분은 게임뿐만 아니라 웹서비스에서도 유용하게 긴급 정기점검을 하실때 유용하실것 같습니다.

CI의 막강함!! 다시한번 느낍니다.
정기점검을 앞으로 메인턴스 설정이라고 표현해도 왠지 있어보이지 않을까요?^^

<참고문서>
http://stackoverflow.com/questions/15572568/how-to-build-in-maintenance-mode-in-codeigniter

<순서>
1. hook사용설정
application/config/config.php
$config['enable_hooks'] = TRUE;

2. hooks 세팅
application/config/hooks.php
$hook['post_controller'][] = array(
   'class' => 'maintenance',
   'function' => 'maintenance',
   'filename' => 'maintenance.php',
   'filepath' => 'hooks',
   'params' => array()
);
3. hooks 제어
application/hooks/maintenance.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class maintenance
{
   var $CI;    
   public function maintenance()
   {
		// 정기점검시간설정
		$_error =& load_class('Exceptions', 'core');
		echo $_error->show_error("", "", 'error_maintenance', 200);
		exit;
   }
}
4. 정기점검메세지
application/errors/error_maintenance.php

10:00 ~ 12:00 서비스 정기점검중입니다.












 
 다음글 [게임서버] API 명세서 정의 및 컨트롤러 코딩 (3)
 이전글 [게임서버] controller 단위 스트링 분리하기 (3)

댓글

한대승(불의회상) / 2015/02/17 12:36:10 / 추천 0
게임뿐만 아니라 웹사이트에 적용해도 유용한 강좌네요. ^^
수야디벨 / 2015/03/12 13:18:26 / 추천 0
좋은내용이네요 ~!