Autor Tema: WebService  (Leído 244 veces)

0 Usuarios y 1 Visitante están viendo este tema.

jorozco

  • Hero Member
  • *****
  • Mensajes: 830
    • Ver Perfil
    • Email
  • Institución: Universidad Catòlica de Manizales
  • Nombre y apellido: Jhon Jairo Orozco D.
  • Sistema: Toba
WebService
« : septiembre 01, 2020, 09:49:45 am »
Richard, buen día
Me puedes orientar como ofrecer un webservice en siu-toba, ya que en toba_usuarios vi dicha opción.
El caso es el siguiente
Debo ofrecer un servicio en un proyecto toba (encuesta), de tal forma que:
1. Recibo un nro de identificación de un sistema externo
2. lo recibo.
3. ejecuto un sql con dicho dato
4. Retorno una respuesta con varios datos.

Quedo atento,
Cordial Saludo

richard

  • Moderador Global
  • *****
  • Mensajes: 2771
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Ricardo Dalinger
  • Sistema: SIU-Toba
Re:WebService
« Respuesta #1 : septiembre 01, 2020, 11:16:55 am »
Hola Jhon,

los WS Rest los servimos haciendo uso de esta libreria y la forma en que los definimos depende basicamente de ella.

En Toba solo hay un par de cuestiones puntuales respecto de la ubicacion y el manejo de los usuarios de la misma.
Eso lo fuimos dejando aqui

Ten en cuenta que el trabajo de Toba llega hasta la configuracion de la libreria y luego le cede el control a ella, por lo que efectivamente dentro del WS no vas a poder utilizar las funciones del framework.

Saludos
Twitter es al incontinente verbal,  lo que los dulces al diabetico.

jorozco

  • Hero Member
  • *****
  • Mensajes: 830
    • Ver Perfil
    • Email
  • Institución: Universidad Catòlica de Manizales
  • Nombre y apellido: Jhon Jairo Orozco D.
  • Sistema: Toba
Re:WebService
« Respuesta #2 : septiembre 01, 2020, 05:54:00 pm »
Richard, gracias por responder y nos puedes colaborar con sacarlo adelante con el ejempo de toba_referencia, para tomarlo como base

En el ejemplo de toba referencia (requiere curl y Guzzle),  ya se encuentran en php/3ros/curl  y  php/vendor/guzzlehtml

Todavía estamos en toba 2.7

al probar en toba referencia en los eventos (GET/PERSONA y los demás), muestra un error

POST /toba_referencia/php/rest/personas HTTP/1.1 Host: localhost User-Agent: Guzzle/5.1.0 curl/7.59.0 PHP/5.6.40 Content-Length: 49 {"nombre":"jhon","fecha_nacimiento":"2020-09-01"} HTTP/1.1 404 Not Found Date: Tue, 01 Sep 2020 20:32:38 GMT Server: Apache/2.4.37 (Win64) PHP/5.6.40 Content-Length: 316 Content-Type: text/html; charset=iso-8859-1
Not Found

The requested URL /toba_referencia/rest/personas was not found on this server.

Y en el evento de Versión API, muestra el siguiente error.
cURL error 7: Failed to connect to localhost port 443: Connection refused

Se adecuaron los archivos respectivos que indican(adjuntos), por favor revisas si hay se encuentra la falla

Gracias y cordial saludo
« Última Modificación: septiembre 01, 2020, 08:09:47 pm por jorozco »

richard

  • Moderador Global
  • *****
  • Mensajes: 2771
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Ricardo Dalinger
  • Sistema: SIU-Toba
Re:WebService
« Respuesta #3 : septiembre 03, 2020, 11:46:31 am »
Hola Jhon,
Richard, gracias por responder y nos puedes colaborar con sacarlo adelante con el ejempo de toba_referencia, para tomarlo como base

En el ejemplo de toba referencia (requiere curl y Guzzle),  ya se encuentran en php/3ros/curl  y  php/vendor/guzzlehtml
Requiere la extension CURL de PHP, no la libreria en un directorio... se puede usar sin ella pero es mejor tenerla para no tener que tocar cosas en php.ini.

Citar
al probar en toba referencia en los eventos (GET/PERSONA y los demás), muestra un error

POST /toba_referencia/php/rest/personas HTTP/1.1 Host: localhost User-Agent: Guzzle/5.1.0 curl/7.59.0 PHP/5.6.40 Content-Length: 49 {"nombre":"jhon","fecha_nacimiento":"2020-09-01"} HTTP/1.1 404 Not Found Date: Tue, 01 Sep 2020 20:32:38 GMT Server: Apache/2.4.37 (Win64) PHP/5.6.40 Content-Length: 316 Content-Type: text/html; charset=iso-8859-1
Not Found

The requested URL /toba_referencia/rest/personas was not found on this server.
Te hago una consulta, esta prueba la estas reaizando desde dentro del proyecto toba_referencia?.. en dicho caso esta activo el modulo de rewrite?  si pudieras pegarme el contenido de la configuracion del alias para toba_referencia seria genial, todo apunta a que no esta encontrando la forma de llegar.

Citar
Y en el evento de Versión API, muestra el siguiente error.
cURL error 7: Failed to connect to localhost port 443: Connection refused
Si, esto puede ser ya que dicho pedido se hacia por https en lugar de http... para modificarlo tendrias que editar directamente el archivo fuente, no vale la pena.

Citar
Se adecuaron los archivos respectivos que indican(adjuntos), por favor revisas si hay se encuentra la falla

Jhon, el archivo que subiste me llega roto... si pudieras subir los archivos ini nomas seria mejor.. son dos, el cliente.ini donde consta las URLs y servidor.ini... el de usuarios no lo necesito ya que las credenciales de los usuarios no son importantes.

Saludos
Twitter es al incontinente verbal,  lo que los dulces al diabetico.

jorozco

  • Hero Member
  • *****
  • Mensajes: 830
    • Ver Perfil
    • Email
  • Institución: Universidad Catòlica de Manizales
  • Nombre y apellido: Jhon Jairo Orozco D.
  • Sistema: Toba
Re:WebService
« Respuesta #4 : septiembre 04, 2020, 10:52:55 am »
Ingeniero, mil gracias por responder

Te conceptualizo el caso primero: Se compró un sistema de alarmas HikVision que detecta la persona y su temperatura, para controlar su entrada, pero nos toca crear una alarma dependiendo de una encuesta covid que el personal debe diligencia antes de ingresar realizada en toba, cuando se envía la encuesta se debe enviar a la terminal HikVision un json con (identificacion, fecha, puntos, si_realiza), para que cuando la persona que no la realize se le active dicha alarma.

cuando la persona presiona ENVIAR en donde debo enviar los datos a dicha termina y ahí es donde necesito el REST, para el envío.

Depronto también me puedes orientar si hay otra solución?

La prueba la realizo, ejecutando directamente desde toba referencia, por SOAP y POSTMAN igual NO encuentra la ruta

La extension curl.dll se encuentra descomentada y tiene el ext, pero guzzle investigando solo es libreria y no tiene extensión

1. Cómo activo el módulo rewrite, y donde se encuentra, si es el de toba.conf, ya se encuentra en ON
   
2. Como no se permite subir archivos.ini,  se los copio acá mismo

2.1. EN EL ARCHIVO C:\proyectos\toba_2_7\instalacion\i__desarrollo\p__toba_referencia\rest\servidor.ini
         DESCOMENTO LOS QUE CREO QUE SON NECERARIOS

autenticacion = 'digest'
;;
;;Opciones que recibe la librería - > rest/rest.php
;;
[settings]
formato_respuesta = json
;url_protegida = /.*/


///////////////////////////////////////////////////////////////////////
2.2. EN EL ARCHIVO C:\proyectos\toba_2_7\instalacion\i__desarrollo\p__toba_referencia\rest\rest_localhost\cliente.ini
        ;DESCOMENTO LOS QUE CREO QUE SON NECERARIOS

[conexion]
;;Recuerde dejar una barra (/) al finalizar la URL
to = "https://toba_referencia/rest/"
auth_tipo = 'digest'
auth_usuario = toba
auth_password = toba

;Parametros para auth_tipo = ssl
;cert_file=/path_al_certificado
;cert_pwd=PASSWORDDECERT
;key_file=/path_de_clave_privada
;ca_cert=/path_al_certificado_CA

///////////////////////////////////////////////
3.  En el archivo toba.conf esto es lo que tiene con respecto toba_referencia para el ejmplo

#Proyecto: toba_referencia
   Alias /toba_referencia/2.7 "C:/proyectos/toba_2_7/proyectos/toba_referencia/www"
   <Directory "C:/proyectos/toba_2_7/proyectos/toba_referencia/www/">
      SetEnv TOBA_DIR       "C:/proyectos/toba_2_7"
      SetEnv TOBA_PROYECTO    "toba_referencia"
      SetEnv TOBA_INSTALACION_DIR "C:/proyectos/toba_2_7/instalacion"
      SetEnv TOBA_INSTANCIA   "desarrollo"
      DirectoryIndex aplicacion.php

      AllowOverride None
      <IfModule !mod_authz_core.c>
         Order allow,deny
         Allow from all
      </IfModule>
      <IfModule mod_authz_core.c>
         Require all granted
      </IfModule>

      #API REST
      RewriteEngine On
         RewriteBase /toba_referencia/2.7
      Options FollowSymLinks SymLinksIfOwnerMatch
        RewriteRule ^rest/(.*)$ rest.php/$1 [PT,L,QSA]
         RewriteRule ^rest$      rest.php/   [PT,L,QSA]
      SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
   </Directory>


//En cuanto al botón API, ya modifique el https://  por  http y lleva bien hasta el mensaje de  la versión con 
toba::notificacion()->agregar('Version de la API rest: '. toba::escaper()->escapeHtml($version->__toString()), 'info');

Disculpa mi desconocimiento sobre el tema, en lugar de dicha noficación para ya enviar los data por json, bastaría con armar el json y enviarlo con json_decode($respuesta)
Quedo atento
Cordial Saludo
« Última Modificación: septiembre 07, 2020, 08:09:00 pm por jorozco »

richard

  • Moderador Global
  • *****
  • Mensajes: 2771
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Ricardo Dalinger
  • Sistema: SIU-Toba
Re:WebService
« Respuesta #5 : septiembre 08, 2020, 11:22:04 am »
Hola Jhon,
Te conceptualizo el caso primero: Se compró un sistema de alarmas HikVision que detecta la persona y su temperatura, para controlar su entrada, pero nos toca crear una alarma dependiendo de una encuesta covid que el personal debe diligencia antes de ingresar realizada en toba, cuando se envía la encuesta se debe enviar a la terminal HikVision un json con (identificacion, fecha, puntos, si_realiza), para que cuando la persona que no la realize se le active dicha alarma.

cuando la persona presiona ENVIAR en donde debo enviar los datos a dicha termina y ahí es donde necesito el REST, para el envío.
la pregunta es... la interaccion es desde el sistema en Toba hacia el aparato HikVision o viceversa?.. quien inicia la interaccion?.

- Si la interaccion la inicias desde Toba hacia el aparato... lo unico que necesitas es guzzle.

- Si el aparato consulta al sistema en Toba.. entonces si necesitas toda la parte de rest.

En este segundo caso, tienes que hacer coincidir el tipo de autenticacion ademas de usr/pwd y obviamente la url tiene que ser funcional.

Citar
La extension curl.dll se encuentra descomentada y tiene el ext, pero guzzle investigando solo es libreria y no tiene extensión

1. Cómo activo el módulo rewrite, y donde se encuentra, si es el de toba.conf, ya se encuentra en ON
Guzzle usa internamente la extension curl (en lugar de fopen) y el modulo rewrite es de Apache, no de Toba.
   
Citar
autenticacion = 'digest'
;;
;;Opciones que recibe la librería - > rest/rest.php
;;
[settings]
formato_respuesta = json
;url_protegida = /.*/  //Este valor tambien va descomentado, indica que parte del api debe estar resguardada

Citar
[conexion]
;;Recuerde dejar una barra (/) al finalizar la URL
to = "https://toba_referencia/rest/"       //Aca debe ir una url valida que coincida con la declarada en toba.conf
Este cambio solo te sirve para navegar los ejemplos de toba_referencia, o dicho de otra manera.. solo para cuando usas la parte cliente.

Citar
Disculpa mi desconocimiento sobre el tema, en lugar de dicha noficación para ya enviar los data por json, bastaría con armar el json y enviarlo con json_decode($respuesta)
Jhon, me preocupa  que no estes internalizando algunas cuestiones tanto de Toba (y su manejo particular) como de Web en general (mod rewrite) en el apuro por hacer funcionar esto.
Los ejemplos de toba_referencia te pueden bastar para realizar lo que necesitas.. pero tienes que tomarte el tiempo para analizar que parte es el cliente, que parte es la que sirve el WS y como, etc.. sin eso solo te vas a frustrar.

Saludos
« Última Modificación: septiembre 08, 2020, 11:23:44 am por richard »
Twitter es al incontinente verbal,  lo que los dulces al diabetico.

jorozco

  • Hero Member
  • *****
  • Mensajes: 830
    • Ver Perfil
    • Email
  • Institución: Universidad Catòlica de Manizales
  • Nombre y apellido: Jhon Jairo Orozco D.
  • Sistema: Toba
Re:WebService
« Respuesta #6 : septiembre 13, 2020, 11:52:51 pm »
Ingeniero, es claro cuando es primera vez es complicado

Ya solvente la mayoría de inconvenientes en toba referencia, me queda solo el del error al presionar EL GET y POST

ERROR:  GET /rest/personas HTTP/1.1 Host: toba_referencia User-Agent: Guzzle/5.1.0 curl/7.59.0 PHP/5.6.40

Como lo puedo solucionar ?

Gracias y Cordial saludo

richard

  • Moderador Global
  • *****
  • Mensajes: 2771
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Ricardo Dalinger
  • Sistema: SIU-Toba
Re:WebService
« Respuesta #7 : septiembre 14, 2020, 09:16:18 am »
Hola Jhon,
Ya solvente la mayoría de inconvenientes en toba referencia, me queda solo el del error al presionar EL GET y POST
ERROR:  GET /rest/personas HTTP/1.1 Host: toba_referencia User-Agent: Guzzle/5.1.0 curl/7.59.0 PHP/5.6.40
Como lo puedo solucionar ?

si el error sigue siendo que no encuentra la URL, debes revisar la configuracion de Apache, yo miraria que no se esten superponiendo alias, etc.. si viniera por otro lugar el error deberia ser distinto.
Un detalle, dentro de la carpeta (instalacion/i__nombre_instancia/p__toba_referencia/rest/logs) deberias tener un listado de archivos de logs donde se explique que paso si es que fuera otro el problema.

Saludos
Twitter es al incontinente verbal,  lo que los dulces al diabetico.

jorozco

  • Hero Member
  • *****
  • Mensajes: 830
    • Ver Perfil
    • Email
  • Institución: Universidad Catòlica de Manizales
  • Nombre y apellido: Jhon Jairo Orozco D.
  • Sistema: Toba
Re:WebService
« Respuesta #8 : septiembre 17, 2020, 12:21:01 am »
Ingeniero, gracias por responder
 
En el rest como puedo lograr una conexión indefinida, ya que necesitamos ir a la terminal seguido para detectar que persona ingresa y recibir dichos datos, para almacenar en nuestra base de datos ?  me dicen que es un equivalente en C#  a la funciò  "StartHttpLongLink"

       //Este evento desde rest de toba referencia responde con OK y recibe los datos
   function evt__UserInfo()
   {
      $url = "http://172.0.0.31/ISAPI/AccessControl/UserInfo/";      
      $opciones = array('to' => $url);
      $cliente = toba::servicio_web_rest('rest_localhost', $opciones);
      $resp = $cliente->guzzle()->get('Count');
      $respuesta = rest_decode($resp->json());
      $this->debug($resp);
   }

   //Este rest lo requerimos con conexion indefinida, por lo tanto individual no responde
   function evt__alertStream()
   {   echo "en alertStream conectar con una conexion indefinida
";
      $url = "http://172.0.0.31/ISAPI/Event/notification/";
      $opciones = array('to' => $url);
      $cliente = toba::servicio_web_rest('rest_localhost', $opciones);
      $resp = $cliente->guzzle()->get('alertStream');
      $respuesta = rest_decode($resp->json());
      $this->debug($resp);
   }

Gracias y cordial Saludo
« Última Modificación: septiembre 17, 2020, 12:30:12 am por jorozco »

richard

  • Moderador Global
  • *****
  • Mensajes: 2771
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Ricardo Dalinger
  • Sistema: SIU-Toba
Re:WebService
« Respuesta #9 : septiembre 17, 2020, 11:17:22 am »
Hola Jhon,
   //Este rest lo requerimos con conexion indefinida, por lo tanto individual no responde
   function evt__alertStream()
   {   echo "en alertStream conectar con una conexion indefinida
";
      $url = "http://172.0.0.31/ISAPI/Event/notification/";
      $opciones = array('to' => $url);
      $cliente = toba::servicio_web_rest('rest_localhost', $opciones);
      $resp = $cliente->guzzle()->get('alertStream');
      $respuesta = rest_decode($resp->json());
      $this->debug($resp);
   }

segun entiendo lo que necesitas es una conexion permanente, cosa que en REST no existe como tal porque subyace el modelo web.. lo unico que se me ocurre es que puedas jugar con el timeout de la conexion para que se quede esperando una respuesta.. pero eso te va a bloquear efectivamente esa sesion hasta que responda el otro punto.

Para ello tienes que actuar directamente sobre el cliente Guzzle mediante su API (esto ya escapa a Toba) , para accederlo lo unico que tienes que hacer es invocar hasta este punto:
Código: [Seleccionar]
$guzzle = $cliente->guzzle();

Cuidado con la documentacion de Guzzle, normalmente tienen publicada la ultima version.. como tu estas trabajando con una version vieja deberas buscar explicitamente la documentacion para esa version, ya que su API fue cambiando con el tiempo.

Saludos
Twitter es al incontinente verbal,  lo que los dulces al diabetico.

jorozco

  • Hero Member
  • *****
  • Mensajes: 830
    • Ver Perfil
    • Email
  • Institución: Universidad Catòlica de Manizales
  • Nombre y apellido: Jhon Jairo Orozco D.
  • Sistema: Toba
Re:WebService
« Respuesta #10 : septiembre 22, 2020, 06:23:36 pm »
Ingeniero, buenas tardes
Una ayuda más, como estoy tratando en un CURL normal de enviar el dato recibido del ws a una tabla o un archivo de texto, pero NO los almacena, cuando es un ws individual guarda bien el registro, peor con la implementación de persistente (Connection: Keep-Alive) no hemos podido, sabes como puedo lograrlo?
Ni siquiera con un print_r vemos que llega, en wirehark el proceso de comunicación lo muestra bien con el estado 200.

Cordial Saludo

function evt__prueba()
   {
      /*$url = "http://172.0.0.31/ISAPI/AccessControl/UserInfo/";
      $opciones = array('to' => $url);
      $cliente = toba::servicio_web_rest('rest_localhost', $opciones);
      $resp = $cliente->guzzle()->get('Count');
      $respuesta = rest_decode($resp->json());
      $this->debug($resp);
      print_r($respuesta);*/
      $host = "http://172.0.0.31/ISAPI/Event/notification/alertStream";
      
         $conexion = curl_init();

         $username= "admin";
         $pass= "ucm2020@";

         curl_setopt($conexion, CURLOPT_URL, $host);
         curl_setopt($conexion, CURLOPT_VERBOSE, 0);
         curl_setopt($conexion, CURLOPT_RETURNTRANSFER, 1);

         curl_setopt($conexion,CURLOPT_HTTPAUTH,CURLAUTH_DIGEST);
         curl_setopt($conexion, CURLOPT_USERPWD,"$username:$pass");
         

         //if($method == "POST") {
            //curl_setopt($conexion, CURLOPT_POST, true);
            curl_setopt($conexion, CURLOPT_HTTPHEADER, array(
                  'Content-Type:application/json; charset=utf-8',
                  'Connection: Keep-Alive'));
            //curl_setopt($conexion, CURLOPT_POSTFIELDS, $datosParaGuardar);
         //}
      
         $datos = curl_exec($conexion);
         
         $file=fopen("archivo.txt","w");
         fwrite($file, $datos);
         fclose($file);

         $status = curl_getinfo($conexion, CURLINFO_HTTP_CODE);
      
         $resultado = [
            "status" => $status,
            "datos" => json_decode($datos, true) ? json_decode($datos, true) : $datos
         ];

         //if ($resultado['status'] == 'OK') {
            $fecha = quote(date('Y-m-d'));
            $sql = "INSERT INTO prueba (fecha, estado, nombre)VALUES($fecha, 'OK', 'PROBANDO');";
            toba::db('toba_referencia')->consultar($sql);
            //return $resultado;
         //}
         //print_r($resultado);
         //curl_close($conexion);
         //return $resultado;
   }
« Última Modificación: septiembre 22, 2020, 06:28:51 pm por jorozco »

richard

  • Moderador Global
  • *****
  • Mensajes: 2771
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Ricardo Dalinger
  • Sistema: SIU-Toba
Re:WebService
« Respuesta #11 : septiembre 23, 2020, 11:28:35 am »
Hola Jhon,
Ingeniero, buenas tardes
Una ayuda más, como estoy tratando en un CURL normal de enviar el dato recibido del ws a una tabla o un archivo de texto, pero NO los almacena, cuando es un ws individual guarda bien el registro, peor con la implementación de persistente (Connection: Keep-Alive) no hemos podido, sabes como puedo lograrlo?
Ni siquiera con un print_r vemos que llega, en wirehark el proceso de comunicación lo muestra bien con el estado 200.

no puedo debuggear tu codigo, menos aun  cuando no conozco la API del aparato.. lo ideal seria que se comunicaran con el proveedor del mismo para consultarle sobre la misma y como operar con ella.

Por otro lado (y esto es pura especulacion), siendo que es una API REST.. que responda vacio cuando no hay eventos que reportar sigue siendo una respuesta y por ello es que no puedes ver nada pero el status es 200, ciertamente parece mas coherente eso a que quede con una conexion persistente hasta que se reporten eventos.

Creo que no tienen otra opcion que realizar el chequeo cada cierto intervalo de tiempo y procesar los eventos cuando se les informen, sean 1 o varios.

Saludos

Twitter es al incontinente verbal,  lo que los dulces al diabetico.

jorozco

  • Hero Member
  • *****
  • Mensajes: 830
    • Ver Perfil
    • Email
  • Institución: Universidad Catòlica de Manizales
  • Nombre y apellido: Jhon Jairo Orozco D.
  • Sistema: Toba
Re:WebService
« Respuesta #12 : noviembre 18, 2020, 02:54:30 pm »
Inge, un favor o quien tenga la respuesta.

En un proyecto web desarrollado en toba,
en el conf de la página de inicio estamos refrescando cada cierto tiempo, para dar tiempo de consumir un servicio.

function conf (){
    $recargar_segundos = 10;
    echo "<HTML><HEAD>";
        echo "<meta http-equiv='refresh' content=".$recargar_segundos." />";
     echo "</HEAD>";
}

La pregunta es cuando se refresca la página del proyecto;  se hace una nueva conexión a la bd de postgres creado como fuente o dicha conexión es permanente.

Es para solucionar un problema de tiempos de segundos que necesitamos reducir

Quedo atento,
Cordial Saludo

richard

  • Moderador Global
  • *****
  • Mensajes: 2771
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Ricardo Dalinger
  • Sistema: SIU-Toba
Re:WebService
« Respuesta #13 : noviembre 18, 2020, 04:46:17 pm »
Hola Jhon,
La pregunta es cuando se refresca la página del proyecto;  se hace una nueva conexión a la bd de postgres creado como fuente o dicha conexión es permanente.

cada pedido de pagina implica una nueva conexion a la bd,  las conexiones en PHP duran un pedido de paigna.. cuando muere el proceso, muere la conexion tambien.

Saludos
Twitter es al incontinente verbal,  lo que los dulces al diabetico.

jorozco

  • Hero Member
  • *****
  • Mensajes: 830
    • Ver Perfil
    • Email
  • Institución: Universidad Catòlica de Manizales
  • Nombre y apellido: Jhon Jairo Orozco D.
  • Sistema: Toba
Re:WebService
« Respuesta #14 : noviembre 19, 2020, 12:37:34 pm »
Ingeniero, gracias por la pronta ayuda
Hay alguna forma de manter persistente la conexión a la postgres, para evitar la reconexión dado que hay se estan perdiendo algún tiempo que se desea disminuir.

O hay alguna forma como una especie de bucle en lugar de refrescar la página ?

O cómo manejar una programación por hilos, es posible ? algún ejemplo ?

podría en lugar de refrescar, utilizar lo siguiente ? no se requiere mostrar nada, solo que dentro consumo y almaceno en la BD del negocio

function conf () {
   while (TRUE) {
           INSTURCCIONES_CONSUMIR_SERVICIO;
           sleep (2);
   }
}

Gracias y cordial saludo
« Última Modificación: noviembre 19, 2020, 07:05:30 pm por jorozco »