You have to work with AlarmManager for reliable, long term scheduling. So it will work even on idle mode. No need to keep the aplication alive and powermangement locks to make the device active. it will drain your batt. and all other resources.
instead you can apply a wakelock when the scheduled task is started and then you can remove the lock as soon as the task is completed. AlarmManager will keep running in background and will call to your activities on given time interval.