Actions Taking Long Time

I have a lot of actions going the user might think the screens there anyway to show a progress bar of the actions, or throw them to a screen while the actions continue in the background?
I know 2 ways to solve this problem.
1. There's a progress bar extension here:
So you can write your action in a way that sends back progress periodically to the client. But based on my experience, the action should be limited to 3 mins. 
2. If your action takes longer than that, you can try to use "Timer". You can schedule a timer using action, and write the progress in another table. So you client can check the progress whenever he wants to. I have a action that could possibly take 1 hour to finish. So I used the second approach here.