Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/12/2011, 11:18
Avatar de cadrogui
cadrogui
 
Fecha de Ingreso: junio-2003
Mensajes: 875
Antigüedad: 20 años, 10 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_RETURNTRANSFERtrue);
  
curl_setopt($curl_arr[$i], CURLOPT_POST1);
  
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