Foros del Web » Soporte técnico » Ayuda General »

[SOLUCIONADO] Consultas programas al servidor

Estas en el tema de Consultas programas al servidor en el foro de Ayuda General en Foros del Web. Hola de antemano gracias a todos. Tengo la siguiente aplicaccion: La idea que cada hora entre el horario de 8:00 - 17:00 Horas haga consultas ...
  #1 (permalink)  
Antiguo 10/03/2015, 16:35
Avatar de Maverick2786  
Fecha de Ingreso: diciembre-2012
Mensajes: 107
Antigüedad: 11 años, 4 meses
Puntos: 1
Consultas programas al servidor

Hola de antemano gracias a todos.

Tengo la siguiente aplicaccion:
La idea que cada hora entre el horario de 8:00 - 17:00 Horas haga consultas a este servicio web: http://www.banguat.gob.gt/variables/ws/TipoCambio.asmx
Y obtenga el tipo de cambio.

Ya tengo la aplicacion hecha de tal manera que por medio de un boton, al precionarlo consulta al servicio y trae el tipo de cambio, y lo gurda en una tabla

Resumiendo : Necesito saber como hacer para que consulte ese servicio en ese rango de horas e inserte en la tabla

Index.php:
Código HTML:
Ver original
  1. <!DOCTYPE html>
  2.     <head>
  3.         <meta charset="UTF-8">
  4.         <title></title>
  5.        
  6.         <!-- Jquery  -->
  7.         <link href="include/jquery-ui-1.10.3.custom/css/smoothness/jquery-ui-1.10.3.custom.css" rel="stylesheet">
  8.         <script type="text/javascript" src="include/jquery-ui-1.10.3.custom/js/jquery-1.9.1.js"></script>
  9.         <script type="text/javascript" src="include/jquery-ui-1.10.3.custom/js/jquery-ui-1.10.3.custom.js"></script>
  10.        
  11.         <!-- Funciones  -->
  12.         <script src="js/funciones.js"></script>
  13.     </head>
  14.     <body>
  15.         <div id="contenedor">
  16.             <input type="button" value="actualizar" onclick="actualizar()"/>
  17.         </div>
  18.         <div id="mensaje">
  19.  
  20.         </div>
  21.     </body>
  22. </html>

cambio_moneda.php (Hace la peticion e inserta en la bd):
Código PHP:
Ver original
  1. <?php
  2. include("include/funciones.php");
  3. require_once('include/nusoap/lib/nusoap.php');
  4.  
  5. $soapclient = new soapclient('http://www.banguat.gob.gt/variables/ws/TipoCambio.asmx?WSDL');
  6. $obj = $soapclient->TipoCambioDia();
  7.  
  8. $obj_datos = $obj->TipoCambioDiaResult->CambioDolar->VarDolar;
  9. $fecha = $obj_datos->fecha;
  10. $cambio = $obj_datos->referencia;
  11.  
  12. $campos = array("fecha", "cambio");
  13. $datos = array("'$fecha'", $cambio);
  14. $tabla = "moneda";
  15. $res = insertar($campos, $datos, $tabla);
  16.  
  17. if ($res) {
  18.     $cadena = "fecha: " . $fecha . " cambio:" . $cambio;
  19.     echo $cadena;
  20. } else {
  21.     echo "error";
  22. }
  23. ?>
  #2 (permalink)  
Antiguo 11/03/2015, 02:00
Avatar de fbedia  
Fecha de Ingreso: julio-2010
Mensajes: 159
Antigüedad: 13 años, 9 meses
Puntos: 8
Respuesta: Consultas programas al servidor

Lo primero que se me ocurre seria crear una tarea Cron, que llame periódicamente al fichero cambio_moneda.php

Puedes dejar programada dicha tarea para que se ejecute X veces al dia a la/s hora/s que consideres.

Simplemente busca por el foro o Google "ejecutar PHP tarea Cron" o "ejecutar PHP tarea CRONTAB"

Saludos.
__________________
Follow me on twitter @franbedia
  #3 (permalink)  
Antiguo 11/03/2015, 09:48
Avatar de Maverick2786  
Fecha de Ingreso: diciembre-2012
Mensajes: 107
Antigüedad: 11 años, 4 meses
Puntos: 1
Respuesta: Consultas programas al servidor

Una pregunta en las tareas programas se puede poner hora fin, es decir que se repita todos los dias de 8:00 - 17:00 horas
  #4 (permalink)  
Antiguo 11/03/2015, 11:35
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 10 años, 9 meses
Puntos: 401
Respuesta: Consultas programas al servidor

Si se puede:
EXPLICACIÓN ASTERISCOS
De izquierda a derecha, los asteriscos representan:

# Minutos: de 0 a 59.
# Horas: de 0 a 23.
# Día del mes: de 1 a 31.
# Mes: de 1 a 12.
# Día de la semana: de 0 a 6, siendo 0 el domingo.


Si se deja un asterisco, quiere decir “cada” minuto, hora, día de mes, mes o día de la semana.
Por ejemplo:

* * * * * /bin/MiWeb/script.sh

Ejecutaria el script:

Cada minuto
De cada hora
De cada día del mes
De cada mes
De cada día de la semana

Aquí realice un pos sobre el tema. Aquí.
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-
  #5 (permalink)  
Antiguo 11/03/2015, 12:55
Avatar de Maverick2786  
Fecha de Ingreso: diciembre-2012
Mensajes: 107
Antigüedad: 11 años, 4 meses
Puntos: 1
Respuesta: Consultas programas al servidor

Ok para aclarar un poco , tengo este codigo en php que inserta:
cambio_moneda.php:
Código PHP:
Ver original
  1. <?php
  2.  
  3. include("include/funciones.php");
  4. require_once('include/nusoap/lib/nusoap.php');
  5.  
  6. $fecha_sistema = date_default_timezone_set('America/Guatemala');
  7. $hora = date("H:i:s");
  8.  
  9. if ($hora >= "08:00:00" && $hora <= "17:00:00") {
  10.     $soapclient = new soapclient('http://www.banguat.gob.gt/variables/ws/TipoCambio.asmx?WSDL');
  11.     $obj = $soapclient->TipoCambioDia();
  12.  
  13.     $obj_datos = $obj->TipoCambioDiaResult->CambioDolar->VarDolar;
  14.     $fecha = $obj_datos->fecha;
  15.     $cambio = $obj_datos->referencia;
  16.  
  17.     $campos = array("fecha", "cambio");
  18.     $datos = array("'$fecha'", $cambio);
  19.     $tabla = "moneda";
  20.     $res = insertar($campos, $datos, $tabla);
  21.  
  22. //if ($res) {
  23. //    $cadena = "fecha: " . $fecha . " cambio:" . $cambio;
  24. //    echo $cadena;
  25. //} else {
  26. //    echo "error";
  27. //}
  28. }
  29. ?>

Tengo este archivo .bat
cron.bat
Código bat:
Ver original
  1. start chrome.exe -e localhost/varios/cambio_moneda/cambio_moneda.php

Y tengo esta tarea programada:
Código XML:
Ver original
  1. <?xml version="1.0" encoding="UTF-16"?>
  2. <Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  3.   <RegistrationInfo>
  4.     <Date>2015-03-11T11:49:03.9960024</Date>
  5.     <Author>Pablo-PC\Pablo</Author>
  6.   </RegistrationInfo>
  7.   <Triggers>
  8.     <CalendarTrigger>
  9.       <Repetition>
  10.         <Interval>PT1H</Interval>
  11.         <StopAtDurationEnd>false</StopAtDurationEnd>
  12.       </Repetition>
  13.       <StartBoundary>2015-03-11T12:49:00</StartBoundary>
  14.       <Enabled>true</Enabled>
  15.       <ScheduleByDay>
  16.         <DaysInterval>1</DaysInterval>
  17.       </ScheduleByDay>
  18.     </CalendarTrigger>
  19.   </Triggers>
  20.   <Principals>
  21.     <Principal id="Author">
  22.       <UserId>Pablo-PC\Pablo</UserId>
  23.       <LogonType>InteractiveToken</LogonType>
  24.       <RunLevel>LeastPrivilege</RunLevel>
  25.     </Principal>
  26.   </Principals>
  27.   <Settings>
  28.     <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
  29.     <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
  30.     <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
  31.     <AllowHardTerminate>true</AllowHardTerminate>
  32.     <StartWhenAvailable>false</StartWhenAvailable>
  33.     <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
  34.     <IdleSettings>
  35.       <StopOnIdleEnd>true</StopOnIdleEnd>
  36.       <RestartOnIdle>false</RestartOnIdle>
  37.     </IdleSettings>
  38.     <AllowStartOnDemand>true</AllowStartOnDemand>
  39.     <Enabled>true</Enabled>
  40.     <Hidden>false</Hidden>
  41.     <RunOnlyIfIdle>false</RunOnlyIfIdle>
  42.     <WakeToRun>false</WakeToRun>
  43.     <ExecutionTimeLimit>P3D</ExecutionTimeLimit>
  44.     <Priority>7</Priority>
  45.     <RestartOnFailure>
  46.       <Interval>PT1M</Interval>
  47.       <Count>3</Count>
  48.     </RestartOnFailure>
  49.   </Settings>
  50.   <Actions Context="Author">
  51.     <Exec>
  52.       <Command>C:\xampp\htdocs\varios\cambio_moneda\cron.bat</Command>
  53.     </Exec>
  54.   </Actions>
  55. </Task>

1.Hay otra forma de hacerlo?
2.Esto cada ves que se ejecuta abre chrome, hay forma de hacerlo sin que abra chrome?

Gracias a todos
  #6 (permalink)  
Antiguo 11/03/2015, 15:44
Avatar de Maverick2786  
Fecha de Ingreso: diciembre-2012
Mensajes: 107
Antigüedad: 11 años, 4 meses
Puntos: 1
Respuesta: Consultas programas al servidor

Hola a todos ya funciona los cambios que hice son
1. Dentro de las variables de sistema (Inicio->click derecho en equipo ->propiedades -> configuracion avanzada del sistema ->Variables de entorno ->
en el area de variables de sistema buscar la variable PATH -> seleccionar la variable y editar -> agregar al valor lo siguiente: ;C:\xampp\php\ (suponiendo que php.exe
se encuentra en esa ruta). Reiniciar para que detecte los cambios

2.Cambie el codigo del archivo .bat : php C:\xampp\htdocs\varios\cambio_moneda\cambio_moneda .php

Etiquetas: programas, servidor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:37.