I'd like to:

Send request from the browser to a python CGI script
This request will start some very long operation
The browser should check progress of that operation every 3 seconds

How can I do that?
You could do this -

Use Javascript to check progress every 3 seconds.
Your Python script hit at anytime should give the progress at that instance. It should essentially act as state-machine. You need a server here or maybe the progress is stored on some file. 

But having a server is the way to go... 
Maybe the long running process stores the progress in a MySQL table.
Hope this helps...
Python with CGI - handle ajax