This time a simple as well as important post. Have you tried to run a scheduled task every minute?
When editing the trigger of a task schedule, there is a section in which the “Repeat task every” parameter can be set, and you have probably noticed that by default only the values “5 minutes, 10 minutes, 15 minutes, 30 minutes, 1 hour” are available.
Fortunately, it is possible to configure every certain amount of minutes or hours by typing manually the time.
For example, typing “1 minute” (or “1 minutes” also possible):
Or any number of minutes:
Or any number of hours:
Even a combination of hours and minutes. (its not something like “2 hours 30 minutes” as could think). by configuring the total amount of minutes. For example, for 2h30m, the number of minutes would be 150:
Don’t hesitate to leave a comment!!
less than 1 minute read
Description
This is a weird one… This post will show you how to configure a Scheduled task every single minute.
By default on Microsoft Windows Server 2008 R2, You have the options to run a task every:“5 minutes”,“10 minutes”,“15 minutes”,“30 minutes”,“1 hour”.
How to Schedule a task to run every minute ?
Today I was configuring a new Scheduled task on Windows Server 2008 R2. In my case i wanted the task to run every minute…
Using the CLI
I know this is easily possible using the tool Schtasks.exe
The command would look like something like that
schtasks /create /sc minute /mo 1 /tn “Hello World” /tr \Server\scripts\helloworld.vbs
See Technet: Schtasks.exefor more details.
Using the GUI
I realize that i couldn’t set the task to repeat under 5 minutes ;-(
So here is the trick:
- Edit the Trigger of your task. And as you can see … nothing below 5 minutes
- I realized the Repeat Task Every’s Textbox could be edited… All you need to do is to set the value to “1 minute” manually, (manually type “1 minutes”) and press OK. VOILA!
Verifying your Trigger settings
Here you can see the task repeat every minute.
Step 1: Open Start > Administrative Tools
Step 2: Right click on Task Scheduler and click Run as Administrator
Step 3: Click Create Task
Step 4: Give the task a name, Choose Configure for as Windows Server 2019.
Step 5: Under trigger add New.
Important to set the task as One time. Due to a bug in Windows Server, repeating Daily tasks will not work.
Step 6: For actions, add the app and argument.
Example:
D:\php-7.4.32-Win32-vc15-x64\php-win.exe -f D:\modernlms\root\admin\cli\cron.php
Step 7: The final tab, set as below
Recently I had a requirement of implementing a web scraping tool to identify changes in a website. It was the virtual learning environment website of my university where I wanted to create a desktop notification whenever our examination results were uploaded to the website. I started by writing a Python script that checks the website and creates a notification on Windows if updates are detected. I used the Python Beautiful Soup library to parse the HTML content of the web page and the Windows 10 Toast Notifications library to generate Windows 10 toast notifications. These tools made the implementation pretty simple.
The next phase was to run the script every 10 minutes and my initial thought was to use time.sleep()
while the script was running in an infinite loop. That’s when I started to realize that even though this approach solves the problem, using time.sleep()
does not mean that the code is executed every 10 minutes. What it does is put a 10 minute gap between executions. For a simple expendable application(like what I’m implementing) this is not an issue but for mission-critical applications or streaming applications using time.sleep()
for scheduling might have adverse effects. So I decided to use Windows Task Scheduler to run my Python script every 10 minutes.
Steps to schedule a Python script using the Windows Task Scheduler
Step 1 — Create a batch file to run the Python script
Open Notepad, add the following syntax and save it with the .bat
extension.
start "" "path_to_python.exe" "path_to_python_script"
Enter fullscreen mode
Exit fullscreen mode
Example:
start "" "C:\Python38\python.exe" "C:\Users\Tharinda\Desktop\web_scraper\main.py"
Enter fullscreen mode
Exit fullscreen mode
Using start
makes sure the cmd is closed after the execution. The first «» is the title that should be used with start
and in this case, the title is left blank.
After double-clicking on the .bat file the python script should run if the file is configured properly.
Step 2 — Create a task in Windows Task Scheduler
Open the start
menu and search for Task Scheduler
.
- In the
Actions
tab selectCreate Task
- Give a name for the task
- Switch to the
Triggers
tab and pressNew
to create a new trigger.
- Configure the trigger to suit your needs. In my case, the trigger is scheduled to run daily repeating the task every 10 minutes.
- Switch to the
Actions
tab and pressNew
to create a new Action.
- Under
Program/Script
add the batch file that was created in step 1
Add Conditions and change the Settings depending on your requirement and press OK
to save the task. You can refer the Task Scheduler documentation to learn more about the Windows Task Scheduler.
That is pretty much it. Your task should run as intended.
I hope this helps. Cheers!