The short answer to your question is...No, killing a conversation will not stop the process. (As far as I can tell anyways).
I guess I would recommend you really think about what you are asking for here. A 30 minute report is going to be putting a lot of stress on your system. So what happens if 3 or 4 people run these type of reports at the same time? Can your database handle this without causing you deadlocks etc. Will this cause Denial of Service to other users?
Now, that all being said I'm involved with an application with pretty much the same requirements. We are writing a queueing system for these potentially large reports. The user will submit the request for the report to be generated to the queue. We'll have a way of allowing a user to see the reports they have in the queue, and the ability to delete them from the queue or stop their
in progresreport. Each report will be fired off in its own thread thus with a bit of thread management I can kill and
in progressreport. Once a report is done the output is stored (db/filesystem) and the user can then access it via a link emailed to them or another page in the system with details of the reports they have generated.
Hey Tim thanks for your post,
I agree with what you said. My problem is 90% of the reports take less than 30 seconds to generate...therefore its more practical for my users to get them directly online. I am considering the
email afteroption but I'm still debating it.
I like your queuing and thread system though...I'll definetely look into that. Haven't worked with threads in years but I guess its time I got back to them ;)