Hi,
Till now i had tried above two instance which u have mentioned.
i did nt find any better way to do this..
if you want to go scheduling(i.e run on specific timely basis go for option 2)
if you want go based on button clik or some event you can go for the option 1
Regards,
Prasad