problema con autocheq.exe

Estimados,

tenemos un servidor corriendo el programa autocheq.exe, que me indicaron que fue realizado por el SIU.

El problema radica en que esta consultando ~ 200 veces por segundo la carpeta compartida. lo que nos genera un trafico de 2Mbps constante.

REvisando el codigo veo un :


****** AQUI VA EL PROCESO
 
DO WHILE .T.           && FILE('TESTIGO.TXT')
    WAIT WINDOW 'Buscando cheques'  NOWA       
    RELEASE direct1,m.cabe1,m.dato1,m.dato2,m.dato3,m.dato4,m.dato5
    RELEASE m.dato6,m.dato7,m.dato8,m.dato9,mpil_ban,mpil_suc,mpil_cta
    RELEASE m.arch1,m.arch2,m.xhand
    DIMENSION direct1(1)
    =ADIR(direct1,dirori+'*.chp')
    IF TYPE('direct1')<>'L'

que entiendo es el while principal de la aplicacion. Se podria agregar un PAUSE 60000 para que corra el while una vez por minuto?.

quedaria:


****** AQUI VA EL PROCESO
 
DO WHILE .T.           && FILE('TESTIGO.TXT')
    WAIT WINDOW 'Buscando cheques'  NOWA
      
    PAUSE 60000

    RELEASE direct1,m.cabe1,m.dato1,m.dato2,m.dato3,m.dato4,m.dato5
    RELEASE m.dato6,m.dato7,m.dato8,m.dato9,mpil_ban,mpil_suc,mpil_cta
    RELEASE m.arch1,m.arch2,m.xhand
    DIMENSION direct1(1)
    =ADIR(direct1,dirori+'*.chp')
    IF TYPE('direct1')<>'L'

Hay informacion disponible de como compilarlo? o podran pasarme una version patcheada?

Gracias!!,

Hola Pablo: No habría problema en compilarlo con una espera de un minuto. No estoy seguro de como respondería si tenes un pago multiple con cheques, donde son varios, como el caso de una liquidación de becas por ejemplo.
Otra posibilidad es ver si se le pone una espera de un segundo. Lo raro es que te genere tanto tráfico de red, ya que si encuentra un cheque para imprimir hace una pausa de un segundo. Y si no hay cheques para imprimir la instrucción =ADIR(direct1,dirori+‘*.chp’), no debería devolver nada.
Consulta, en el directorio de los cheques deberias tener por un lado los archivos *.chp que son los cheques que no han sido impresos y por otro los archivos *.CHE, que corresponden con los cheques que ya han sido impresos. Comentame si en ese directorio hay muchos archivos *.CHE, porque quizas borrandolos te disminuye el tráfico de red (corriendo una vez por dia como tarea programada un BORRADO DE LOS *.CHE).
Si no se soluciona el problema con eso, te armamos un compilado con una pausa de un segundo para ver cuanto disminuye tu tráfico de red.

Gracias RAB, la carpeta esta vacia, tiene un archivo de otra cosa y nada mas.

podras pasarme una version con un pause en un segundo entonces?

gracias,

Pablo: te adjunto el autocheq.exe con una espera de un segundo, además te adjunto los programas fuentes con el cambio agregado. Si el problema persiste vemos como podemos hacer para que te pase el compilador de FOX para DOS, uno de los problemas que tiene es que ya no funciona en windows 7, yo actualmente tengo que correrlo con un emulador de DOS de 16 bits para que funcione. Sino me comentas y vamos subiendo la cantidad de segundos, quiza a 5 o 10 dependiendo de lo que tarde la impresora en sacar cada cheque paa que los usuarios no noten la demora. Saludos.


autocheq1seg.rar (841 KB)

buenisimo, ahi lo aplique, veo que redujo a 2 consultas por segundo, deberiamos estar bien asi.

vamos a hacer pruebas y te comento.

gracias!