function check() { //ajaxリクエスト以外 if( !$this->RequestHandler->isAjax() ) { $this->set("result" , array("result" => "not ajax")); return; } //パラメータ解析 $u_userid=$this->params['form']['u']; $u_id=$this->params['form']['id']; if ( $u_userid == "" or $u_id == "" ){ $this->set("result" , array("result" => "parameter error")); return; } //ファイル名 $hql_file=DIR_REQUEST."/${u_userid}/${u_id}.hql"; $out_file=DIR_RESULT."/${u_userid}/${u_id}.out"; $fin_file=DIR_RESULT."/${u_userid}/${u_id}.fin"; $pid_file=DIR_RESULT."/${u_userid}/${u_id}.pid"; //hive処理チェック if ( !file_exists($hql_file) ){ $this->set("result" , array("result" => "file open error", "id" => "$u_id")); return; } if ( !file_exists($out_file) ){ $this->set("result" , array("result" => "progress", "id" => "$u_id")); return; } list($err_flg,$total_p,$stage_p,$map_p,$reduce_p)=CommonComponent::GetJobInfo($hql_file,$out_file,$fin_file,$pid_file); if ( $err_flg >= 100 ){ $this->set("result" , array("result" => "execute error", "id" => "$u_id")); CommonComponent::UpdateRunhistsResult($u_id,501); return; } //子プロセス処理中チェック if ( file_exists($pid_file) ){ $this->set("result" , array("result" => "progress", "id" => "$u_id", "total"=>"$total_p", "stage"=>"$stage_p", "map"=>"$map_p", "reduce"=>"$reduce_p")); return; } //結果ファイルの一覧を取得 $filnms=CommonComponent::GetResultFiles($fin_file); if ( $filnms == "" ){ $this->set("result" , array("result" => "unknown error", "id" => "$u_id")); CommonComponent::UpdateRunhistsResult($u_id,503); return; } #サイズ制限あり if ( $err_flg != 0 ){ $this->set("result" , array("result" => "warning", "id" => "$u_id", "filnm" => "$filnms")); CommonComponent::UpdateRunhistsResult($u_id,401); return; } //処理終了 $this->set("result" , array("result" => "ok", "id" => "$u_id", "filnm" => "$filnms")); CommonComponent::UpdateRunhistsResult($u_id,200); }