by dquac » Wed, 12 Nov 2003 02:12:07
Here's what I'm trying to do. There are 3 servers involved:
1. Web/CF Server (WebSrv)
2. Enterprise Crystal Report Server (ReportSrv)
3. Database Application Server (DBSrv)
Here's a typical scenario:
1. User visits a web page to upload some data files to WebSrv, let's call it "file1.txt". "file1.txt" is uploaded to WebSrv.
2. WebSrv triggers DBSrv to download "file1.txt" from WebSrv and execute a DTS package to process "file1.txt" locally on DBSrv.
3. WebSrv retrieve a report from ReportSrv and sends it back to the users. This report is based on the data process in
Step2. ReportSrv will connect to DBSrv to pull the data before sending the report back to WebSrv.
It takes about 30-40 seconds for Step2 to process. I need a PAUSE on the WebSrv before Step3. Otherwise, it'll pull up a
report with no data. So, I'd figured, 50 seconds should be more than enough.
The best solution is if it's possible for DBSrv to notify ReportSrv that the data has been processed and for ReportSrv to then retrieve the report and send it back to the user via WebSrv. Unfortunately, this ideal solution sounds rather complicated, so I opted for an easier solution which is to somehow tell WebSrv to PAUSE the exeuction of that page for a while.
My backup plan in case there is no way to implement a PAUSE is to create a hyperlink that can pull up this report manually. I'll just have to tell the user to wait 1 minute and manually click on the link. It's more work for me, but it'll do the same thing. It would have been easier if CF had something like "<CFPAUSE 50>" or something like that.