Idea añadida 4º plano


([N4] bitcodesoft) #1

Actualmente los procesos en 4º plano solo se pueden disparar desde el vClient( primer plano), no entiendo por qué no se pueden disparar procesos desatendidos directamente en el servidor, vamos que esto ya tendría que venir de serie sin falta de votar una idea:

https://velneo.zendesk.com/entries/98449227-Procesos-4º-plano-disparados-en-el-servidor


([N3] pacosatu) #2

Hola bitcodesoft.

En su dia, todos nos quedamos un poco moscas después de saber que los procesos en 4 plano solo se pueden lanzar desde vClient.

¿Es un capricho del diseñador? ¿Es una limitación de la multiplataforma? ¿Cuál es la razón técnica?

Por eso, más que nunca es necesario también votar la idea:

https://velneo.zendesk.com/entries/41822807-Que-velneo-valore-la-viabilidad-de-una-Idea

Saludos
Paco Satué


([N1] aztecmexico) #3

+1 and +1

Imagino que el vAdmin podría ser desde donde se pudieran gestionar esos procesos.

Saludos.


([N4] bitcodesoft) #4

No, la idea no nes gestionarlos desde el vAdmin, voy a poner un pequeño ejemplo:

Geolocalización (tracking), eviamos constantemente la posición y lo óptimo sería encolar los procesos encargados de guardar las coordenadas ya que no es necesario obtener la respuesta.

Tiendas online(Prestashop, Magento, etc), al crear un pedido se envian al vServer en cloud para su gestión( facturación, contabilidad, etc).

En el vServer recibes las peticiones por TCP/IP(o vModApache), con los datos en JSON por ejemplo, creas el proceso encargado de dar de alta estos datos y lo ejecutas de forma asíncrona( 2º plano encolado, o 4º plano) todo esto desde el servidor claro está.


([N1] cristianvg2003) #5
  • 1 millón como dice @BitcodeSoft " ya tendría que venir de serie" y limita mucho, si solo se puede desde 1 plano pues lo unico que se gano es que en ciertos sea más como que lanzar lo que se desee asincrono en 4 plano que en 2do.

([N4] laukolan) #6

No entiendo la pregunta.
¿Desde donde se quieren lanzar los procesos sino es desde el vclient? ¿Desde el servidor?
¿Entonces estamos hablando de tareas en el servidor?


([N2] ramiro) #7

Pues si…

Estamos hablando de tareas en el Servidor, de demonios…
Prestación que existía en V6 hace ya una quincena de años.

Debería haber salido, según se anunció, hace 2 versiones. Ahora parece que no hay fecha…
O tal vez sea la gran novedad de la 7.21 ¡Vaya usted a saber!

Saludos.


([N4] Infortic) #8

Si no puedes lanzarlo en el servidor, la verdad muy muy poca utilidad le veo al invento.

Aparte, al existir una única cola de ejecución, cualquier proceso mal planteado puede dejar colgados a todos lo procesos de 4º plano, por lo menos en 2º plano te puedes crear varias colas distintas.

Yo veo éste tema como algo tremendamente necesario, pero no se ha comentado ninguna mejora en este aspecto, o al menos yo no la he oído.


([N4] bitcodesoft) #9

laukolan, existen varias formas de ejecutar procesos en el servidor sin ser desde el vClient, con funciones remotas por ejemplo( desde 6.x), el plugin vDemons utiliza la funciones remotas para crear demonios en el servidor, pero los procesos que puedes ejecutar desde cualquier función remota se ejecutarán uno detrás de otro, no se pueden ejecutar en 2º plano (multitarea).

También puedes poner a la escucha un protocolo TCP/IP y atacarlo desde cualquier WEB(PHP,JavaScript,etc), CUrl, tienes infinidad de opciones.

Voy al más sencillo, tienes una flota de repartidores y necesitas enviar su posición a tu servidor, utilizas una app móvil que geo localiza su posición y envía sus coordenadas al servidor, lógicamente tiene que haber una función que realice este proceso, pués imagínate que tienes 100 repartidores, atacando tu servidor, lo óptimo sería que esta función se ejecutara en dicho servidor en segundo plano, es solo un ejemplo.


([N4] laukolan) #10

Ok entendido, tareas en el servidor, estoy de acuerdo.
Ahora mismo voto.


([N4] mperez) #11

Hola Laudi

Viendo tu comentario y tu necesidad y solo por mera curiosidad.

No entiendo tu necesidad, si piensas que todo lo que el vServer lo hace en Multihilo.

Igual se me escapa algo (Ya sabes que soy mas comercial que programador :), pero esa casuística de altas constantes desde sockets recibidos por Tcp ya la he visto resuelta de esa manera en varias implementaciones y lo hacen funcionar perfectamente

Pero tratándose de un experto como tu , me generaste la duda y adivino que debe faltar algo más.

Al margen de lo anterior aunque en ese caso concreto no se que te aportaría como se anuncia en el Roadmap , para la próxima versión estén las Tareas den el Servidor


([N1] cristianvg2003) #12

Buenas, meto la cucharada para dar unos casos de uso:

  1. digamos que un alta de ficha tienes un trigger que procesa algun saldo, stock, estadistica, etc. lo ideal es dar el alta tan rápido como sea posible para mejorar la experiencia del usuario, asi se da el alta y se manda a 4 plano el recalculo.

  2. Supongamos que por vModApache o Cirrus recibes data de un gps, lo idea es responder rápidamente con un “recibido” y mandar el procesamiento de lo que se necesite con dichas coordenadas a 4 plano.

  3. Supongamos que en un proceso de factura se generan ciertas notificaciones en el servidor ya sea por vSendMail o consumiendo algun api, lo ideal es que esas notificaciones se hagan en 4 plano.

Como puedes vez la idea es traer el concepto de workers y ejecución asíncrona a los procedimientos que normalmente hacemos en pro de darle al usuario una respuesta más inmediata, tal cual se hace en el mundo web y mobile.


([N4] bitcodesoft) #13

Gracias por lo de experto Miguel, si voy a Valencia ya te invito a una cena(espero que no se noten los sobornos).

Ya ha contestado Cristian, para mejorar la experiencia del usuario, en el caso del GPS, si yo en la app móvil pongo que refresque cada 10 segundos, es importante que la respuesta al enviar la posición sea lo más inmediata posible.

Por otra parte el comentario lo he puesto aquí para que se vea y se vote, no como crítica ni nada por el estilo, estoy bastante contento con el rendimiento de la plataforma, nada que objetar.