Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
THRUST SERVICES & TOOLS
CLOUD EDITIONS
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Intelligence (Analytics)
How to set max request time?
dianbo
i use jsapi to access reports deployed in iServer 10 SP1.
when i run a report and the query for data need a long time (for example: search data from xml url with poor network), i will get nothing and there is no error information in iServer log file.
In iportal, it will open another window to render the returned report after a long while.
Is there any way to set the max request time or some suggestions?
Thanks
Dianbo
Find more posts tagged with
Comments
xchen
<blockquote class='ipsBlockquote' data-author="dianbo"><p>i use jsapi to access reports deployed in iServer 10 SP1.<br />
<br />
when i run a report and the query for data need a long time (for example: search data from xml url with poor network), i will get nothing and there is no error information in iServer log file.<br />
<br />
In iportal, it will open another window to render the returned report after a long while.<br />
<br />
Is there any way to set the max request time or some suggestions?<br />
<br />
Thanks<br />
<br />
Dianbo</p></blockquote>
you can set request time by specifying "max synchornous job run time" parameter in iServer CC, or you can directly modify config xml acserverconfig.xml under $iserver_home/iserver/etc/ by adding following lines under <server> tag:<br />
<ReportingService<br />
LogDirectory="C:Program FilesActuate10iServer/log"<br />
MaxSyncJobRuntime="311"<br />
RenderProfilesURL="C:Program FilesActuate10iServer/etc/AcRenderProfiles.xml"<br />
EnableGenerationService="true"<br />
TransientReportCacheLocation="C:Program FilesActuate10iServertmp"/><br />
<br />
for log, you can modify iserver log level to "finest" in iserver CC, then you can view every operation on iServer in the log file
rmurphy
FYI, the iServer CC is the "Configuration Console". Assuming a default installation, this is available at <a class='bbc_url' href='
http://localhost:8900/acadmin/config'>http://localhost:8900/acadmin/config</a>.<br
/>
<br />
Rob
dianbo
Xchen said: the default value of MaxSyncJobRuntime is 5 minutes.
But when a report generation costs about 20 second, it stops loading either.
So, i am not sure if it will be helpful.
Note: I use jsapi in the following way.
myViewer = new actuate.Viewer( "myDivContainer" );
myViewer.setReportName("/Mashup/QuickReport.rptdesign" );
// execute the viewer creation
myViewer.submit();
Is there any other suggestions about executing this kind of time-consuming report?
rmurphy
You could try submitting an AJAX request to the iServer to run the report. The following DevShare post shows how to submit a synchronous job to the iServer<br />
<a class='bbc_url' href='
http://www.birt-exchange.org/devshare/deploying-birt-reports/1013-executing-a-report-using-javascript/'>Executing
a report using JavaScript - Designs & Code - BIRT Exchange</a><br />
<br />
Then, you would pass the Viewer a report document (rptdocument) instead of a report design (rptdesign). The example show using the dataservice component. You would load the viewer component instead.<br />
<br />
Rob
dianbo
Hi Rob,
Thank you very much. I will try the synchronous job at once.
It may be because of the following warning:
WARNING: Effective heartbeat clock interval was: 19 seconds.
Could anyone give any suggestions to this warning?
Thanks
Dianbo
rmurphy
What log file did you receive that message in?
Is this iServer Express or iServer Enterprise you are working with?
Rob
dianbo
<blockquote class='ipsBlockquote' data-author="rmurphy"><p>What log file did you receive that message in?<br />
<br />
Is this iServer Express or iServer Enterprise you are working with?<br />
<br />
Rob</p></blockquote>
<br />
Hi Rob,<br />
<br />
The log file is jsrvr10.24957.ipop.2009Aug27_03_10_52_Central_European_Summer_Time.0.log, and it is iServer Express.<br />
<br />
Dianbo
rmurphy
Did this post help?<br />
<a class='bbc_url' href='
http://www.birt-exchange.org/forum/deploying-birt-reports-deployment-kit-iserver-express/16910-warning-effective-heartbeat-clock-interval-19-seconds.html#post54632'>http://www.birt-exchange.org/forum/deploying-birt-reports-deployment-kit-iserver-express/16910-warning-effective-heartbeat-clock-interval-19-seconds.html#post54632</a><br
/>
<br />
Rob
dianbo
<blockquote class='ipsBlockquote' data-author="rmurphy"><p>Did this post help?<br />
<a class='bbc_url' href='
http://www.birt-exchange.org/forum/deploying-birt-reports-deployment-kit-iserver-express/16910-warning-effective-heartbeat-clock-interval-19-seconds.html#post54632'>http://www.birt-exchange.org/forum/deploying-birt-reports-deployment-kit-iserver-express/16910-warning-effective-heartbeat-clock-interval-19-seconds.html#post54632</a><br
/>
<br />
Rob</p></blockquote>
<br />
What should I do if the query costs too much time?
rmurphy
The report should either be scheduled and run in the background, or you will need to set a MaxSyncJobRuntime property in your acserverconfig.xml file. By default, the maximum syncronous job runtime is 5 minutes (300 seconds). <br />
<br />
The acserverconfig.xml file is located in the etc directory of your iServer Express installation. If you search for "<ReportingService" you will find markup similar to the following:<br />
<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>
<ReportingService
LogDirectory="C:Program FilesActuate10iServer/log"
RenderProfilesURL="C:Program FilesActuate10iServer/etc/AcRenderProfiles.xml"
EnableGenerationService="true"
TransientReportCacheLocation="C:Program FilesActuate10iServertmp"/>
</pre>
<br />
Insert MaxSyncJobRuntime="500" (where 500 is the max time in seconds you want a job to run before being aborted). After interting the change, your markup should look similar to:<br />
<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>
<ReportingService
LogDirectory="C:Program FilesActuate10iServer/log"
MaxSyncJobRuntime="500"
RenderProfilesURL="C:Program FilesActuate10iServer/etc/AcRenderProfiles.xml"
EnableGenerationService="true"
TransientReportCacheLocation="C:Program FilesActuate10iServertmp"/>
</pre>
<br />
Rob
dianbo
<blockquote class='ipsBlockquote' data-author="rmurphy"><p>The report should either be scheduled and run in the background, or you will need to set a MaxSyncJobRuntime property in your acserverconfig.xml file. By default, the maximum syncronous job runtime is 5 minutes (300 seconds). <br />
<br />
The acserverconfig.xml file is located in the etc directory of your iServer Express installation. If you search for "<ReportingService" you will find markup similar to the following:<br />
<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>
<ReportingService
LogDirectory="C:Program FilesActuate10iServer/log"
RenderProfilesURL="C:Program FilesActuate10iServer/etc/AcRenderProfiles.xml"
EnableGenerationService="true"
TransientReportCacheLocation="C:Program FilesActuate10iServertmp"/>
</pre>
<br />
Insert MaxSyncJobRuntime="500" (where 500 is the max time in seconds you want a job to run before being aborted). After interting the change, your markup should look similar to:<br />
<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>
<ReportingService
LogDirectory="C:Program FilesActuate10iServer/log"
MaxSyncJobRuntime="500"
RenderProfilesURL="C:Program FilesActuate10iServer/etc/AcRenderProfiles.xml"
EnableGenerationService="true"
TransientReportCacheLocation="C:Program FilesActuate10iServertmp"/>
</pre>
<br />
Rob</p></blockquote>
<br />
Hi Rob,<br />
<br />
can you tell me the relationship between this 500 seconds and that "19 seconds" in the warning "WARNING: Effective heartbeat clock interval was: 19 seconds.". It always fails to render the report using my jsp file which include the jsapi, if the rending needs more that 20 seconds. As what i have said, "In iportal, it will open another window to render the returned report after a long while. "<br />
<br />
And, can i cancel the loading if it needs a long time, just like viewer.cancel(). <br />
That i want to add a timeout after viewer.submit(), the loading will be canceled after 20 seconds if it is not successful. <br />
<br />
Thanks<br />
<br />
Dianbo