Qlik Community

QlikView Deployment

Discussion Board for collaboration related to QlikView Deployment.

Announcements
QlikView Fans! We’d love to hear from you.
Share your QlikView feedback with the product team… Click here to participate in our 5-minute survey.
Rules, plus terms and conditions, can be found here.

Tricks for scheduling dependent tasks

I'm looking for tips on scheduling large dependent task chains. In QVP 8.5, we had document sets which handled the problem nicely. But document sets are not available in V9.

Here's the scenario. I have a group of 20 QVD reloads that need to execute first followed by the application reloads. The application reloads should not start unitil all QVD reloads are completed. The only way I can ensure all QVD reloads are complete is to run them serially and chain the application reloads off the last QVD.

What I would like to do is run the QVDs in parallel and start the applications when all QVDs are complete. Any ideas on how to do this wihtout just having a single task chain for all QVDs?

I''m facing this problem on both SBE edition and Publisher Enterprise.

Thanks,
-Rob

Tags (2)
23 Replies
Not applicable

Tricks for scheduling dependent tasks

Hi Rob,

What about having a dependency on the QVW reload, that only start on success of the QVD reloads ?

vgutkovsky
Honored Contributor II

Tricks for scheduling dependent tasks

Hi, Rob. Really interesting question. I'm not 100% sure, just throwing some ideas out there. Assuming you have a server with enough cores and memory, you can schedule up to 10 QVBs at the same time. So you could have the following structure: (i) schedule the first 10 QVD reloads to run at the same time, (ii) schedule the second 10 QVD reloads to run when #10 (or whichever is the longest) is completed; (iii) schedule the application reloads to start when #20 (or whichever is the longest in the second group) is completed. This would allow you to maximize parallel processing of the tasks.

Does this help?

Tricks for scheduling dependent tasks

Hi Glad,

Thanks for the response. I don't think it will give me the required certainty. The applicaton reloads would run even if #15 -- somewhere in the middle of the pack -- had failed or not completed.

-Rob

vgutkovsky
Honored Contributor II

Tricks for scheduling dependent tasks

Ah, well to solve that you would use a combination of triggers and dependecies. The triggers would be set up as described above. Then you would make the applications dependent on tasks 1 - 20. This would ensure that they would only run if all QVDs reloaded successfully. Alternatively, if a certain application is dependent on less than all the QVDs, you could make fewer dependencies. This might be a little annoying to set up for each application, but it would give you the certainty you are looking for.

Cheers,

Tricks for scheduling dependent tasks

I haven't found the Dependencies feature useful, perhaps I am misunderstanding it's application. A dependency seems to be satisified if the dependent task is in any state but "Failed". Therefore the dependent task runs if the dependency ran sucessfully in the past, or even if it never ran. I need some way to say "the dependency must have run today". Can I do that with dependencies?

-Rob

vgutkovsky
Honored Contributor II

Tricks for scheduling dependent tasks

Rob,

You're mostly correct. Dependencies will be satisfied if the last execution ran successfully. But by scheduling the QVD loads to run before the application loads you will ensure that the tasks will be started first and the last task state will be the most recent (today).

mike_garcia
Contributor III

Tricks for scheduling dependent tasks

Ok, here's an idea. Not tested really.

Make each of the 20 taks generate a txt file or write something somewhere. For Example Task A, at the end of the script, will write a txt File that says "Hey I already did my job", a counter of some sort.

That, in turn, (also at the end of the script) will execute a vbs that checks if the tasks have all done their job (count the number of files or something). If so, it will trigger an EDX for the final reload, if not it will wait for the next finished task to call it and check again.

OR, maybe you could read the task result logs, and apply the same logic.

Hope this helps. And please, let us know if it worked.

Mike.

Luminary
Luminary

Tricks for scheduling dependent tasks

What Qliktech has to say about this feature change ?

How it´s possible to migrate from one version to another when the newer version have missing features ?

suniljain
Honored Contributor

Tricks for scheduling dependent tasks

Dear Rob,

One way to do this is make .bat file and write all task one by one in that batch file according to requirement.

Make QVW Application for QVD and then QVW.

Regards

Sunil Jain.

Community Browser