Qlik Community

QlikView App Dev

Discussion Board for collaboration related to QlikView App Development.

Announcements
Now Live: Qlik Sense SaaS Simplified Authoring – Analytics Creation for Everyone: READ DETAILS
cancel
Showing results for 
Search instead for 
Did you mean: 
bkkuah17
Contributor II
Contributor II

Concurrent qlikview exec

Hi ,

Currently I trying to use Qlikview to run exec function asynchronously. Anyone have an ideal ?

How do I concurrently run both test1.qvw and test2.qvw ? Sample below...


The number of qvw file can be a dynamically number of file, therefore it can't be hardcore or having fixed schedule...


When I try running this in Qlikview script, it will be executed sequentially.


Sample:

EXECUTE "$(QvPath)\QV.EXE" /r "test1.qvw"

;

EXECUTE "$(QvPath)\QV.EXE" /r "test2.qvw"

;

Thanks

1 Solution

Accepted Solutions
bkkuah17
Contributor II
Contributor II
Author

Manage to get it working by using the following script,

EXECUTE cmd /c START C:\PROGRA~1\QlikView\QV.EXE /r  test2.qvw;

View solution in original post

4 Replies
marcus_sommer
MVP & Luminary
MVP & Luminary

If you execute several windows-tasks (which then contained the reload-task) you should be able to parallize several tasks. Maybe it could be also work with executing a classic batch-file if there are parameters available which prevent the waiting for a response.

To parallelize tasks mustn't be mandatory faster than a sequential execution because the tasks will compete to the system-resources of CPU, RAM and network/storage - if there is any bottleneck you might even slow down your overall performances and also getting a greater potential risk of reload-failings especially if they are accessing the same sources or qvd's.

- Marcus

Peter_Cammaert
Partner - Champion III
Partner - Champion III

How about using the START command? I'm not an expert but it seems to me that START by default doesn't wait for a started command|program to finish. You can add the /B command line option to start a program without opening a new command prompt. Try with:

EXECUTE "START /B $(QvPath)\QV.EXE /r test1.qvw"

;

EXECUTE "START /B $(QvPath)\QV.EXE /r test2.qvw"

;

Note that this technique is "fishy" as there is no Windows equivalent for the Unix "background" concept.  If you really want to run reloads in parallel using QV Desktop, you'll have to program your own Windows service that can run QV Desktop in parallel. But that is exactly what the QDS of QlikView Server does...

bkkuah17
Contributor II
Contributor II
Author

I manage to able execute this script in dos prompt,

It doesn't work, when I try running the command in qlikview script.

          EXECUTE START /B C:\PROGRA~1\QlikView\QV.EXE /r  test2.qvw;

Anyway it still execute in a synchronous manner...

bkkuah17
Contributor II
Contributor II
Author

Manage to get it working by using the following script,

EXECUTE cmd /c START C:\PROGRA~1\QlikView\QV.EXE /r  test2.qvw;