Hi
I have a datastage Sequence(Seq1) that I invoke from a job (jobA) using job control in job properties.
JobA is enabled for web services and runs in multi instance mode. Whenever this job is invoked using a web service, the output response is not being sent back to the calling service until the sequence Seq1 is completed.
I need a response sent back to the calling web service that the job has been invoked so that the web services does not have to wait for the sequence to complete.
Secondly, I donot want the sequence to be run simultaneously while it is still executing.
How do I accomplish these tasks?
ISD Output without waiting for job to finish
Moderators: chulett, rschirm, roy
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact:
More detail is needed.
What kind of an ISD Job is this? Is it an enabled Job that has ONLY an ISDOutput Stage?
How are you calling it? Are you calling it from a web based SOAP client? ...or from inside of another DataStage Job?
..etc.
Ernie
What kind of an ISD Job is this? Is it an enabled Job that has ONLY an ISDOutput Stage?
How are you calling it? Are you calling it from a web based SOAP client? ...or from inside of another DataStage Job?
..etc.
Ernie
Ernie Ostic
blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
I am calling the main Sequence using a dummy job (job A) that is enabled for information services. The jobs in the sequence are not enabled for webservice calls.
JobA > Sequence1 with 10 underlying jobs.
Job A is being invoked using WSDL by IBM Business Process Manager. Job A does not have any stages in it. It calls the Sequence using Job Control in the job properties.
I want Job A to send a response back to the calling application as soon as it receives a call without waiting for the sequence to finish.
JobA > Sequence1 with 10 underlying jobs.
Job A is being invoked using WSDL by IBM Business Process Manager. Job A does not have any stages in it. It calls the Sequence using Job Control in the job properties.
I want Job A to send a response back to the calling application as soon as it receives a call without waiting for the sequence to finish.
how are you calling the Job? Are you using DSUtilityRunJob? If so, create your own edition of that routine (grab the source code from it so you can hack it). Look at it carefully...get rid of the "wait" that is at the end of it. You will have to learn a bit about how job control calls work within UV/Basic, but it is not hard, and it is documented...
If that is not how you are running the Job from the ISD Job, please provide more detail. The most common scenario is to have an ISD Job, with ISDInput to Transformer to ISDOutput....in that transformer, kick off "other" jobs using DSUtilityRunJob.
Ernie
If that is not how you are running the Job from the ISD Job, please provide more detail. The most common scenario is to have an ISD Job, with ISDInput to Transformer to ISDOutput....in that transformer, kick off "other" jobs using DSUtilityRunJob.
Ernie
Ernie Ostic
blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
That is not what I asked.....
...Job Sequences cannot be deployed as Services....so if you are calling an ISD enabled Job via SOAP, how is "that" Job calling your Job Sequence?
...that's one question.
Next question...the Job that you are calling via SOAP....does it have an ISDInput and an ISDOutput Stage, or does it only have an ISDOutput Stage?
Ernie
...Job Sequences cannot be deployed as Services....so if you are calling an ISD enabled Job via SOAP, how is "that" Job calling your Job Sequence?
...that's one question.
Next question...the Job that you are calling via SOAP....does it have an ISDInput and an ISDOutput Stage, or does it only have an ISDOutput Stage?
Ernie
Ernie Ostic
blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
I see now...you have it in the thread above. You are using Job Control in the Job Properties...
Ok....well...that "generated" Job Control code may be using the "wait" by default.......you will need to disable that to have it not wait...the individual Job Control commands are capable....I can't remember if the "pick list" code that you can use generates the wait or not. You can confirm that by looking carefully at the code, or someone else on the forum may know off the top of their head. I won't have time to review that behavior right now.
Ernie
Ok....well...that "generated" Job Control code may be using the "wait" by default.......you will need to disable that to have it not wait...the individual Job Control commands are capable....I can't remember if the "pick list" code that you can use generates the wait or not. You can confirm that by looking carefully at the code, or someone else on the forum may know off the top of their head. I won't have time to review that behavior right now.
Ernie
Ernie Ostic
blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>