En mi ERP actual (Visual FoxPro) tengo un montón de tareas que se ejecutan en un servidor de forma autónoma. Fundamentalmente las tengo de dos tipos:
Las que se ejecutan a una hora determinada, realizan un proceso y acaban. Por ejemplo, a las 8:00 se envían las tarifas de precios a ciertos clientes en formato XLS o CSV. Esto lo tengo resuelto con el programador de tareas de Windows.
Las tareas que se están ejecutando constantemente esperando a que ocurra algo. Por ejemplo, una tarea que recibe un fichero de cotización por email y lo carga en el ERP. Esta tarea está siempre ejecutandose en el servidor y cada cierto tiempo chequea el correo electrónico para ver si ha recibido el email. En caso afirmativo realiza el proceso que sea y se queda de nuevo esperando. Esto lo resuelvo con un programa ejecutando constantemente con un temporizador para que compruebe el email.
La forma de comunicación tiene que ser la que hay actualmente porque depende de proveedores y clientes que lo tienen montado de esta forma. Tengo casos en que la comunicación es via email y otras en las que me conecto a un servidor FTP y subo o descargo información. Los formatos de fichero suelen ser CSV, Ascii con ancho fijo o XLS.
Ahora la pregunta. ¿Cual es la mejor manera de plantearlo en Velneo? ¿Alguien ha hecho algo similar? ¿Que openApps son las que me recomendáis?
Velneo vServer es perfecto para lo que quieres hacer.
Los formatos CSV, ASCII y XLS están contemplados al igual que Email y FTP.
No la he probado personalmente, pero el plugin VDeamons de Bicodesoft tiene muy buena pinta y es lo más adecuado para un servidor Windows que deba ejecutar tareas desatendidas.
Nosotros por ahora lo resolvemos todo con funciones remotas que las lanzamos directamente redes las tareas del servidor, con los cual tenemos toda la potencia que nos da el sistema de tareas programadas del propio sistema operativo.
Un ejemplo vale mas que mil palabras
“C:\Program Files (x86)\Velneo\V7\vRemoteFunction.exe” vatp://xx.xx.xx.xxx:690 INSTANCIA NOMBRE_PROCESO usuario contraseña
Esto es un archivo .bat, el cual lo configuras en las tareas programadas del S.O. según la configuración que sea necesaria
Yo he montado un pequeño script que hace envia una cadena a al vServer con el comando que quiero.
En la aplicación monto un servidor tcp que recibe las peticiones y lanza el proceso necesario.
Igualmente lo ejecuto con el programador de tareas, la única diferencia es que si montas el script en python, php, node, etc., puedes tener las tareas en modo multiplataforma.
De todas formas, la idea es que sea temporal, en teoría en la 7.17 se incorporan las tareas y demonios en el vServer