Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

How to Use tPrejob and tPostJob

tPrejob and tPostjob are great when you need execute given tasks, before and after your job. Unlike other components, these components do not process data and cannot be configured. They always execute, even if the main job fails, making them great for tasks that need to be completed even if the job is not successful.

 

Some scenarios in which you might need to use tPrejob include:

  • loading context information
  • logging the start of the job
  • ensuring that a file exists
  • creating a database connection

On the other hand, you might use tPostjob to:

  • delete any temporary files you created within the job
  • log the end of a job
  • close any connections that you may have created

These components are added to jobs the same way any other components are, simply click and drag them from the palette or search for them by clicking on the canvas. All you need to do after that is connect them to your subjob using an “OnComponentOk” connection. Bellow, is an example of tPrejob and tPostjob being utilized.

 

0683p000009Lsn7.png

Labels (1)
  • v6.x

13 Replies
Anonymous
Not applicable
Author

Hello,

Thanks for sharing it with us.

Best regards

Sabrina

Anonymous
Not applicable
Author

Thanks for the post/information.

Just to be absolutely clear, the screen shot shown is BEFORE the OnComponentOk connections to the subjob have been added? The subjob being the employee to tMap to tFileOutputDelimited?

Or is the screen shot the "final" product?

 

ThWabi
Creator II
Creator II

Hello CygnusX1,

 

the screenshot shows the final job design. There is no connection from PreJob to the main subjob or from there to PostJob. The "employee" component has a green background, that means it is the start component of the main subjob (executed after PreJob and before PostJob).

 

Best regards,

 

Thomas

 

Anonymous
Not applicable
Author

A description of the error. This variable is cleared upon entering a step, and is set when an error occurs during step operation. This variable can only be used in the next step condition. The ErrorDescription is also saved in the C.sys.LastErrorDescription and this value is not cleared. For more information about this variable and embarkdaily embarkup

Anonymous
Not applicable
Author

wow! looks great, thank you for sharing!
I've found just this http://umashanthan.blogspot.com/2016/01/when-or-how-to-use-tprejob-and-tpostjob.htmllink and it was cool to see one more example of this. for me, as a freelance writer working on different educational projects that's really important

Anonymous
Not applicable
Author

wow! looks great, thank you for sharing!
I've found just this http://umashanthan.blogspot.com/2016/01/when-or-how-to-use-tprejob-and-tpostjob.htmllink and it was cool to see one more example of this. for me, as a freelance writer working on different educational projects that's really important

Anonymous
Not applicable
Author

wow! looks great, thank you for sharing!
I've found just this http://umashanthan.blogspot.com/2016/01/when-or-how-to-use-tprejob-and-tpostjob.html and it was cool to see one more example of this. for me, as a freelance writer working on different educational projects that's really important

michad
Contributor II
Contributor II

If you want to use these components, I think it is necessary to check the state of the prejob before starting main. And this is especially necessary in the case of a base extraction in the middle of a job that lasts one hour. 0683p000009MACn.png

 

The control can be simple, something like this for example:

 

0683p000009M3IE.png

 

lennelei
Creator III
Creator III

Hi,
Great post, however, I'm not a huge fan of using tPreJob for DB connection: if the connection fails, the job will continue unnecessarily (worse, it might even start to do something that will have to be reverted later).
tPreJob should really be used with care perfectly knowing that it won't stop the job if it fails!
The tPostJob on the other hand is really usefull.
Regards.