@MartinLawrence this sounds like something I have made recently.
I have created a custom database in Pages, where records are set to be future published. This database is visible for admin only, so no impact on content presented to your users. It is just a schedule.
Once the record is published (this is done automatically by IPS via cron), the method onPublish() is executed. You can hook into this method to add your tasks.
The hook is executed only, when the records are published, once they are published, the hook is not triggered, so no need to lock something.
Probably it helps.