Skip to main content
Announcements
Qlik Connect 2025: 3 days of full immersion in data, analytics, and AI. May 13-15 | Orlando, FL: Learn More

Upgrade to Qlik NPrinting June 2020 or newer with modified rendering configuration files

No ratings
cancel
Showing results for 
Search instead for 
Did you mean: 
Ruggero_Piccoli
Support
Support

Upgrade to Qlik NPrinting June 2020 or newer with modified rendering configuration files

Last Update:

May 24, 2022 2:45:36 PM

Updated By:

Frank_S

Created date:

Jun 10, 2020 6:38:41 AM

You must read this article only if you customized the Qlik Sense rendering configuration section of your Qlik NPrinting Engine configuration files (engine.config).

For default upgrade instructions, see Upgrading Qlik NPrinting.

 

Environment:

Qlik NPrinting 
Qlik Sense Enterprise on Windows 
Modified rendering configuration files (engine.config)

In NPrinting April 2020 and earlier versions, by default, engine.config settings are stored in C:\Program Files\NPrintingServer\NPrinting\Engine\engine.config. 

For example, if you have uncommented any of the following parameters, you must migrate to the new configuration:

 

<!-- minimum Sense (QRS) version from which to use printing-live.html mashup page -->
  <!-- <add key="webrenderer-live-mashup-sense-version" value="23.1.0" /> -->

	<!-- minimum number of browser workers -->
	<!-- <add key="webrenderer-min-worker-number" value="0" /> -->

	<!-- maximum number of browser workers -->
	<!-- <add key="webrenderer-max-worker-number" value="cpu%200" /> -->

	<!-- rendering timeout for the overall rendering request, inclusive queueing -->
	<!-- <add key="webrenderer-request-overall-timeout-msec" value="300000" /> -->

	<!-- rendering timeout for the whole render method at the renderer -->
	<!-- <add key="webrenderer-remote-request-timeout-msec" value="60000" /> -->

	<!-- rendering timeout for a JavaScript render method at the renderer -->
	<!-- <add key="webrenderer-remote-request-js-timeout-msec" value="30000" /> -->

<!-- max image dimensions rendered supported by CEF, the final image is upscaled to produce the correct dimensions -->
	<!--
	<add key="webrenderer-max-image-width-px" value="3000" />
	<add key="webrenderer-max-image-height-px" value="3000" />
	-->

	<!-- number of binary equal snapshots in a row used to consider a snapshot valid -->
	<!-- <add key="webrenderer-snapshot-equality-threshold" value="3" /> -->

<!-- maximum number of snapshots to take before stopping comparing, the last one is deemed as valid -->
	<!-- <add key="webrenderer-snapshot-max-count" value="5" /> -->

	<!-- how often to ping the Sense server to keep the mashup session alive -->
	<!-- <add key="webrenderer-sense-ping-interval-msec" value="300000" /> -->

	<!-- maximum number of pending requests -->
	<!-- <add key="webrenderer-max-pending-requests" value="1000" /> -->

	<!-- web renderer executable path -->
	<!-- <add key="webrenderer-path" value="lib\rwr\x64\reporting_web_renderer.exe" /> -->

	<!-- web renderer arguments -->
	<!-- <add key="webrenderer-skip-process-start" value="false" /> -->

<!-- webrenderer-grpc-port-scan. True if the grpc channel port need to be set at runtime. False otherwise -->
<!-- When set to True, parameters webrenderer-args grpc-addr and grpc-channel-addr must be set as runtime args -->
<!-- When set to False, parameters webrenderer-args grpc-addr and grpc-channel-addr must be set as static args -->
	<!-- Usefull when Qlik and NPrinting are running in the same machine -->
	<!--<add key="webrenderer-grpc-port-scan" value="false" />-->

<!-- web renderer arguments. -port arg can be express with {0} (resolved at runtime) or by explicit value -mb=500-->
	<!-- <add key="webrenderer-args" value="-l=info -grpc-addr=127.0.0.1:51051 -e=1" /> -->
<!-- web renderer options in the form: "opt1=val1;opt2=val2" . -port arg can be express with {0} (resolved at runtime) or by explicit value-->
	<!-- <add key="webrenderer-options" value="grpc-channel-addr=localhost:51051" /> -->

	<!-- web renderer address of web socket host -->
	<!-- <add key="webrenderer-wshost" value="localhost" /> -->
	<!-- <add key="webrenderer-wsport" value="2727" /> -->

	<!-- mashup page query string parameters -->
	<!-- <add key="webrenderer-mashup-qs" value="logging=net,ws" /> -->

	<!-- web renderer rate limit default 100 requests per second-->
	<!--<add key="webrenderer-max-capacity" value="100" />-->
	<!--<add key="webrenderer-refill-interval-msec" value="1000" />-->
  <!--<add key="webrenderer-use-old-mashup" value="true" />-->

 

If you have not edited any of these parameters,  you can skip this section above.

The management of reporting web renderer parameters has been simplified.

The modification consists of two steps:

  1. Parameters have been moved from the Qlik NPrinting Engine to the Qlik NPrinting Scheduler configuration file to ensure that all Qlik NPrinting Engines have uniform behaviour.
  2. Some parameters have been simplified for easier handling.

This guide covers three topics:

  1. The migration to the new configuration. This is mandatory if you edited the web renderer settings in the Qlik NPrinting engine.config file.
  2. Simplifying parameter settings (optional).
  3. Editing parameters in the renderer.config file (for customers editing these settings for the first time).

Before upgrading

  • Before upgrading your installation to Qlik NPrinting June 2020 and later versions, create backup copies of all your Qlik NPrinting Engine configuration files.
  • By default, they are stored in 
C:\Program Files\NPrintingServer\NPrinting\Engine\engine.config

Migrating the parameters in the NPrinting Engine.config file

Do the following:

  1. Stop the Qlik NPrinting Scheduler and Engine Windows services.
  2. Copy any parameter you have previously set in your Qlik NPrinting Engine configuration files (the engine.config file of all your Engines) into the new file on the Qlik NPrinting Server computer. Ensure you notice the new formatting in the renderer.config file.
C:\Program Files\NPrintingServer\NPrinting\Scheduler\renderer.config
  1. You may need to open the file in administrator mode.
  2. When editing the strings webrenderer-mashup-qs  or webrenderer-args parameters  within the renderer.config file, ensure that the options are separated with a semicolon as shown in the example below on the right.

Reformatting examples:

engine.config (previous)

renderer.config (current)

<add key="webrenderer-mashup-qs" value="logging=net,ws&amp;wssecure=1" />

<add key="webrenderer-mashup-qs" value="logging=net,ws;wssecure=1" />

<add key="webrenderer-args" value="-l=info -grpc-addr=127.0.0.1:51051 -e=1" />

<add key="webrenderer-args" value="-l=info;-grpc-addr=127.0.0.1:51051;-e=1" />

 

Simplify the parameters after the migration (optional)

If you edited any of the parameters webrenderer-request-overall-timeout-msec, webrenderer-remote-request-timeout-msec or webrenderer-remote-request-js-timeout-msec, you can simplify the setting of the timeout by using a single parameter that will set overall timeouts.

Do the following:

  1. Take the maximum value between webrenderer-remote-request-timeout-msec and webrenderer-remote-request-js-timeout-msec.
  2. Divide this value by 1000 to convert from milliseconds to seconds.
  3. Use the calculated value to set webrenderer-timeout-sec.
  4. Remove all webrenderer-request-overall-timeout-msec, webrenderer-remote-request-timeout-msec and webrenderer-remote-request-js-timeout-msec settings.

 

Configuration examples:

engine.config (April 2020 & earlier versions of NPrinting)

renderer.config (June 2020 & newer versions of NPrinting)
<add key="webrenderer-request-overall-timeout-msec" value="300000" />
<add key="webrenderer-remote-request-timeout-msec" value="60000" />
<add key="webrenderer-remote-request-js-timeout-msec" value="30000" />
<add key="webrenderer-timeout-sec" value="60" /> 
<add key="webrenderer-request-overall-timeout-msec" value="300000" />
<add key="webrenderer-remote-request-timeout-msec" value="60000" />
<add key="webrenderer-remote-request-js-timeout-msec" value="90000" />
<add key="webrenderer-timeout-sec" value="90" />  

 

  • From NP June 2020 and newer versions the value settings are now in 'seconds' rather than milliseconds and only 'one' value is needed rather than 'three'
  • NOTE: Restart the Qlik NPrinting Scheduler and Engine Windows services to enable updated renderer.config file values

Editing parameters in the renderer.config file

The parameters available in 

C:\Program Files\NPrintingServer\NPrinting\Scheduler\renderer.config

lets you change two basic operation settings.

1. Set the web renderer logging level to debug

If you want to set the logging level to debug only for the reporting web renderer:

  1. Open the renderer.config file.
  2. Set the value to <add key="webrenderer-logs" value="verbose" />.

This value is automatically set when the Qlik NPrinting Engine is set to debug log level in accordance with Logging

2. Increase the rendering timeouts

The rendering timeout is set by default to 30 seconds. This can be increased if there are timeout errors due to charts that render slowly.

Timeouts errors appear in the Qlik NPrinting Engine logs as CefRenderingException with the error code 

  • SENSE_JS_RENDER_TIMEOUT
  • ErrorMaxJsAttemptsExceededResult
  • ERROR_RENDER_TIMEOUT_RESULT

To verify that the issue is generated by a chart that is slow to render, check the chart load time in the Qlik Sense app.

To increase the rendering timeout:

  1. Open the renderer.config file.
  2. Uncomment the webrenderer-timeout-sec option.
  3. Set the desired value in seconds. For example, to set the timeout to 180 seconds, change the parameter to: <add key="webrenderer-timeout-sec" value="180" />.
Tags (2)
Version history
Last update:
‎2022-05-24 02:45 PM
Updated by: