<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Project: Python, QRS API: Creating Task Schedule, Gantt Chart and Overlapping Task Analysis in Integration, Extension &amp; APIs</title>
    <link>https://community.qlik.com/t5/Integration-Extension-APIs/Project-Python-QRS-API-Creating-Task-Schedule-Gantt-Chart-and/m-p/2474655#M21052</link>
    <description>&lt;P&gt;Hello everyone,&lt;/P&gt;
&lt;P&gt;I’m excited to share a Python tool I’ve developed that connects with the Qlik Sense QRS API to visualize task management and identify time intervals where more than six apps (the maximum number of reload tasks that can work simultaneously) reload concurrently on QMC.&lt;/P&gt;
&lt;P&gt;Unlike monitoring apps that rely on executed reload task logs, this tool bases the schedule on the defined trigger start time and reload task duration. This approach assumes that no task will be queued, even if it exceeds the limit, allowing us to inspect possible queues according to the defined triggers.&lt;/P&gt;
&lt;P&gt;Key Features:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Gantt Chart Visualization&lt;/STRONG&gt;: A Gantt chart is generated to visualize the reload process and display overlapping tasks.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Interval Analysis&lt;/STRONG&gt;: The tool inspects time intervals where more than 6 reloads occur simultaneously, reporting the time and overlapping reload tasks with their count.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="gantt_chart.jpg" style="width: 427px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/170238i459295DDE07E579A/image-dimensions/427x299?v=v2" width="427" height="299" role="button" title="gantt_chart.jpg" alt="gantt_chart.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;SPAN&gt;I attached an excel file gantt chart visual as an example of output of the project. Excel file includes a task schedule(sheet1) ,measured start and finish time(sheet2) and overlapping task intervals(sheet3).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;Check out the project here: &lt;A href="https://github.com/akinertu/qliksense.git" target="_blank" rel="noopener"&gt;github.com/akinertu/qliksense&lt;/A&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="5"&gt;Project Steps: &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;0. Connecting Qlik Sense QRS API&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT size="3"&gt;Requirements: &lt;/FONT&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT size="3"&gt;Qlik Sense UserID &lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT size="3"&gt;Qlik Sense User Directory&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT size="3"&gt; Qlik sense Server Adress &lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT size="3"&gt;Certificates: client.pem, client_key.pem (Can be exported from QMC)&lt;/FONT&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;OL dir="auto"&gt;
&lt;LI&gt;&lt;STRONG&gt;Retrive Qlik Sense App properties&lt;/STRONG&gt;
&lt;UL&gt;
&lt;LI&gt;'id', 'name', 'published', 'description', 'stream', 'fileSize', 'lastReloadDate', 'lastReloadTime', 'owner'&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Retrive Qlik Sense Task&amp;nbsp;properties&lt;/STRONG&gt;
&lt;UL&gt;
&lt;LI&gt;'id', 'name', 'enabled', 'nextExecutionDate', 'duration', 'app_id'&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Retrive Qlik Sense Reload Task Trigger&amp;nbsp;properties&lt;/STRONG&gt;
&lt;UL&gt;
&lt;LI&gt;'id', 'schemaFilterDescription', 'incrementDescription', 'enabled', 'reloadTask_id', 'startDate'&lt;/LI&gt;
&lt;LI&gt;'id', 'reloadTask_id', 'enabled', 'preceeding_reloadTask_id'&lt;/LI&gt;
&lt;LI&gt;decoding&amp;nbsp;'schemaFilterDescription' &amp;amp;&amp;nbsp; 'incrementDescription' into trigger period/time info&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Creating Task Schedule&lt;/STRONG&gt;
&lt;UL&gt;
&lt;LI&gt;Merging app, task and trigger into a dataframe&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Filtering Enabled Tasks &amp;amp; Published Apps (Optional)&lt;/STRONG&gt;
&lt;UL&gt;
&lt;LI&gt;To use only enabled task/trigger of published apps&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Getting/Measuring start and finish time of reload tasks&lt;/STRONG&gt;
&lt;UL&gt;
&lt;LI&gt;For tasks with periodic triggers:
&lt;UL&gt;
&lt;LI&gt;start time = trigger time&lt;/LI&gt;
&lt;LI&gt;finish time =&amp;nbsp;start time + reload time duration&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;For tasks with task triggers(dependent)
&lt;UL&gt;
&lt;LI&gt;start time = preceeding reload task finish time&lt;/LI&gt;
&lt;LI&gt;finish time =&amp;nbsp;start time + reload time duration&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Creating a Gantt Chart for reloadtasks&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Analysing task overlaps&lt;/STRONG&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;SPAN&gt;This tool is designed to enhance efficiency and ensure optimal scheduling within Qlik Sense environments. I’m thrilled to contribute to the Qlik community and would love to hear your feedback or suggestions!&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 05 Aug 2024 23:06:30 GMT</pubDate>
    <dc:creator>akinert</dc:creator>
    <dc:date>2024-08-05T23:06:30Z</dc:date>
    <item>
      <title>Project: Python, QRS API: Creating Task Schedule, Gantt Chart and Overlapping Task Analysis</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Project-Python-QRS-API-Creating-Task-Schedule-Gantt-Chart-and/m-p/2474655#M21052</link>
      <description>&lt;P&gt;Hello everyone,&lt;/P&gt;
&lt;P&gt;I’m excited to share a Python tool I’ve developed that connects with the Qlik Sense QRS API to visualize task management and identify time intervals where more than six apps (the maximum number of reload tasks that can work simultaneously) reload concurrently on QMC.&lt;/P&gt;
&lt;P&gt;Unlike monitoring apps that rely on executed reload task logs, this tool bases the schedule on the defined trigger start time and reload task duration. This approach assumes that no task will be queued, even if it exceeds the limit, allowing us to inspect possible queues according to the defined triggers.&lt;/P&gt;
&lt;P&gt;Key Features:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Gantt Chart Visualization&lt;/STRONG&gt;: A Gantt chart is generated to visualize the reload process and display overlapping tasks.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Interval Analysis&lt;/STRONG&gt;: The tool inspects time intervals where more than 6 reloads occur simultaneously, reporting the time and overlapping reload tasks with their count.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="gantt_chart.jpg" style="width: 427px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/170238i459295DDE07E579A/image-dimensions/427x299?v=v2" width="427" height="299" role="button" title="gantt_chart.jpg" alt="gantt_chart.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;SPAN&gt;I attached an excel file gantt chart visual as an example of output of the project. Excel file includes a task schedule(sheet1) ,measured start and finish time(sheet2) and overlapping task intervals(sheet3).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;Check out the project here: &lt;A href="https://github.com/akinertu/qliksense.git" target="_blank" rel="noopener"&gt;github.com/akinertu/qliksense&lt;/A&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="5"&gt;Project Steps: &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;0. Connecting Qlik Sense QRS API&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT size="3"&gt;Requirements: &lt;/FONT&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT size="3"&gt;Qlik Sense UserID &lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT size="3"&gt;Qlik Sense User Directory&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT size="3"&gt; Qlik sense Server Adress &lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT size="3"&gt;Certificates: client.pem, client_key.pem (Can be exported from QMC)&lt;/FONT&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;OL dir="auto"&gt;
&lt;LI&gt;&lt;STRONG&gt;Retrive Qlik Sense App properties&lt;/STRONG&gt;
&lt;UL&gt;
&lt;LI&gt;'id', 'name', 'published', 'description', 'stream', 'fileSize', 'lastReloadDate', 'lastReloadTime', 'owner'&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Retrive Qlik Sense Task&amp;nbsp;properties&lt;/STRONG&gt;
&lt;UL&gt;
&lt;LI&gt;'id', 'name', 'enabled', 'nextExecutionDate', 'duration', 'app_id'&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Retrive Qlik Sense Reload Task Trigger&amp;nbsp;properties&lt;/STRONG&gt;
&lt;UL&gt;
&lt;LI&gt;'id', 'schemaFilterDescription', 'incrementDescription', 'enabled', 'reloadTask_id', 'startDate'&lt;/LI&gt;
&lt;LI&gt;'id', 'reloadTask_id', 'enabled', 'preceeding_reloadTask_id'&lt;/LI&gt;
&lt;LI&gt;decoding&amp;nbsp;'schemaFilterDescription' &amp;amp;&amp;nbsp; 'incrementDescription' into trigger period/time info&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Creating Task Schedule&lt;/STRONG&gt;
&lt;UL&gt;
&lt;LI&gt;Merging app, task and trigger into a dataframe&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Filtering Enabled Tasks &amp;amp; Published Apps (Optional)&lt;/STRONG&gt;
&lt;UL&gt;
&lt;LI&gt;To use only enabled task/trigger of published apps&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Getting/Measuring start and finish time of reload tasks&lt;/STRONG&gt;
&lt;UL&gt;
&lt;LI&gt;For tasks with periodic triggers:
&lt;UL&gt;
&lt;LI&gt;start time = trigger time&lt;/LI&gt;
&lt;LI&gt;finish time =&amp;nbsp;start time + reload time duration&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;For tasks with task triggers(dependent)
&lt;UL&gt;
&lt;LI&gt;start time = preceeding reload task finish time&lt;/LI&gt;
&lt;LI&gt;finish time =&amp;nbsp;start time + reload time duration&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Creating a Gantt Chart for reloadtasks&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Analysing task overlaps&lt;/STRONG&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;SPAN&gt;This tool is designed to enhance efficiency and ensure optimal scheduling within Qlik Sense environments. I’m thrilled to contribute to the Qlik community and would love to hear your feedback or suggestions!&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 05 Aug 2024 23:06:30 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Project-Python-QRS-API-Creating-Task-Schedule-Gantt-Chart-and/m-p/2474655#M21052</guid>
      <dc:creator>akinert</dc:creator>
      <dc:date>2024-08-05T23:06:30Z</dc:date>
    </item>
    <item>
      <title>Re: Project: Python, QRS API: Creating Task Schedule, Gantt Chart and Overlapping Task Analysis</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Project-Python-QRS-API-Creating-Task-Schedule-Gantt-Chart-and/m-p/2488939#M21416</link>
      <description>&lt;P&gt;&lt;SPAN&gt;This Python tool sounds super helpful in managing task schedules with Qlik Sense! Visualizing overlapping reloads and identifying when more than six tasks run concurrently is a great way to avoid potential bottlenecks. Basing it on trigger start times and task duration instead of just logs seems like a more innovative way to predict and prevent queuing. &lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 24 Oct 2024 11:08:28 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Project-Python-QRS-API-Creating-Task-Schedule-Gantt-Chart-and/m-p/2488939#M21416</guid>
      <dc:creator>KadenceRowland</dc:creator>
      <dc:date>2024-10-24T11:08:28Z</dc:date>
    </item>
  </channel>
</rss>

