How to Configure Timeout Setting for Data Connector
To configure the timeout setting for a data connector in a Bold Reports® embedding application, add the IReportHelperSettings interface to the ReportingAPIController class and set TimeOutInMinutes in the InitializeSettings method.
The timeout setting specifies how long the HTTP client should wait for a response after sending an HTTP request. Increasing the timeout value can help avoid request failures when the HTTP request takes longer to respond.
Defaults and limits:
- Minimum default: 4 minutes
- Maximum allowed: 30 minutes
How do I configure the timeout setting in the controller?
To configure the Bold Reports® data connector timeout in the controller, add the IReportHelperSettings interface to the ReportingAPIController class and set TimeOutInMinutes in the InitializeSettings method.
-
Add the
IReportHelperSettingsinterface to theReportingAPIControllerclass as follows:public class ReportingAPIController : Controller, IReportDesignerController, IReportHelperSettings -
To configure the timeout setting in the Bold Reports® Embedding application, add the following method to the
ReportingAPIController.csfile:// To Configure the timeout setting for designer and viewer [NonAction] public void InitializeSettings(ReportHelperSettings helperSettings) { helperSettings.DataOptions = new DataOptions { TimeOutInMinutes = "7" }; // Specify the needed timeout value in minutes }
What timeout should a reverse proxy server use?
When you deploy a Bold Reports® embedding application with a reverse proxy server, set the proxy server’s timeout values equal to or greater than the configured TimeOutInMinutes value. Otherwise, the server terminates the connection before the HTTP request times out.
How do I configure timeouts in Nginx?
To configure timeouts in Nginx for a Bold Reports® embedding application, set the Nginx proxy timeout properties in the configuration file for your environment. Nginx has default request timeout values (commonly around 60 to 300 seconds, depending on the directive). Adjust these timeouts based on application requirements to prevent unexpected client or upstream disconnections. See the following table for the Nginx timeout configuration files across different environments.
| Environment | File |
| Linux and Docker single-container | /etc/nginx/sites-enabled/default |
| Docker multiple-container | default.conf |
| Kubernetes (K8S) | Ingress.yaml |
Timeout Properties in Linux and Docker environments
proxy_connect_timeout {Desired time limit in seconds};
proxy_send_timeout {Desired time limit in seconds};
proxy_read_timeout {Desired time limit in seconds};
send_timeout {Desired time limit in seconds};
Timeout properties in Kubernetes (K8S) environment
proxy_connect_timeout {Desired time limit in seconds};
proxy_send_timeout {Desired time limit in seconds};
proxy_read_timeout {Desired time limit in seconds};
How do I configure timeouts in other reverse proxy servers?
When you deploy a Bold Reports® embedding application with a reverse proxy server other than Nginx, configure the equivalent timeout properties (connection, send, and read) for that proxy server.
Which data connectors support the timeout setting?
The following Bold Reports® data connectors support the timeout setting:
- ODATA [Configure Timeout setting]
- Web API [Configure Timeout setting]