Hi,
Im trying to create a "Master" job that controls a batch process, in my case it would be a very big plus to be able to start a non specific job using a component like tRunJob.. Standard its possible to select a job that needs to be started (hard coded) in the tRunJob component but what i want to do is to decide at Run time by passing this component a parameter (eg the name of the job)
if this is not possible i was wondering if it could be done by creating a new routine that can be used (called) with a tJava component, whats your opinion about this? and have u got some suggestion? code examples? all help is welcome!
Kind regards!
Albert
Hi,
I have the same problem as Albert for Dynamic tRunJob. I have tRunjob master and may others tRunjob slave using the same parameter as the master one with promt. Can you tell me if the problem is resolved for Tos 2.2, I have the 2.2 version
Thanks in advance for your help.
tle
Somewhere in the bug tracker for this, I remember seeing something about using a tSystem to do this?
Is that a possibility? I'm using Java and Unix once the job is deployed.
If we've exported the job scripts - couldn't we just shell out and run that job script?
I agree that a dynamic run ability would make things easier.
I'd love to know how simone ended up with 400 jobs.
Managing that has got to be a hard job.
Hi,
I don't know anything about the actual state concerning this feature. But I think it would be easy to implement.
There is only one downside: Export of the job will be not able to export the called job. So you must export every possible subjob and ensure that it will be in the classpath. I do this too (not calling from a TOS job). But creating a custom component wouldn't be much challenging.
Additional I don't think that this will be much slower than the actual way the job is called.
Bye
Volker
To the experts - Shong, Plegall, et al.
I have a similar need to what Albert specified in this posting that originated in 2007. I do not see a way to dynamically specify the name of the job to run. The accompanying bug is in an open status. Could you clarify if there is another way of accomplishing the result?
Thanks,
Yuan
Hi,
Which version of Talend product are you using?
If TOS(Talend Open Studio), no solution yet.
if TIS (Talend Integration Suite), you can use the commandLine + tSystem to run dynamically jobs.
regards,
Benjamin
Interesting approach. I'll try it out. I need the the jobs (dynamically specified) to all be within the same transaction scope as the parent job. I take it this is not possible if the jobs are started via tSystem components. Ideas??? Thanks.
Not sure if this is the exact issue, but here's what I have done. I created a master job called job_dispatcher. It it, it calls a sub job called job_directory. In job_dispatcher, I choose multi thread option. and pass in a context called input_job_name (which is the job passed from the outside)/ In job_directory, I bring in all jobs that I would want to call at run time. In each job will linked from a tJava (so one tJava per job) with the following code: boolean match = context.input_job_name.equals("job_orphan1"); where context.input_job_name is passed from job_dispatcher and "job_orphan1" is the name of the name of the job. so in another tJava, you will have "job_orphan2" or something like that. Then connect tjava to the job with a Run If condition: match To test, Export job_dispatcher. Run job_dispatcher and pass in job_orphan2 as the name of the job you want to run. It should execute that job only all others will failed at the condition. The multi thread allows to fire the test of the condition all at once.
Hi, has there been any advancement on this feature. i have to load a KPI database with hundreds of KPIs as each KPI has its own job i would like to use this design of Master-Children. could someone post a description on how to use tSystem to achieve this? thanks