FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
||||
|
||||
Service Apliccation
Saludos a todos!!:
bueno hace unos días puse un hilo que trata de esto mismo, lo dejé y lo he retomado, bueno de momento les digo que el servicio chequea si se ha copiado en determinados folder (los que me interesan) se han copiado un determinados fichero sip (los que me interesan) si se cumplen las condiciones entonces procede a descomprimirlos y a ponerlo en un log todo lo hace bien pero se ejecuta cómo un bucle infinito, y no para de descompactar y escribir en el log, me imagino que es por el while del evento onexecute del service y que el mismo es necesario para que se mantenga ejecutando el proceso, es decir este:
Disculpen si no me hecho explicar bien Alguien puede decirme cómo solucionar esto???? Muchas Gracias!!!! |
#2
|
||||
|
||||
Resuelto parcialmente
Bueno parece que he resuelto de momento mi problema ,una vez que hay un cambio en el folder la propiedad jvchangenotify.active la pongo false, puse un timer que cxada un segundo pone esta propiedad en true y ahora en el evento onexecute del service puse esto:
para mi no está bien , pero bueno por el momento me ha funcionado , que creen?? |
#3
|
||||
|
||||
Que pasa con los servicios????
Nadie puede darme una mano con esto de los servicios??????? lo tengo funcionando pero tiene algunas dificulatades, si alguien cree que puede ayudarme se lo agradeceré
|
#4
|
|||
|
|||
Es que no hay una condición de parada para el servicio, es decir de seguro tu servicio detecta si hay archivos comprimidos en una carpeta determinada, pero nunca se borran es decir siempre va a encontrar los mismo archivos y los va a descomprimir, quisiera que explicarás más el objetivo de tu proyecto, es decir para que lo descomprimes, y si te sirven los archivos zip ya descomprimidos
saludos
__________________
"La información tiene más valor cuando se comparte" |
#5
|
||||
|
||||
Bueno gracias ante todo, deja explicarme mejor , los archivos .zip lo que contienen son tablas dbf , estos son subidos mediante ftp a un servidor donde corre el servicio , los .zip siempre tienen el mismo nombre , la aplicación que accede al ftp lo primero que hace es borrar el archivo .zip (si existe claro está) luego comienza a copiar el nuevo .zip con el mismo nombre+"temp" , cuando termina de subirlo lo renombra quitandole el "temp" pq el servicio realize la acción de descompactar y luego ejecutar un stored procedure a un MS SQL SESERVER que utiliza las tablas dbf importandlas y haciendo una serie de reportes a partir de las mismas .
Hasta ahora ha trabajado bn , ahora me he dado cuenta que cuando coinciden la entrada de 2 .zip se cuelga , he estado pensando si se deben usar hilos para que pueda realizar las tareas sobre 2 o más archivos .zip que lleguen al mismo tiempo . bueno si no me explcado mejor disculpa, que opinas deba de hacer??? saludos |
#6
|
|||
|
|||
Bueno no creo que se solucione con hilos, el problema está un poco en la lógica, ya que si llegan dos archivos casi seguidos, entonces al entrar el segundo, el primer archivo será borrado sin saber si ya ha sido descomprimido, además si entran dos al mismo tiempo entonces uno sobreescribe al otro (si es que esta habilitado lo de sobreescribir), y supongo que tienes alguna funcion o algo que verifica en el ftp si hay algun archivo, entonces, supongamos que está en dicho proceso y justo hay otro proceso que ha borrado el archivo anterior que de seguro lo está utilizando creo que te generaría error, quisiera que pusieras tu código para poder ayudarte
Yo tengo uno similiar al tuyo por lo que te recomiendo que manejes archivos con diferentes nombres, para que no se sobreescriban, yo por eso a los archivos les agrego la fecha y hora (con segundos) y un numero correlativo al nombre del archivo y no tengo problemas Pon una parte de tu codigo o si puedes todo para chequearlo PD: estoy suponiendo que la libreria para descomprimir que usas está ok saludos.
__________________
"La información tiene más valor cuando se comparte" |
#7
|
||||
|
||||
bueno los archivos tienen el mismo nombre pero se ubican en carpetas diferentes de ahí que su path no es el mismo , me entiendes???
bueno aquí va el código:
ese es el código del servicio ver si puedes pillar mejor la idea. Saludos |
#8
|
|||
|
|||
ok lo voy a chequear para poder ayudarte
__________________
"La información tiene más valor cuando se comparte" |
#9
|
|||
|
|||
Hola, veo que has utilizado varios componentes externos, no me he analizado todo, pero no he encontrado nada raro hasta donde he visto, sólo hay una cosa que creo que puede ser la causa del problema, porqué no usas semaforos o mutex o criticalsection para acceder a los recursos criticos, ya que como mencionas pueden entrar dos zips a la vez, y ese puede ser el problema.
Espero estar en lo correcto saludos
__________________
"La información tiene más valor cuando se comparte" |
#10
|
||||
|
||||
Bueno, nunca he usado lo que me sugieresalguna idea??, efectivamente pueden entrar al mismo tiempo 2 o más archivos .zip .
Saludos |
#11
|
|||
|
|||
Cita:
Por ejemplo: el SCritical: TCriticalSection lo declare en una librería general
En este ejemplo evito que dos clientes o dos procesos intenten acceder al archivo "filtro.conf", porque si existen dos o más procesos que deseen acceder los pone en espera, como en una cola Y al final lo libero para que pueda entrar otro proceso, de lo contrario si no se libera se cuelga espero te sirva de algo Saludos cordiales.
__________________
"La información tiene más valor cuando se comparte" |
#12
|
||||
|
||||
por ahí va la cosa
por ahí está la idea , pero más bien sería en donde el componente jvchangenotify verifica que han sido copiados 2 o más ficheros al mismo tiempo ya que la variable codunidad se le asigna su valor , y no podrá tomar 2 valores al mismo tiempo, la conexión a la bd no es problema pq solo ejecuto stored procedures que reciben parámetros, veamos que se puede hacer , si alguien tiene alguna opinión bienvenida sea.
Saludos |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Web Service | CARSOFT_AR | Internet | 1 | 05-03-2007 08:03:02 |
Web Service | madmai | Internet | 3 | 06-12-2006 21:01:45 |
Web Service | CARSOFT_AR | Internet | 4 | 31-08-2006 17:34:05 |
!!!!Service application | aram2r | API de Windows | 1 | 20-05-2004 13:09:06 |
Service y Application Service | Ezecool | Varios | 0 | 30-09-2003 18:48:30 |
|