Last Updated on October 28, 2021 by Jay
We are going to take our Amazon price notification bot to another level by automating our Python script, meaning we don’t have to manually run it anymore – note this tutorial covers the method on Windows only. Our bot should run by itself every day at a set time, and only reports to us when it detects a price drop for an item.
- Part 1 – Amazon Price Tracking Bot
- Part 2 – Send Gmail Notification
- Part 3 – Send WhatApp Message
- Part 4 – Automate Bot Using Task Scheduler
Automate Python Script Using Windows Task Scheduler
In the Windows search bar, type “Task Scheduler”, open the program. Then from the right-hand side panel -> Create Task… Give your task a name.
Go to the “Tiggers” tab, change the settings to Daily, and make sure recur every 1 day since we want the bot to run every day. Also, make sure the Start time is in the past, otherwise, it won’t run until that time comes. We don’t need to touch other settings for our simple bot. Click on OK to save the settings. We should see a trigger added on the screen.
Go to the next tab Actions. Click on New… Then we can Browse to select our Python script. OK to save.
Test The Scheduled Job
To test the scheduled job, we’ll set the Start time to be 1 minute after the current time, whatever it is as you are reading this, then save the changes. Make sure that you finish saving the scheduled job before the trigger time comes.
Watch for it and as soon as your computer clock hits the trigger time, a black screen should pop up. Do not worry as that is our bot starts to work! When the black screen goes away (should be fast), check your email, and you should have received a notification from the bot.
Run Scheduled Task WIth A Virtual Environment
Given that sometimes we might use a virtual environment for projects, we need a way for the scheduler to activate the virtual environment before running a script.
To do that, we need to write a very simple batch script. In the code example below, the first part is just the address for the activate.bat file, followed by two &&, then followed by the address of the Python script.
The && here means that run the second command only if the first command runs successfully. Essentially this allows us to activate the virtual environment first, then run the script using that virtual environment.
C:\Users\jay\Desktop\PythonInOffice\amazon_price_alert_bot\venv\Scripts\activate.bat && python C:\Users\jay\Desktop\PythonInOffice\amazon_price_alert_bot\final.py