easymacro/docs/es/docs/tools/timer.md

120 lines
1.8 KiB
Markdown
Raw Normal View History

2022-08-16 22:45:11 -05:00
El `timer` siempre se ejecuta en otro hilo.
2023-04-23 11:31:58 -06:00
### **once**
2022-08-16 22:45:11 -05:00
Ejecutar macro una sola vez en X segundos.
2023-04-23 11:31:58 -06:00
!!! tip "Atención"
2022-08-16 22:45:11 -05:00
2023-04-23 11:31:58 -06:00
Asegurese siempre de establecer un nombre único para cada timer.
```py
2022-08-16 22:45:11 -05:00
import easymacro as app
NOMBRE = 'reloj'
def mostrar_hora():
2023-04-23 11:31:58 -06:00
app.debug(app.dates.now.time())
2022-08-16 22:45:11 -05:00
return
def iniciar_conteo():
segundos = 5
macro = {
'library': 'test',
'name': 'mostrar_hora',
}
app.timer.once(NOMBRE, segundos, macro)
return
def main(args=None):
iniciar_conteo()
return
```
2023-04-23 11:31:58 -06:00
<br>
### **cancel**
2022-08-16 22:45:11 -05:00
Cancelar ejecución, antes del tiempo establecido.
2023-04-23 11:31:58 -06:00
```py
2022-08-16 22:45:11 -05:00
def main(args=None):
iniciar_conteo()
2023-04-23 11:31:58 -06:00
app.sleep(2)
2022-08-16 22:45:11 -05:00
detener_conteo()
return
def detener_conteo():
app.timer.cancel(NOMBRE)
return
```
2023-04-23 11:31:58 -06:00
```sh
16/08/2022 21:18:50 - INFO - Event: "reloj", started... execute in 5 seconds
2022-08-16 22:45:11 -05:00
16/08/2022 21:18:55 - INFO - Cancel event: "reloj", ok...
```
2023-04-23 11:31:58 -06:00
<br>
### **start**
2022-08-16 22:45:11 -05:00
Ejecutar macro cada X segundos.
2023-04-23 11:31:58 -06:00
```py
2022-08-16 22:45:11 -05:00
NOMBRE = 'reloj'
def mostrar_hora():
2023-04-23 11:31:58 -06:00
app.debug(app.dates.now.time())
2022-08-16 22:45:11 -05:00
return
def iniciar_reloj():
segundos = 1
macro = {
'library': 'test',
'name': 'mostrar_hora',
}
app.timer.start(NOMBRE, segundos, macro)
return
2023-04-23 11:31:58 -06:00
2022-08-16 22:45:11 -05:00
def main(args=None):
iniciar_reloj()
return
```
2023-04-23 11:31:58 -06:00
<br>
### **stop**
2022-08-16 22:45:11 -05:00
Detener timer.
2023-04-23 11:31:58 -06:00
```py
2022-08-16 22:45:11 -05:00
def detener_reloj():
app.timer.stop(NOMBRE)
return
```
2023-04-23 11:31:58 -06:00
```sh
2022-08-16 22:45:11 -05:00
16/08/2022 21:25:37 - INFO - Timer 'reloj' started, execute macro: 'mostrar_hora'
16/08/2022 21:25:38 - DEBUG - 21:25:38
16/08/2022 21:25:39 - DEBUG - 21:25:39
...
16/08/2022 21:25:47 - DEBUG - 21:25:47
16/08/2022 21:25:48 - DEBUG - 21:25:48
16/08/2022 21:25:48 - INFO - Timer stopped...
```
2023-04-23 11:31:58 -06:00
<br>
2022-08-16 22:45:11 -05:00
2023-04-23 11:31:58 -06:00
!!! warning "Cuidado"
2022-08-16 22:45:11 -05:00
2023-04-23 11:31:58 -06:00
Asegurese siempre de ejecutar macros que NO bloqueen la interfaz del usuario.
2022-08-16 22:45:11 -05:00
2023-04-23 11:31:58 -06:00
<br>