Funciones remotas

vForum para suscriptores profesionales de la plataforma de desarrollo Velneo

Moderador: vCoaches

Responder
Avatar de Usuario
Adelo Herrero
vAdviser
vAdviser
Mensajes: 711
Registrado: 21 Sep 2005, 14:42
Ubicación: Requena (Valencia) - España - (Lat: 39.490701 * Lon: -1.102329 )
Contactar:

Funciones remotas

Mensaje por Adelo Herrero » 23 Nov 2006, 00:14

Buenas noches:

Según la ayuda:
No es posible ejecutar una función remota que transaccione contra un mismo servidor en el caso siguiente: Si la función que transacciona es lanzada a su vez desde una transacción.
Autor: Velneo, S.A.
En la aplicación que estoy trabajando, se actualizan diversos por funciones remotas desde los eventos posterior a alta/modificación/baja. Pues cuando hace la actualización "cuelga" el servidor. Siguiendo con las pruebas, tras aceptar un formulario de edición de fichas, ejecuto un proceso que llama a otro en 3er plano que es quien ejecuta la función remota, entonces ocurre lo mismo, cuelga al servidor; pero si lo ejecuto en local funciona perfectamente.

El proceso "llamador" no escribe en disco, por lo que no entiendo bien (será el horario) este comportamiento. Lo mismo que en los eventos "post" pues esos procesos son de "solo lectura".

Bueno, despues de este ladrillo ¿alguien me puede orientar sobre lo que no interpreto correctamente?

Saludos.

Avatar de Usuario
Fran
vCoach
vCoach
Mensajes: 6599
Registrado: 21 Sep 2005, 08:23
Ubicación: Madrid (España)
Contactar:

Mensaje por Fran » 23 Nov 2006, 10:55

Buenos dias Adelo:

Lo interpretas todo correctamente. El tema de los procesos en tercer plano no tiene que ver con que el proceso transaccione o no.

Las funciones remotas no se pueden disparar en procesos en 3P. A mi no me ha pasado que se cuelgue vMotor, pero si me ha pasado que la función no se ejecuta (pongo un mensaje al entrar y no se muestra en el área de mensajes del servidor) y, por lo tanto, no realiza operaciones ni retorna nada.

Como tu mismo has observado, ejecutándola en primer plano, funciona bien. Lo que yo hice para solventar la pega fue:

- En una tarea programada disparo un irunner en el servidor.
- Este Irunner tiene un menú con opciones autodisparables: La primera ejecuta las funciones remotas en primer plano (pero ya en la máquina donde reside el servidor, con lo cual es un "tercer plano") y la segunda cierra el Irunner.

Con este truco debe funcionar todo bien... prueba y nos cuentas.
Un saludo,

Francisco Javier Pérez Novo
EfeUno Consultores de Gestión y Software, S.L.
fjpnovo@efeuno.org
http://www.efeuno.org
(+34) 91 519 44 86
Skype: Fran-EfeUno

Google Maps:
40.447943147972445, -3.6719655990600586

Avatar de Usuario
Adelo Herrero
vAdviser
vAdviser
Mensajes: 711
Registrado: 21 Sep 2005, 14:42
Ubicación: Requena (Valencia) - España - (Lat: 39.490701 * Lon: -1.102329 )
Contactar:

Mensaje por Adelo Herrero » 23 Nov 2006, 11:16

Oído cocina :)

En esta aplicación no me preocupa demasiado, pues a lo sumo pueden hacerse 300 actualizaciones de una vez y en momentos puntuales, lo que no sobrecarga mucho al servidor. Pero es una putada, porque con los eventos de tablas estaría siempre seguro de actualizar todos los datos de forma "interna" y transparente.

Así que de momento no voy a hacer las pruebas :lol: pero tomo nota en el wiki.

team
vMate
vMate
Mensajes: 31
Registrado: 21 Sep 2005, 07:53
Ubicación: Valencia
Contactar:

.

Mensaje por team » 23 Nov 2006, 11:19

Un demonio tambien lo resuleve, por lo que acabo de probar

Función que braba en temporal y demonio que actua
-----------------------------
www.team-scvl.es
tecnico@team-scvl.es

Avatar de Usuario
velneo
vAdmin
vAdmin
Mensajes: 245
Registrado: 09 Sep 2005, 08:55

Topic de nuestra Base de conocimiento

Mensaje por velneo » 23 Nov 2006, 13:40

Estimado Adelo:

Le será de utilidad ver el siguiente artículo de nuestra BdC, artículo que hemos ampliado para responder a su post y que sea de caráter público.

http://forum.velneo.com/es/viewtopic.php?p=11088

Un saludo.

Avatar de Usuario
Adelo Herrero
vAdviser
vAdviser
Mensajes: 711
Registrado: 21 Sep 2005, 14:42
Ubicación: Requena (Valencia) - España - (Lat: 39.490701 * Lon: -1.102329 )
Contactar:

Mensaje por Adelo Herrero » 23 Nov 2006, 15:50

Entendido, pero vamos a echar leña al fuego :evil: :
Según la Base de conocimiento
Inicialmente carece de toda lógica la ejecución de una función remota contra el mismo servidor
algo con lo que no estoy totalmente de acuerdo, por ejemplo:
Supongamos que yo quiero enlazar una aplicación de facturación con vConta y las tablas de ambas aplicaciones no se parecen en nada.

Creo que una forma bastante transparente de hacer los enlaces es mediante las funciones remotas, y lo más lógico es que ambas aplicaciones convivan en el mismo servidor ¿no?

No es mi caso concreto, pero sirve, pues lo que pretendo es "compartir" información entre dos aplicaciones que poco o nada tienen que ver a nivel de estructura y lo de compartir tablas no es algo que me guste demasiado, pues puede darse el caso que para utilizar una tabla sea necesario compartir 10 por el tema de históricos, etc.

Igual es un fallo de concepto por mi parte, pero creo que las funciones remotas en casos como este serían una gran solución.

Un saludo.

Responder