Your examples are run using QlikView Desktop, not QlikView Server.
If you want to use EDX to trigger a reload using QlikView Server/QlikView Publisher, you have to first schedule a task in QMC to reload your document. The task should be triggered "on an external event". It will be just waiting for a signal. The trick is then to just fire that signal. You can use a command line tool for that purpose. Go have a look at QMSEDX Enhanced. Download and install QMSEDX. Next create a BAT/CMD file that makes a call to QMSEDX with the appropriate parameter values (including - as you said before - the task id). You should be up and running in only a few minutes.
Thank you Peter
After going through various posts, One part that I get not get is ..they all suggest to create a user for this purpose( i.e trigger jobs)
What I did not understand is
1) Why create a separate user for triggering from command line.
2) after creating a user, how do I pass the username related parameters or arguments via command line
What the sole purpose of creating a user on QVS for this task ?
The purpose of creating a user is not to pass the account to the QDS to trigger the task (indeed, there is no method to pass a username, only a password) but to grant a specific AD user the right to trigger a task without communicating the service account and password to all corners of your company, or any other QlikView Administrator account for that matter. You do not want to make these accounts public, since they are privileged accounts.
Just create a new user that is allowed to trigger this specific task (because of having the right password) and that is a member of the special EDX QlikView group. QlikView management security remains (resonably) tight that way.
Thank you Peter, had one question
I did not understand
"Just create a new user that is allowed to trigger this specific task (because of having the right password) and that is a member of the special EDX QlikView group."
Anyone who has access to the server machine(with QVS installed) can start a task.
So how do I allow a user to trigger a task when he doesn't have access to the QV server ?
It's not really true that anyone with access to the server platform can start a task. There are more ways to start a task, but the two basic methods are:
- Via the QMC. This is a web application that can be opened in any browser on any computer in your network. No direct access to the server needed. You only need a user account that is a member of the local QlikView Administrators group
- Via EDX. This is a signaling method that makes use of the QlikView Management API. Reread my first post for a technique for triggering a task from the command line. Again from any computer in your network. No direct server access needed.
I got the following errors:
The Operating system on the QV server :
Windows Server 2008 R2 datacenter,
Perhaps I might have made syntactical errors while passing arguments, I'm pasting the code below:
=== QMSEDX 1.0.3 (patched by Excelcio) ===
The program is used to execute a single EDX task and wait for the result.
qmsedx -task="Testing QVD Extract:AppName_QVD_Dev-Reload-Business Development"
-task [REQUIRED]: The name or id of the task to execute.
-qms [OPTIONAL]: The name of the qms. Default is the local host.
-password (-pwd) [OPTIONAL]: The password required to execute the task, if set.
-variablename (-vn) [OPTIONAL]: The name of the variable to pass on to the task, if set.
-variablevalues (-vv) [OPTIONAL]: A semicolon separated list of values of the variable to pass on to the task.
-timeout (-to) [OPTIONAL]: How many seconds to wait for the task to finish. Default value is 24 hours.
-pollinterval (-pi) [OPTIONAL]: How often to check the status of the task. Default value is every five seconds.
-nowait (-nw) [OPTIONAL]: Don't wait for task completion (not compatible with tasks chaining!)
-verbosity [OPTIONAL]: The level of output, 0-5. 0 will not produce any output and 5 is the most verbose.