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
Programador de tareas de la ventana principal
Paso 3 Run whether user is logged on or not
En 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 R2
y 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
Configure los ajustes para Powershell
Paso 5
Frecuencia de la tarea a ejecutar
Paso 6
Pon a prueba tu tarea
Segunda opción: Ejecute el archivo .py con el Programador de tareas.
Paso 1
Programador de tareas de la ventana principal
Paso 2 Run whether user is logged on or not
En 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 R2
y 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
Configuración de Python
Paso 4
Frecuencia de la tarea a ejecutar
Paso 5
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
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 privileges
y 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.
- Referencias:
- https://gis.stackexchange.com/questions/140110/running-python-script-in-task-scheduler-script-will-not-run?newreg=603bcdbc381b41a283e5d8d0561b835e
- 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.