Mercurial > epgrec.yaz
diff getepg.php @ 111:3bed74eca373
change: EPG取得並列化が可能かどうかを判定するように変更
author | epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp> |
---|---|
date | Sat, 13 Mar 2010 16:45:29 +0900 |
parents | c29d41d0c945 |
children | b3ba2658a228 481e789605e3 |
line wrap: on
line diff
--- a/getepg.php Mon Mar 08 19:17:56 2010 +0900 +++ b/getepg.php Sat Mar 13 16:45:29 2010 +0900 @@ -1,17 +1,19 @@ #!/usr/bin/php <?php - include_once('config.php'); + $script_path = dirname( __FILE__ ); + chdir( $script_path ); + include_once( $script_path . '/config.php'); include_once( INSTALL_PATH . '/DBRecord.class.php' ); include_once( INSTALL_PATH . '/Reservation.class.php' ); include_once( INSTALL_PATH . '/Keyword.class.php' ); include_once( INSTALL_PATH . '/Settings.class.php' ); + include_once( INSTALL_PATH . '/storeProgram.inc.php' ); // 緇剛 if( ! defined( "BS_EPG_CHANNEL" ) ) define( "BS_EPG_CHANNEL", "211" ); if( ! defined( "CS1_EPG_CHANNEL" ) ) define( "CS1_EPG_CHANNEL", "CS8" ); if( ! defined( "CS2_EPG_CHANNEL" ) ) define( "CS2_EPG_CHANNEL", "CS24" ); - function check_file( $file ) { // <ゃ≦馹 if( ! file_exists( $file ) ) return true; @@ -25,6 +27,11 @@ return false; } + // 筝純桁慎羞宴顄帥鴻 + $use_para = false; + $use_para = (function_exists( "pcntl_fork" ) && function_exists( "posix_setsid" ) && function_exists( "pcntl_signal" ) && function_exists("pcntl_setpriority")); + + $settings = Settings::factory(); $temp_xml_bs = $settings->temp_xml."_bs"; @@ -43,8 +50,14 @@ exec( $cmdline ); $cmdline = $settings->epgdump." /BS ".$settings->temp_data." ".$temp_xml_bs; exec( $cmdline ); - $cmdline = INSTALL_PATH."/storeProgram.php BS ".$temp_xml_bs." >/dev/null 2>&1 &"; - exec( $cmdline ); + if( $use_para ) { + $cmdline = INSTALL_PATH."/storeProgram.php BS ".$temp_xml_bs." >/dev/null 2>&1 &"; + exec( $cmdline ); + } + else { + storeProgram( "BS", $temp_xml_bs ); + if( file_exists( $temp_xml_bs ) ) @unlink( $temp_xml_bs ); + } if( file_exists( $settings->temp_data ) ) @unlink( $settings->temp_data ); } @@ -56,8 +69,14 @@ exec( $cmdline ); $cmdline = $settings->epgdump." /CS ".$settings->temp_data." ".$temp_xml_cs1; exec( $cmdline ); - $cmdline = INSTALL_PATH."/storeProgram.php CS ".$temp_xml_cs1." >/dev/null 2>&1 &"; - exec( $cmdline ); + if( $use_para ) { + $cmdline = INSTALL_PATH."/storeProgram.php CS ".$temp_xml_cs1." >/dev/null 2>&1 &"; + exec( $cmdline ); + } + else { + storeProgram( "CS", $temp_xml_cs1 ); + if( file_exists( $temp_xml_cs1 ) ) @unlink( $temp_xml_cs1 ); + } if( file_exists( $settings->temp_data ) ) @unlink( $settings->temp_data ); } $num = DBRecord::countRecords( RESERVE_TBL, "WHERE complete = '0' AND (type = 'BS' OR type = 'CS') AND endtime > now() AND starttime < addtime( now(), '00:03:05')" ); @@ -66,8 +85,14 @@ exec( $cmdline ); $cmdline = $settings->epgdump." /CS ".$settings->temp_data." ".$temp_xml_cs2; exec( $cmdline ); - $cmdline = INSTALL_PATH."/storeProgram.php CS ".$temp_xml_cs2." >/dev/null 2>&1 &"; - exec( $cmdline ); + if( $use_para ) { + $cmdline = INSTALL_PATH."/storeProgram.php CS ".$temp_xml_cs2." >/dev/null 2>&1 &"; + exec( $cmdline ); + } + else { + storeProgram( "CS", $temp_xml_cs2 ); + if( file_exists( $temp_xml_cs2 ) ) @unlink( $temp_xml_cs2 ); + } if( file_exists( $settings->temp_data ) ) @unlink( $settings->temp_data ); } } @@ -83,11 +108,22 @@ exec( $cmdline ); $cmdline = $settings->epgdump." ".$key." ".$settings->temp_data." ".$temp_xml_gr.$value.""; exec( $cmdline ); - $cmdline = INSTALL_PATH."/storeProgram.php GR ".$temp_xml_gr.$value." >/dev/null 2>&1 &"; - exec( $cmdline ); + if( $use_para ) { + $cmdline = INSTALL_PATH."/storeProgram.php GR ".$temp_xml_gr.$value." >/dev/null 2>&1 &"; + exec( $cmdline ); + } + else { + storeProgram( "GR", $temp_xml_gr.$value ); + if( file_exists( $temp_xml_gr.$value ) ) @unlink( $temp_xml_gr.$value ); + } if( file_exists( $settings->temp_data ) ) @unlink( $settings->temp_data ); } } } + // 筝х + if( $use_para ) exit(); + garbageClean(); // 筝荀違 + doKeywordReservation(); // 若若篋膣 + exit(); ?> \ No newline at end of file