5 Replies Latest reply: Mar 25, 2015 7:25 AM by Miki Eto RSS

    Multi-thread scheduling available?

    Greg Williams

      I am looking to learn more about Qlik's ability to handle simultaneous scheduling requests. Does anyone have insight into how a 64-bit enabled architecture with numerous cores can process and handle simultaneous publisher task requests?



        • Re: Multi-thread scheduling available?
          Erik Gustafsson

          Hi Greg,


          This is automatically handled by the QDS. If you are trying to start them at the same time, QDS will add a buffer zone with 0,1 seconds in between. The QVB's that are running the reload will not start more often than 100 ms then. According to a setting in the QMC for the QDS, it allows a specific number of QVB's to run reloads, which is by default 4.


          When the QDS detects that a task is to run (either manually or triggered), the QDS adds the task at the end of a queue that is based on the “first come, first served” principle. The QDS then goes through the queue and starts up the needed number of QVBs. If there are more tasks in the queue than QVB engines allowed by this setting (default: 4), the QDS waits until a currently running QVB finishes and then starts up a new QVB to handle the outstanding tasks in the queue.




            • Re: Multi-thread scheduling available?

              Something to have in mind is that EDX tasks don´t doesn´t get added to the Queue that Erik mention, if there would be know free in the instance of firing the EDX task

                • Re: Multi-thread scheduling available?
                  Miki Eto

                  Hi Ako,


                  Appreciate your information about the limitation of the queuing system.

                  Would it be possible to give me any way of adding an EDX task to the queue?


                  Kind regards,

                  Miki Eto

                    • Re: Multi-thread scheduling available?
                      Bill Britt

                      Hi Eto,


                      I think the answer to this is the time between firing the EDX tasks. If you fire one and then another too soon it will queue the task with the one fired before it. I look at this a while back and I can't remember the time between calls, but you should be able to figure it out. Just watch the Task Manager and look for your QVB processes. Once the timing is correct you should see more than one QVB.



                        • Re: Multi-thread scheduling available?
                          Miki Eto

                          Hi Bill,


                          Thank you for your reply.


                          One of my colleagues tested this.  Just after executing a reload he did the same as the reload as you can see below, and then he got the error below.


                          C:\WorkingSpace\QMSEDX_CommandLine>qmsedx -task=reloadofsales

                          Failed to start the task due to the following error:TaskIsAlreadyRunning


                          It seems that the 2nd reload isn't queued.  Would it be possible to give me your explanation about this?


                          Appreciate your support.


                          Many thanks,

                          Miki Eto