<?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 Re: Qlik Cloud Reload Endpoint Failed with Too Many Requests in Integration, Extension &amp; APIs</title>
    <link>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Cloud-Reload-Endpoint-Failed-with-Too-Many-Requests/m-p/2477801#M21149</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/224852"&gt;@rolmontero&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;I have created a procedure that handles multiple attempts to reload a Qlik Sense Application.&lt;/P&gt;
&lt;PRE&gt;SET vSleepTimeInMilliseconds = 6000; //Dev Note: to avoid HTTP protocol error 429 (Too Many Requests)
SET vMaxNumberOfRetries = 2; // The maximum number of times this Load Script will try to trigger each App Reload
SET vToTimeZone = 'Pacific Time (US &amp;amp; Canada)'; // The Time Zone of the Reaload Dates. Used for Reload Time comparison

// Recommendation: try to set the variables in a way that vSleepTimeInMilliseconds * vMaxNumberOfRetries = 30000

Sub ReloadApp(vAppId, vAppName)

    /*
        Commands a Qlik Application to start a full reload process
    */

    TRACE Trigerring '$(vAppName)' reload process...;

    SET ErrorMode = 0; // Ignore errors generated at this point

    SET vRestAPI = 'https://yourtenant.us.qlikcloud.com/api/v1/reloads';
    SET vRequestBody = '{""appId"":""$(vAppId)"",""partial"":false}';

    SET vAttemptNo = 0;
    SET vConnectionScriptError = 0;
    SET vLoadScriptError = 0;
    
    Do

        LET vAttemptNo = $(vAttemptNo) + 1;

        TRACE Attempt No. $(vAttemptNo);

        // Increase the waiting time after every attempt
        LET vWaitingTimeInMilliseconds = $(vSleepTimeInMilliseconds) * $(vAttemptNo);
        Sleep $(vWaitingTimeInMilliseconds);

        LIB CONNECT TO 'YourQlikReloadRestAPI';        
        If ScriptError &amp;lt;&amp;gt; 0 Then
            SET vConnectionScriptError = 1;
        Else
            SET vConnectionScriptError = 0;
        End if

        TempReloadResult:
        SQL SELECT 
            "id"
        FROM 
            JSON (wrap on) "root"
            WITH CONNECTION (
                BODY "$(vRequestBody)"
            )
        ;
        If ScriptError &amp;lt;&amp;gt; 0 Then
            SET vLoadScriptError = 1;
        Else
            SET vLoadScriptError = 0;
        End if


        DisConnect;

        If Not IsNull(TableNumber('TempReloadResult')) Then
            DROP TABLE [TempReloadResult];
        End If

    Loop While (($(vConnectionScriptError) = 1 or $(vLoadScriptError) = 1) and ($(vAttemptNo) &amp;lt;= $(vMaxNumberOfRetries)));

    If ($(vAttemptNo) &amp;lt;= $(vMaxNumberOfRetries)) Then

        TRACE '$(vAppName)' reload process triggered;

    Else

        TRACE Failed to trigger '$(vAppName)' reload process;

    End If


    SET ErrorMode = 1; // Set error mode to its default state = 1
   
End Sub&lt;/PRE&gt;</description>
    <pubDate>Fri, 23 Aug 2024 17:25:52 GMT</pubDate>
    <dc:creator>marksouzacosta</dc:creator>
    <dc:date>2024-08-23T17:25:52Z</dc:date>
    <item>
      <title>Qlik Cloud Reload Endpoint Failed with Too Many Requests</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Cloud-Reload-Endpoint-Failed-with-Too-Many-Requests/m-p/2477780#M21148</link>
      <description>&lt;P&gt;Hello everyone,&lt;/P&gt;
&lt;P&gt;I am writing to you mainly because I would like to know your opinion regarding an issue I am having with external reloads using Qlik&amp;nbsp;&lt;SPAN&gt;/v1/reloads endpoint. I have lots chained reloads and some parallels ones too. Due to this quantity of reloads, I get the error too many requests.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;Additionally, I have read the documentation, and it states that the reload endpoint is tier 1 and therefore allows 10 requests per minute. Basically, reload 11 that triggers this endpoint with failed the error too many requests.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Based on your experience and opinions, w&lt;/SPAN&gt;&lt;SPAN&gt;hat would be the best approach to deal with sort of problem? Any recommendations and or suggestions is more than welcomed!&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Thanks a bunch!&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 23 Aug 2024 14:59:58 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Cloud-Reload-Endpoint-Failed-with-Too-Many-Requests/m-p/2477780#M21148</guid>
      <dc:creator>rolmontero</dc:creator>
      <dc:date>2024-08-23T14:59:58Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Cloud Reload Endpoint Failed with Too Many Requests</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Cloud-Reload-Endpoint-Failed-with-Too-Many-Requests/m-p/2477801#M21149</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/224852"&gt;@rolmontero&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;I have created a procedure that handles multiple attempts to reload a Qlik Sense Application.&lt;/P&gt;
&lt;PRE&gt;SET vSleepTimeInMilliseconds = 6000; //Dev Note: to avoid HTTP protocol error 429 (Too Many Requests)
SET vMaxNumberOfRetries = 2; // The maximum number of times this Load Script will try to trigger each App Reload
SET vToTimeZone = 'Pacific Time (US &amp;amp; Canada)'; // The Time Zone of the Reaload Dates. Used for Reload Time comparison

// Recommendation: try to set the variables in a way that vSleepTimeInMilliseconds * vMaxNumberOfRetries = 30000

Sub ReloadApp(vAppId, vAppName)

    /*
        Commands a Qlik Application to start a full reload process
    */

    TRACE Trigerring '$(vAppName)' reload process...;

    SET ErrorMode = 0; // Ignore errors generated at this point

    SET vRestAPI = 'https://yourtenant.us.qlikcloud.com/api/v1/reloads';
    SET vRequestBody = '{""appId"":""$(vAppId)"",""partial"":false}';

    SET vAttemptNo = 0;
    SET vConnectionScriptError = 0;
    SET vLoadScriptError = 0;
    
    Do

        LET vAttemptNo = $(vAttemptNo) + 1;

        TRACE Attempt No. $(vAttemptNo);

        // Increase the waiting time after every attempt
        LET vWaitingTimeInMilliseconds = $(vSleepTimeInMilliseconds) * $(vAttemptNo);
        Sleep $(vWaitingTimeInMilliseconds);

        LIB CONNECT TO 'YourQlikReloadRestAPI';        
        If ScriptError &amp;lt;&amp;gt; 0 Then
            SET vConnectionScriptError = 1;
        Else
            SET vConnectionScriptError = 0;
        End if

        TempReloadResult:
        SQL SELECT 
            "id"
        FROM 
            JSON (wrap on) "root"
            WITH CONNECTION (
                BODY "$(vRequestBody)"
            )
        ;
        If ScriptError &amp;lt;&amp;gt; 0 Then
            SET vLoadScriptError = 1;
        Else
            SET vLoadScriptError = 0;
        End if


        DisConnect;

        If Not IsNull(TableNumber('TempReloadResult')) Then
            DROP TABLE [TempReloadResult];
        End If

    Loop While (($(vConnectionScriptError) = 1 or $(vLoadScriptError) = 1) and ($(vAttemptNo) &amp;lt;= $(vMaxNumberOfRetries)));

    If ($(vAttemptNo) &amp;lt;= $(vMaxNumberOfRetries)) Then

        TRACE '$(vAppName)' reload process triggered;

    Else

        TRACE Failed to trigger '$(vAppName)' reload process;

    End If


    SET ErrorMode = 1; // Set error mode to its default state = 1
   
End Sub&lt;/PRE&gt;</description>
      <pubDate>Fri, 23 Aug 2024 17:25:52 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Cloud-Reload-Endpoint-Failed-with-Too-Many-Requests/m-p/2477801#M21149</guid>
      <dc:creator>marksouzacosta</dc:creator>
      <dc:date>2024-08-23T17:25:52Z</dc:date>
    </item>
  </channel>
</rss>

