Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
shanemichelon
Partner - Creator II
Partner - Creator II

Qliksense Reload Notifications

Hi.

A quick question for the community.  Recently we have had reloads fail and nobody noticed until the app seemed wrong.  The cause was that the reload apps became corrupt (a separate issue).

What I want to know is how do you get the system to notify an admin when a reload fails?

1 Solution

Accepted Solutions
undergrinder
Specialist II
Specialist II

Hi Shane,

You can check that at QMC->Tasks.

I think there isn't solution for system notifying, but you can develop one based on log file.

G.

View solution in original post

4 Replies
undergrinder
Specialist II
Specialist II

Hi Shane,

You can check that at QMC->Tasks.

I think there isn't solution for system notifying, but you can develop one based on log file.

G.

shanemichelon
Partner - Creator II
Partner - Creator II
Author

Thankyou undergrinder.  Because notifications are a no-brainer in this kind of system, I assumed that I was simply missing the information on how to set it up.

Qlik, please take note and add this obvious omission to an upcoming release.  Even SQL Server Reporting can send notifications in the event of a task failure.

undergrinder
Specialist II
Specialist II

You are right, I think this is a missing functionality too.

Not applicable

Hi Shane

Well, the approach of checking the QMC was already mentioned. And - a message, when failure is the result of a reload task, would certainly be helpful. However - depending on how many data you're touching within an app you won't know exactly where a task has failed. Unless, of course, you use for each "data job" it's own app.

To solve this and also to overcome the missing messagerie on failed reload tasks, I use a simple meta data generator for each script worksheet within an app.

Put at the beginning of each script worksheet something like that:

LET vReloadStartTime = Now();
LET vTableName = '##TABLENAME##';

..... do something with your data, e.g. load data from your source and store this afterwards into a QVD ....

Now let's wrap up for the script worksheet


LET vNoOfRows = NoOfRows('$(vTableName)');
LET vReloadEndTime = Now();
LET vReloadDuration = interval('$(vReloadEndTime)' - '$(vReloadStartTime)', 'hh:mm:ss');

LoadStatistics:
LOAD * INLINE [
Tablename, NumberOfRows, ReloadStartTime, ReloadEndTime, ReloadDuration
$(vTableName), $(vNoOfRows), $(vReloadStartTime), $(vReloadEndTime), $(vReloadDuration)
];

Then -

Make sure that you add one last script worksheet within all your apps with the following

//Write qvd files
LET vNoOfTables = NoOfTables();

FOR i = 0 to $(vNoOfTables) - 1
LET vTableName = TableName($(i));

LET vNoOfRows = NoOfRows(TableName($(i)));
LET vOutfile = '$(vTableName).qvd';
STORE [$(vTableName)] INTO [..\02_Data\$(vOutfile)] (qvd);
NEXT;

// drop tables
FOR i = 0 to $(vNoOfTables)
LET vTableName = TableName($(vNoOfTables)-$(i));

IF '$(vTableName)' <> 'LoadStatistics' THEN
DROP TABLES $(vTableName);
ENDIF

NEXT;

Amongst storing all the tables within your app this also stores a nice piece of Load Statistics into an "outfile"/LoadStatistics.qvd. The content of this outfile you can then use for a special app to monitor your data loads (the reloading of this app should always be triggered as the last one when you have daily load tasks). You can even use this kind of meta data within your apps to show the user the status of the loaded data in their apps.

Best regards, Chris