Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
godfreydaniels
Contributor III
Contributor III

Why does publish task need QlikView engine

Hi,

We regularly get error messages like these, from tasks that only publish, with no reload.  

(1/10/2020 4:46:11 PM) Error: Failed to allocate a QlikView Engine.

(1/10/2020 4:46:11 PM) Error: No QlikView Engine was available after waiting for 45 minutes

I know we have too many concurrent tasks, and I understand what I need to do to optimize the QMC settings related to this--but what does a publish-only taks need with a QlikView engine?

Thanks

1 Solution

Accepted Solutions
ngioux
Partner - Contributor II
Partner - Contributor II

Hi,

 

A publish task needs a QlikView Engine because it doesn't only move the file, it will : open the QlikView app, run the "on open" triggers, remove the reload script and save the app in the new location.

 

Best regards,

Nicolas

View solution in original post

4 Replies
ngioux
Partner - Contributor II
Partner - Contributor II

Hi,

 

A publish task needs a QlikView Engine because it doesn't only move the file, it will : open the QlikView app, run the "on open" triggers, remove the reload script and save the app in the new location.

 

Best regards,

Nicolas

godfreydaniels
Contributor III
Contributor III
Author

Thank you, Nicholas!  When this happens, does it consume the same resources as when a human user opens the QVW?  For example, if there is a chart on the main tab which takes 15 seconds to populate, are all of the same calculations performed when the QVW is opened as part of the publish step?

Thanks

ngioux
Partner - Contributor II
Partner - Contributor II

Hi,

 

I am not 100% sure of this, but I am pretty sure that the engine will calculate all chart on the opening sheet.

To avoid this problem, the best solution is to have (when it is possible) a landing page with no calculation.

 

Kind regards,

Nicolas

Brett_Bleess
Former Employee
Former Employee

Just wanted to add some clarification on things, the Engine is actually a QVB.exe process, which the QDS spawns, think of the QDS as a mere scheduler, as that is what it is, the QVB.exe processes are what actually does the work related to the reloads and distributions, and they are also used in the QMC whenever you click the Open Document buttons on the various task creation tabs too, those are the Administrative Engines setting in the QDS Advanced tab settings, while the Engines for Distribution are for the reloads and distributions.  

I also wanted to comment that the QVB will ignore all triggers and macros, they are not run when running things via Publisher/Reload Engine.  Regarding the calculations, I believe all it has to do is actually build the data model, I do not believe it is running any expression calculations, but I may be wrong on that one, but the data model has to be fully loaded.  One important thing you may not realize is between 11.20 and 12.xx we changed the engine from Row-based to Column-based, so when you open a QVW it is actually still stored as row-based, so it has to be opened row-based, then the Engine has to convert the model to column-based, then it can drop the row-based, if you watch your memory usage you will notice it takes about twice as much as you would expect to open things, then a bunch drops off after the open process completes, and this is what is happening during that time.  

Here is a link to a best practice/scalability article with a whitepaper that may prove useful to you too:

Scaling QlikView Publisher 

About the best I have, hopefully it helps a bit more.

Regards,
Brett

To help users find verified answers, please do not forget to use the "Accept as Solution" button on any post(s) that helped you resolve your problem or question.
I now work a compressed schedule, Tuesday, Wednesday and Thursday, so those will be the days I will reply to any follow-up posts.