My recommendation would be to pick up another component to be responsible for period tasks execution. This way you can decide how it should behave and get it scaled separately from your CQRS workers.
If you'd prefer to have 1 instance handling both of these tasks (periodic and CQRS) in Azure, you can convert them into Windows Services and use your Worker Role as installer and observer. I have an example built with my solution here.
Btw, if you use Lokad.Cqrs then your second approach sounds fine if it's separated from main component.