Page 1 of 1

Disparar un proceso cada una hora

PostPosted: Tue Mar 15, 2022 11:22 am
by jose_murugosa
Buenos días amigos del Foro

Tengo la siguiente consulta: Necesito que un programa realice acciones cada una hora a las 7:00, 8:00 etc.
Debería para ello usar un timer?
Nunca he tenido que hacer algo así y la verdad, cualquier ayuda me sería de gran utilidad.

Gracias desde ya.

Re: Disparar un proceso cada una hora

PostPosted: Tue Mar 15, 2022 11:58 am
by hmpaquito
Hola,

Como yo lo hago:

Si mi programa se llama erpPaquito.exe entonces lo que hago es copiarlo tambien como haceAccion.exe y en el programa, al entrar al programa, cuando el ejecutable tiene el nombre de haceAccion.exe entonces lanza el proceso automaticamente justo al entrar. Despues sólo es suficiente con poner haceAccion.exe en el programador de tareas de Windows. Otra opcion que me gusta menos es llamar desde el programador de tareas a erpPaquito con un parametro, por ejemplo erpPaquito /haceAccion

Como digo, prefiero que el ejecutable tenga otro nombre y no utilizar parametros

Salu2

Re: Disparar un proceso cada una hora

PostPosted: Tue Mar 15, 2022 12:01 pm
by Ariel
Hola jose,

yo lo hago asi para verificar la cotizacion del dolar cada x minutos

Code: Select all  Expand view

STATIC oTimerDolar

FUNCTION MAin()
Local nIntervalDolar:= 60
....
....
DEFINE TIMER oTimerDolar OF oWnd INTERVAL 60000*nIntervalDolar ACTION CheckDolar()

ACTIVATE WINDOW oWinMain MAXIMIZED;                                             //
                     ON INIT ( oTimerDolar:Activate(),.... )

            if ! HB_ISNIL( oTimerDolar )
                oTimerDolar:End()
            endif

 


Espero te sirva, abrazo.

Re: Disparar un proceso cada una hora

PostPosted: Tue Mar 15, 2022 2:08 pm
by FiveWiDi
jose_murugosa wrote:Buenos días amigos del Foro

Tengo la siguiente consulta: Necesito que un programa realice acciones cada una hora a las 7:00, 8:00 etc.
Debería para ello usar un timer?
Nunca he tenido que hacer algo así y la verdad, cualquier ayuda me sería de gran utilidad.

Gracias desde ya.


Con un timer lo puedes hacer.
Con el programador de tareas de Windows supongo que también.

Y lo de usar parámetros te da una libertad del 'copón!!!'. Y no con un solo parámetro, sino varios según deba realizar una tarea u otra.
Yo los uso para que algunas funciones se ejecuten en "segundo plano" (facturar, enviar mails, capturar datos de web, etc.). Cómo? Pues la "segunda" aplicación se lanza a si misma con los parámetros que se precisen, realiza la acción y se cierra.

Otra, lanzo la aplicación con un parámetro (/F:c:\lerele\aquiestoy\ficheritobonito.dbf) que se corresponde con la DBF concreta para el ejercicio en el que deseo trabajar.

Es aquello de la imaginación al poder.

Re: Disparar un proceso cada una hora

PostPosted: Tue Mar 15, 2022 3:40 pm
by jose_murugosa
Muchas gracias por las soluciones planteadas, las pondré en práctica y les tendré al tanto :D

Una vez mas!! muuuuuuuchas gracias!!!!!! :D

Re: Disparar un proceso cada una hora

PostPosted: Wed Mar 16, 2022 11:17 am
by jose_murugosa
Ariel, Carlos, HmPaquito muchas gracias!!
Pude implementar perfectamente lo que necesitaba.