If I change something in a child job, e.g. adding some extra 'println', do I need to redeploy all parentjob calling this child (TRunJob) to see this change?
This is what I see:
Is this the normal behaviour?
If so, what's the use of selecting "Lastest" as version of child in TRunJob?
I had the assumption that TRunJob was just a call to another job, this compared to a joblet where the code is integrated in each job.
I have a generic child job INIT_JOB that receives the table_name as a variable from the parent and the output will be the next ETL_START_DATE used in the parent.
A job may has multiple versions, tRunjob calls the latest version of child job by default.
They are different tasks scheduled on Job Conductor and the deployment script file are not shared on Job server, so you need to re-deploy the parent job if the child job is changed.
Thanks for the info. Just to be sure that I understand correctly
Now I do some change in job X so it becomes version 0.2 and will regenerated/deployed on TAC
So if I understand correctly, I need to redeploy job A, B, C in TAC? What does "latest version" in child means if I have to repdeploy the parent anyway?
I am only working with Talend since 6 months, but it looks like that I a change+redeployment in a common child job is not automatically in place without redeploying all "parents" jobs.
There is no way to achieve something similar? If not, then I better switch to using a joblet for this particular case.
Unfortunately when you are using child jobs they get compiled and packaged as Jars with the parent job. If you right click on a job and select "Build Job" you can take a look at this. The job will be packaged as a zip. Inside the zip you can see how it works. This enables you to keep your compiled jobs isolated from future changes to shared code, BUT means that when you change a shared component that you wish to carry through to everything, you need to recompile your code.
There is functionality in the TAC to mitigate for this (look at "Regenerate job on change"), but I'm afraid you are stuck with recompiling.