Saltar al contenido

¿Cómo ejecutar el script de Python a tiempo?

Luego de indagar en diversos repositorios y páginas finalmente encontramos la resolución que te enseñaremos pronto.

Solución:

Puedes usar cron para esto si está en una máquina Linux. Cron es un demonio del sistema que se utiliza para ejecutar tareas específicas en momentos específicos.

cron trabaja sobre el principio de crontab, un archivo de texto con una lista de comandos que se ejecutarán en momentos específicos. Sigue un formato específico, que se puede explicar en detalle en man 5 crontab

Formato para crontab

Cada una de las secciones está separada por un espacio, y la sección final tiene uno o más espacios. No se permiten espacios dentro de las Secciones 1-5, solo entre ellas. Las secciones 1 a 5 se utilizan para indicar cuándo y con qué frecuencia desea que se ejecute la tarea. Así es como se presenta un trabajo cron:

minuto (0-59), hora (0-23, 0 = medianoche), día (1-31), mes (1-12), día de la semana (0-6, 0 = domingo), comando

01 04 1 1 1 /usr/bin/somedirectory/somecommand

El ejemplo anterior ejecutará / usr / bin / somedirectory / somecommand a las 4:01 am el 1 de enero y todos los lunes de enero. Un asterisco

01 04 * * * /usr/bin/somedirectory/somecommand

se puede utilizar para que se utilice cada instancia (cada hora, cada día de la semana, cada mes, etc.) de un período de tiempo. Código:

El ejemplo anterior ejecutará / usr / bin / somedirectory / somecommand a las 4:01 am todos los días de cada mes.

01,31 04,05 1-15 1,6 * /usr/bin/somedirectory/somecommand

Los valores separados por comas se pueden utilizar para ejecutar más de una instancia de un comando en particular dentro de un período de tiempo. Los valores separados por guiones se pueden utilizar para ejecutar un comando de forma continua. Código: /usr/bin/somedirectory/somecommand El ejemplo anterior se ejecutará

a las 01 y 31 después de las 4:00 am y a las 5:00 am del 1 al 15 de cada enero y junio. which somecommand El texto “/ usr / bin / somedirectory / somecommand” en los ejemplos anteriores indica la tarea que se ejecutará en los momentos especificados. Se recomienda que utilice la ruta completa a los comandos deseados como se muestra en los ejemplos anteriores. Ingresar en la terminal para encontrar la ruta completa aalgún comando

. El crontab comenzará a ejecutarse tan pronto como se edite y guarde correctamente.

*/10 * * * * /usr/bin/somedirectory/somecommand

Es posible que desee ejecutar un script varias veces por unidad de tiempo. Por ejemplo, si desea ejecutarlo cada 10 minutos, use la siguiente entrada crontab (se ejecuta en minutos divisibles por 10: 0, 10, 20, 30, etc.)

0,10,20,30,40,50 * * * * /usr/bin/somedirectory/somecommand

que también es equivalente a la más engorrosa

En Windows, se me han ocurrido dos soluciones.

Primera opción: crear un archivo .bat.

Paso 1

start C:UsersuserXPython.exe C:UsersuserXPycharmProjectsAutomation_taskscreate_workbook.py

Cree un archivo .bat para indicar el comando que desea ejecutar y el archivo de script que se ejecutará, por ejemplo:

Paso 2

Abra el Programador de tareas y haga clic en la Biblioteca del programador de tareas para ver las tareas actuales que se ejecutan.  Haga clic en la opción Crear tarea.

Programador de tareas de la ventana principal

Paso 3 Run whether user is logged on or notEn la pestaña General, ponga el nombre de su nueva tarea y haga clic en la opción Run with highest privileges , marque la opción Windows 7, Windows Server 2008 R2y asegúrese de configurar la versión adecuada de su sistema operativo (en mi caso, elegí

.

Altos privilegios

Paso 4

En la pestaña Acciones, haga clic en el botón Nuevo y escriba lo siguiente: En Programa / Scripts
C:WindowsSystem32WindowsPowerShellv1.0powershell.exe

debe buscar la ruta de Powershell que el Programador de tareas invocará para ejecutar el archivo .bat. En mi caso, mi ruta de Powershell fue: En Agregar argumentos (opcional)

C:UsersuserXDesktoprun_the_bat_file.bat

debe escribir la ruta del archivo que ejecutará Powershell. En mi caso, el camino fue: En Empezar en (opcional)

C:UsersuserXDesktop

debe escribir la ruta del archivo pero sin el nombre del archivo .bat, es decir:

Configure los ajustes para Powershell

Paso 5

Haga clic en la pestaña Desencadenadores y seleccione la frecuencia con la que desea ejecutar esta tarea.

Frecuencia de la tarea a ejecutar

Paso 6

Por último, pruebe su tarea para ver si realmente funciona seleccionándola de la Biblioteca del Programador de tareas y haciendo clic en la opción Ejecutar.

Pon a prueba tu tarea

Segunda opción: Ejecute el archivo .py con el Programador de tareas.

Paso 1

Abra el Programador de tareas y haga clic en la Biblioteca del programador de tareas para ver las tareas actuales que se ejecutan.  Haga clic en la opción Crear tarea.

Programador de tareas de la ventana principal

Paso 2 Run whether user is logged on or notEn la pestaña General, ponga el nombre de su nueva tarea y haga clic en la opción Run with highest privileges , marque la opción Windows 7, Windows Server 2008 R2y asegúrese de configurar la versión adecuada de su sistema operativo (en mi caso, elegí

.

Altos privilegios

Paso 3

En la pestaña Acciones, haga clic en el botón Nuevo y escriba lo siguiente: En Programa / Guiones
C:UsersuserXpython.exe

debe buscar la ruta de Python.exe que invocará el Programador de tareas para ejecutar la secuencia de comandos de Python. En mi caso, mi ruta de Python.exe fue: En Agregar argumentos (opcional) necesitas solamente

Permissions_dump.py

escriba el nombre de su secuencia de comandos de Python. En mi caso, el camino fue: En Empezar en (opcional)

C:UsersuserXPycharmProjects1099_vendors_costs

debe escribir la ruta del archivo pero sin el nombre de la secuencia de comandos de Python, es decir:

Configuración de Python

Paso 4

Haga clic en la pestaña Desencadenadores y seleccione la frecuencia con la que desea ejecutar esta tarea.

Frecuencia de la tarea a ejecutar

Paso 5

Por último, pruebe su tarea para ver si realmente funciona seleccionándola de la Biblioteca del Programador de tareas y haciendo clic en la opción Ejecutar.

Pon a prueba tu tarea

Otra opción (en caso de que convierta un .py en un .exe)

Si usa la biblioteca Cx_Freeze para convertir un .py en un .exe y desea usar el programador de tareas para automatizar esta tarea, debe seguir estos pasos:

Paso 1

Haga clic en Crear tarea y luego haga clic en la pestaña Acciones para escribir lo siguiente: En Programa / Guiones C:Windowsexplorer.exe necesitas buscar el

ruta que el Programador de tareas invocará para ejecutar el script .exe. En Agregar argumentos (opcional) necesitas solamente CustomerPopulation.exe

escriba el nombre de su archivo .exe: En Empezar en (opcional)

C:UsersuserXPycharmProjectsexecutables

debe escribir la ruta del archivo pero sin el nombre del archivo .exe, es decir:

parámetros exe Run only when user is logged on En la pestaña General, asegúrese de haber seleccionado el Run with the highest privilegesy han desmarcado el

.
Si los informes dejaron de funcionar

Asegúrese de verificar si su contraseña no ha caducado, de lo contrario, los informes no se enviarán.

  1. Referencias:
  2. https://gis.stackexchange.com/questions/140110/running-python-script-in-task-scheduler-script-will-not-run?newreg=603bcdbc381b41a283e5d8d0561b835e
  3. https://www.youtube.com/watch?v=oJ4nktysxnE

https://www.youtube.com/watch?v=n2Cr_YRQk7o

Te mostramos las comentarios y valoraciones de los lectores

Finalizando este artículo puedes encontrar los informes de otros usuarios, tú asimismo eres capaz insertar el tuyo si lo crees conveniente.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *