Restrict running of a MySQL Stored Procedure by time

I am creating an Excel Report that queries a MySQL database using an ODBC connection. The data is the returned result of a Stored Procedure which contains some pretty slow, resource intensive queries on some massive tables belonging to a VICIDIAL installation.

I need the data to be as fresh as possible — but not at the expense of locking the database. So I need to be able to prevent the Stored Procedure from running during business hours.