JR
Erro no Store
alguem ja passou por esse erro na hora de fazer um update
( ! ) PDOException: SQLSTATE[HY000]: General error: 1205 Tempo de espera (timeout) de travamento excedido. Tente reiniciar a transação. in F:SistemaJorgeCentralFomentolibadiantidatabaseTRecord.php on line 393
ja aumentei o timeout o maximo que pude no servidor local e ainda da esse erro.
o codigo que esta dando erro é esse abaixo.
( ! ) PDOException: SQLSTATE[HY000]: General error: 1205 Tempo de espera (timeout) de travamento excedido. Tente reiniciar a transação. in F:SistemaJorgeCentralFomentolibadiantidatabaseTRecord.php on line 393
ja aumentei o timeout o maximo que pude no servidor local e ainda da esse erro.
o codigo que esta dando erro é esse abaixo.
- <?php
- /**
- * method onGenerate()
- * Executed whenever the user clicks at the generate button
- */
- function onGeraPDFTitulos($idLote)
- {
- try
- {
- $titRel = 'Analise de Conflitos de Títulos';
- // TTransaction::setLogger(new TLoggerHTML('tmp/erros/LogGeraDPFTitulos'.'.html'));
- // TTransaction::log("** Ate aqui Ok<br> ");
- // open a transaction with database 'permission'
- TTransaction::open('permission');
- // get the form data into an active record
- //$formdata = $this->form->getData();
- $repository = new TRepository('TempGnrtit');
- $criteria = new TCriteria;
- $param['order'] = 'temp_id';
- $param['direction'] = 'asc';
- $criteria->setProperties($param);
- $filtro = '';
- $today = date('d/m/Y');
- $time = date('H:i:s');
- TTransaction::setLogger(new TLoggerHTML('tmp/erros/LogGeraDPFTitulosComproblemas'.'.html'));
- $objects = $repository->load($criteria);
- //TTransaction::log("** Ate aqui Ok<br> ".print_r($objects,true));
- TTransaction::log("** Ate aqui Ok<br> ");
- //$format = $formdata->output_type;
- if ($objects)
- {
- $widths = array(250,95,100,95,250);
- $tr = new TTableWriterPDF($widths,'l','pt','A4');
- $pdf = $tr->getNativeWriterPDF();
- //$pdf->SetMargins(10, 10);
- $pdf->SetAutoPageBreak(true, 10);
- // Arial bold 15
- $pdf->SetFont('Arial','B',15);
- // create the document styles
- $tr->addStyle('title', 'Arial', '8', '', '#000000', '#ffffff');
- $tr->addStyle('datap', 'Arial', '8', '', '#000000', '#ffffff');
- $tr->addStyle('datai', 'Arial', '8', '', '#000000', '#F8F8FF');
- $tr->addStyle('header', 'Times', '10', 'B', '#000000', '#ffffff');
- $tr->addStyle('footer', 'Times', '12', 'BI', '#000000', '#ffffff');
- // Adicionando Header do relatorio
- $pdf->AliasNbPages();
- $pdf->SetFont('Arial','B',9);
- $pdf->Cell(35,10,$today . ' - ' . $time,0,0,'C');
- $pdf->Cell(1475,10,'Pagina '.$pdf->PageNo().'/{nb}',0,0,'C');
- $pdf->Line('0',40,'850',40);
- $pdf->Image('app/images/CDF.png',365,45,80);
- $pdf->line('0','155','850','155');
- $pdf->Ln(20);
- $pdf->SetFont('Arial','B',20);
- $pdf->Cell(750,242,utf8_decode($titRel),0,0,'C');
- $pdf->Ln(-105);
- /// fim do Header
- // Adicionando Titulos da linha do relatório
- $tr->addRow();
- $tr->addCell('Sacado', 'center', 'title','1','1');
- //$tr->addCell('Cedente', 'center', 'title','1','1');
- $tr->addCell('Título', 'center', 'title','1','1');
- $tr->addCell('Vencimento', 'center', 'title','1','1');
- $tr->addCell('Vlr. Titulos', 'center', 'title','1','1');
- $tr->addCell('Empresa', 'center', 'title','1','1');
- // fim da linha de titulos
- $colour= FALSE;
- $data = new DateTime('NOW');
- $dia_anterior_hora_zerada = new DateTime();
- $dia_anterior_hora_zerada = $data;
- $dia_anterior_hora_zerada->setTime(00,00,00);
- $dia_anterior_hora_zerada->modify('-5 day');
- //Inicio dos dados
- foreach ($objects as $object)
- {
- $Sacado = new GnrPess($object->temp_SacId);
- $titulo = new GnrTit($object->temp_TitIdPesq);
- $emp = new GnrEmp($object->temp_TitEmpEnc);
- if (($emp->GnrPubPriv == 0 ) && (strtotime($emp->GnrEmpDtPub) < strtotime($dia_anterior_hora_zerada->format('Y-m-d H:m:s'))))
- {
- $empresa = substr($emp->GnrEmpNomeRedu,0,20);
- }else
- {
- $empresa = 'Privada';
- }
- $tr->addRow();
- $style = $colour ? 'datap' : 'datai';
- $tr->addCell($Sacado->GnrPessNome, 'left', $style,'1','1');
- $tr->addCell($titulo->GnrTitNum, 'center', $style,'1','1');
- $tr->addCell(TDate::date2br($titulo->GnrTitVenOrig), 'center', $style,'1','1');
- $tr->addCell(number_format($titulo->GnrTitVlrOrig, 2, ',', '.'), 'center', $style,'1','1');
- $tr->addCell($empresa, 'left', $style,'1','1');
- $colour = !$colour;
- $headerfooter = $pdf->GetY();
- if($headerfooter > 540)
- {
- $pdf->AcceptPageBreak();
- $pdf->AddPage();
- //inicio do header
- $pdf->SetFont('Arial','B',9);
- $pdf->Cell(35,10,$today . ' - ' . $time,0,0,'C');
- $pdf->Cell(1475,10,'Pagína '.$pdf->PageNo().'/{nb}',0,0,'C');
- $pdf->Line('0',40,'850',40);
- $pdf->Image('app/images/CDF.png',365,45,80);
- $pdf->line('0','155','850','155');
- $pdf->Ln(20);
- $pdf->SetFont('Arial','B',20);
- $pdf->Cell(750,242,utf8_decode($titRel),0,0,'C');
- $pdf->Ln(-105);
- // Adicionando Titulos da linha do relatório
- $tr->addRow();
- $tr->addCell('Sacado', 'center', 'title','1','1');
- //$tr->addCell('Cedente', 'center', 'title','1','1');
- $tr->addCell('Título', 'center', 'title','1','1');
- $tr->addCell('Vencimento', 'center', 'title','1','1');
- $tr->addCell('Vlr. Titulos', 'center', 'title','1','1');
- $tr->addCell('Empresa', 'center', 'title','1','1');
- }
- }
- // stores the file // refazer esse nome do PDF
- $nomeCripto = md5('GnrTitReport001'.date('Y-m-d H:i:s'));
- if (!file_exists("out/".$nomeCripto.'CRL'.$idLote.".pdf") OR is_writable("out/".$nomeCripto.'CRL'.$idLote.".pdf"))
- {
- $tr->save("out/".$nomeCripto.'CRL'.$idLote.".pdf");
- $retorno = "out/".$nomeCripto.'CRL'.$idLote.".pdf";
- try
- {
- # abri a tabela de lote e gravar o PDF ERRO NESSE UPDATE
- //TTransaction::open('permission');
- TTransaction::setLogger(new TLoggerHTML('tmp/erros/logLote'.$idLote.'.html'));
- $binario = file_get_contents($retorno);
- $Lote = new GnrTitLot($idLote);
- TTransaction::log("** gravando log lote<br> ". print_r($Lote,true));
- TTransaction::log("** LOG GnrTitLog gravando log lote2 <br> ". $idLote);
- //$Lote->GnrTitLotPdf = $binario; // comentei pois pensava que era o tamanho do arquivo que era muito grande 199k
- //$Lote->GnrTitLotNmPdf = $nomeCripto.'CRL'.$idLote.".pdf";
- $Lote->GnrSttId = 22;
- $ret = $Lote->store();
- TTransaction::log("** Retorno do update do lote <br> ". $ret);
- //TTransaction::close();
- }catch( Exception $e)
- {
- $retorno .= 'Problemas para gravar Lote update'.print_r($e,true);
- }
- }
- else
- {
- $retorno .= 1 ;
- $retorno .= 'Não foi possivel criar pasta: ' . "out/".$nomeCripto.".pdf";
- }
- }
- TTransaction::close();
- }
- catch (Exception $e) // in case of exception
- {
- // shows the exception error message
- $retorno = $e->getMessage();
- // undo all pending operations
- TTransaction::rollback();
- }
- return $retorno;
- }
- ?>