Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/12/2011, 11:18
Avatar de cadrogui
cadrogui
 
Fecha de Ingreso: junio-2003
Mensajes: 875
Antigüedad: 23 años, 5 meses
Puntos: 5
problema tuberias y cron

hola gente, el script si lo ejecuto desde la terminal me funciona bien y retorna los valores pero cuando lo ejecuta cron, no retorna valores,

la funcion:

Código PHP:
  function Revisa_Cuadernos($api_key, $cookie, $CRR_Cuaderno, $TIP_Causa, $Rol_Causa, $Cod_Tribunal)
  {
    
$this->init($api_key);
    if(
$this->fSocket)
    {
    
    
$tuberia = proc_open("php pipe_threads.php $api_key $CRR_Cuaderno $cookie $TIP_Causa $Rol_Causa $Cod_Tribunal",
                         
      array(
        array(
"pipe","r"), //stdin
        
array("pipe","w"), //stdout
        
array("pipe","w")  //stderr
      
),
      
$pipes);
    
    
$salida_pipe = stream_get_contents($pipes[1]);
    
fclose($pipes[0]);
    
fclose($pipes[1]);
    
fclose($pipes[2]);
    
$retorno_pipe = proc_close($tuberia);
        
    return 
json_decode($salida_pipe);
    
    }
 return 
0;    
} 

la tuberia "pipe_threads.php"

Código PHP:
$cookie = $argv[3];
$CRR_Cuaderno = explode("_", $argv[2]);
$TIP_Causa = explode("_", $argv[4]);
$Rol_Causa = $argv[5];
$Cod_Tribunal = $argv[6];


// realiza la llamada al cuaderno

$url_cuadernos = "http://civil.poderjudicial.cl/CIVILPORWEB/AtPublicoDAction.do?";

$rol_data = explode("-", $Rol_Causa);

$url = "http://civil.poderjudicial.cl/CIVILPORWEB/AtPublicoDAction.do";  

$total_cuadernos = count($CRR_Cuaderno);

$curl_arr = array();
$master = curl_multi_init();

for(
$i = 0; $i < $total_cuadernos; $i++)
{
  
$data = array();
  
$data['TIP_Causa'] = $rol_data['0'];
  
$data['ROL_Causa'] = $rol_data['1'];
  
$data['ERA_Causa'] = $rol_data['2'];
  
$data['COD_Tribunal'] = $Cod_Tribunal;
  
  
$data['TIP_Cuaderno'] = $TIP_Causa[$i]; 
  
  
$data['GLS_Cuaderno'] = "cualquier_cuaderno";
  
$data['CRR_IdCuaderno'] = $CRR_Cuaderno[$i]; 
  
$data['TIP_Informe'] = "1";
  
$data['FLG_Caratula'] = "0";
  
$data['TIP_Cargo'] = "3";
  
$data['COD_Corte'] = "null";
  
$data['FLG_ImpresionTribunal'] = "1";
  
$data['CRR_Cuaderno'] = $CRR_Cuaderno[$i];
  
$data['irAccionAtPublico'] = "Ir+a+Cuaderno";
  
$data['FLG_Vuelta'] = "null";
  
  
$cuaderno_data = $mc->compile_post_data($data);    
  
  
$curl_arr[$i] = curl_init($url);
  
curl_setopt($curl_arr[$i], CURLOPT_RETURNTRANSFER, true);
  
curl_setopt($curl_arr[$i], CURLOPT_POST, 1);
  
curl_setopt($curl_arr[$i], CURLOPT_POSTFIELDS, $cuaderno_data);
  
curl_setopt($curl_arr[$i], CURLOPT_COOKIEFILE, $cookie);
  
curl_setopt($curl_arr[$i], CURLOPT_FOLLOWLOCATION  ,1);
  
curl_multi_add_handle($master, $curl_arr[$i]);
  
}

// inicio del multi threading ------------------------------------------------------------------------------------------------------------------------    

  
do {
      
$mrc = curl_multi_exec($master, $threads);
  } while (
$mrc == CURLM_CALL_MULTI_PERFORM);
  
  while (
$threads && $mrc == CURLM_OK) {
      if (
curl_multi_select($master) != -1) {
          do {
              
$mrc = curl_multi_exec($master, $threads);
          } while (
$mrc == CURLM_CALL_MULTI_PERFORM);
      }
  }

// busqueda coincidencias en los cuadernos -------------------------------------------------------------------------------------------------------------    

if($cierre_bucle != true):

    for(
$i = 0; $i < $total_cuadernos; $i++)
    {
      
$results = curl_multi_getcontent  ( $curl_arr[$i]  );
    
      
curl_multi_remove_handle($master, $curl_arr[$i]);
      
curl_multi_close($master);
    
    
// buqueda de fechas en el cuaderno
    
      
$fechas_arr = array();
      
$fechas_arr = $mc->MuestraFecha($results);
      
    
// Nombre del Cuaderno
    
      
$nombre_cuaderno = $mc->Nombre_Cuaderno($results);
    
    
// Archivo asociado al movimiento de la causa    
    
      
$attachment = $mc->Archivo_Movimiento($results);
      
    
// Busqueda de la fecha actual dentro de las fechas del cuaderno
        
     
$fecha_actual = date("d/m/Y");
    
     
$fecha_menos96hs = date('d/m/Y',time()-(4*24*60*60)); // 4 dias
     
$fecha_menos72hs = date('d/m/Y',time()-(3*24*60*60)); // 3 dias
     
$fecha_menos48hs = date('d/m/Y',time()-(2*24*60*60)); // 2 dias
     
$fecha_menos24hs = date('d/m/Y',time()-(24*60*60)); // 1 dia
                
     
if(array_search($fecha_actual, $fechas_arr) === 0):
          
$cuaderno = utf8_encode(substr($nombre_cuaderno,2,-2));
          
$movimiento_bol = "TRUE";    
          
$fecha_mov = $fecha_actual;
          
$archivo_mov_causa = $attachment;
          
$debug = "La fecha actual es el primer elemento del cuaderno: " .$cuaderno. "\r\n";    
          
$cierre_bucle = true;
     endif;
    
    
     if(
array_search($fecha_menos24hs, $fechas_arr) === 0):               
          
$cuaderno = utf8_encode(substr($nombre_cuaderno,2,-2));
          
$movimiento_bol = "TRUE";        
          
$fecha_mov = $fecha_menos24hs;
          
$archivo_mov_causa = $attachment;    
          
$debug = "La fecha de ayer es el primer elemento del cuaderno: " .$cuaderno. "\r\n";    
          
$cierre_bucle = true;
     endif;
    
    
     if(
array_search($fecha_menos48hs, $fechas_arr) === 0):
          
$cuaderno = utf8_encode(substr($nombre_cuaderno,2,-2));
          
$movimiento_bol = "TRUE";        
          
$fecha_mov = $fecha_menos48hs;
          
$archivo_mov_causa = $attachment;                    
          
$debug = "La fecha antes de ayer es el primer elemento del cuaderno: " .$cuaderno. "\r\n";    
          
$cierre_bucle = true;
     endif;
    
    
     if(
array_search($fecha_menos72hs, $fechas_arr) === 0):
          
$cuaderno = utf8_encode(substr($nombre_cuaderno,2,-2));
          
$movimiento_bol = "TRUE";        
          
$fecha_mov = $fecha_menos72hs;
          
$archivo_mov_causa = $attachment;
          
$debug = "La fecha hace 3 dias es el primer elemento del cuaderno: " .$cuaderno. "\r\n";        
          
$cierre_bucle = true;
     endif;
    
    
     if(
array_search($fecha_menos96hs, $fechas_arr) === 0):
          
$cuaderno = utf8_encode(substr($nombre_cuaderno,2,-2));
          
$movimiento_bol = "TRUE";        
          
$fecha_mov = $fecha_menos96hs;
          
$archivo_mov_causa = $attachment;                    
          
$debug = "La fecha de hace 4 dias es el primer elemento del cuaderno: " .$cuaderno. "\r\n";    
          
$cierre_bucle = true;
     endif;
    
      
      
$BYTES_CUADERNO = strlen($results);
      
$total_bytes = $total_bytes + $BYTES_CUADERNO;
      
    }
endif;

$ret = array('total_bytes_cuadernos' => $total_bytes,
             
'cuaderno' =>$cuaderno,
             
'movimiento_bol' => $movimiento_bol,
             
'fecha' => $fecha_mov,
             
'archivo_mov_causa' => $archivo_mov_causa,
             
'debug' => $debug);


//$ret = array($cookie, $CRR_Cuaderno, $TIP_Causa, $Rol_Causa, $Cod_Tribunal);

echo json_encode($ret);
?> 
no logro comprender del por que este funcionamiento, alguna sugerencia?

gracias.
__________________
La mejor manera de aprender es por medio de un aprendizaje significativo....

http://www.cocert.cl