I have an updatePrice() method that goes through and updates price of products in the database from a CSV. This is all working fine. Now what I need to do is implement a scheduled task so that this process will run once a day at a specific time (say 2am).

Hi.
Did you read the documentation about scheduled-task? http://doc.silverstripe.com/doku.php?id=scheduledtask
Your class looks fine, you just need to call the URL or cli-script.php at the desired interval using a cron-job (or similar). Some hosting providers allow you to setup your own cron-jobs. If that's not possible, you could use a service like http://www.setcronjob.com/ (disclaimer: I never used that service before, it just popped up after a google search)

In that case, you best get familiar with cron jobs first. Just search for "cronjob tutorials" or anything similar and you'll find lots of information on that behalf. If I were you, I'd start with a simple script to test and then later move to the SilverStripe way of doing things.

Okay so I've done my research and implemented my scheduled task which is working fine if I test it manually.
However when I try to run it using crontab I'm having some issues:

1. If I try using wget (wget domain.com/DailyTask), it's failing at login. Do I need to pass in login parameters somewhere??
2. If I try using cli-script.php (cli-script.php /DailyTask) I'm getting a bunch of warnings and errors

What's the best way to call the scheduled task?
Would appreciate any guidance with this

2) Manually create a cron job to execute the task at the desired interval. As mentioned in the thread above, it's wise to get familiar with cron jobs via some tutorials. To create the cron job on the server, you'll need command line access. Assuming you can SSH into the server, do so, and at the prompt type

crontab -e

to open the crontab file. Enter the cron job. Here is an example for the DailyTask:

The "00 12 * * *" portion tells cron to run the script at noon everyday (change the 12 to whatever hour you want). Notice that I needed to specify the full path to the php executable on the server in order to run cli-script.php as php. You may or may not need this depending on your server settings. Save this file. You should get a message saying something like "installing new crontab file."

3) Finally, I needed to add the _ss_environment.php file to the root of my site in order for the script to execute properly. This wasn't necessary on my local dev server, only on remote dev and live server... not sure why. A difference in the php settings, I guess. You can read about this file at http://doc.silverstripe.com/doku.php?id=sake. Here is an example of what it looked like in order to work for me: