contolling job waiting forever

Archive of postings to DataStageUsers@Oliver.com. This forum intended only as a reference and cannot be posted to.

Moderators: chulett, rschirm

Locked
admin
Posts: 8720
Joined: Sun Jan 12, 2003 11:26 pm

Post by admin »

I have VERY OCCASIONALLY seen problems like this where a sub job will finish but the calling job does not see it and keeps on waiting.

Unfortunately, I have not had the opportunity to investigate further.

I would strongly recommend logging this with Informix. Say hi to Jonathan and Anthony for me when you log the call. If you get a solution, Im all ears.

-----Original Message-----
From: Xie, Hengli [SMTP:XieH@thomascook.com.au]
Sent: Wednesday, October 04, 2000 2:36 PM
To: informix-datastage@oliver.com
Subject: contolling job waiting forever

Hi,

In the controlling job, the script is as below( actually this is the simplest way to call sub-job) :

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Setup saleitem1, run it, wait for it to finish, and test for success
hJob12 = DSAttachJob("saleitem1", DSJ.ERRFATAL)
ErrCode = DSRunJob(hJob12, DSJ.RUNNORMAL)
ErrCode = DSWaitForJob(hJob12)
Status = DSGetJobInfo(hJob12, DSJ.JOBSTATUS)
If Status = DSJS.RUNFAILED Then
* Fatal Error - No Return
Call DSLogFatal("Job Failed: saleitem1", "JobControl")
End



* Setup saleitem3, run it, wait for it to finish, and test for success
hJob13 = DSAttachJob("saleitem3", DSJ.ERRFATAL)
ErrCode = DSRunJob(hJob13, DSJ.RUNNORMAL)
ErrCode = DSWaitForJob(hJob13)
Status = DSGetJobInfo(hJob13, DSJ.JOBSTATUS)
If Status = DSJS.RUNFAILED Then
* Fatal Error - No Return
Call DSLogFatal("Job Failed: saleitem3", "JobControl")
End



* Setup saleitem4, run it, wait for it to finish, and test for success
hJob14 = DSAttachJob("saleitem4", DSJ.ERRFATAL)
ErrCode = DSRunJob(hJob14, DSJ.RUNNORMAL)
ErrCode = DSWaitForJob(hJob14)
Status = DSGetJobInfo(hJob14, DSJ.JOBSTATUS)
If Status = DSJS.RUNFAILED Then
* Fatal Error - No Return
Call DSLogFatal("Job Failed: saleitem4", "JobControl")
End



* Setup saleitem6, run it, wait for it to finish, and test for success
hJob15 = DSAttachJob("saleitem6", DSJ.ERRFATAL)
ErrCode = DSRunJob(hJob15, DSJ.RUNNORMAL)
ErrCode = DSWaitForJob(hJob15)
Status = DSGetJobInfo(hJob15, DSJ.JOBSTATUS)
If Status = DSJS.RUNFAILED Then
* Fatal Error - No Return
Call DSLogFatal("Job Failed: saleitem6", "JobControl")
End


* Setup saleitem5, run it, wait for it to finish, and test for success
hJob16 = DSAttachJob("saleitem5", DSJ.ERRFATAL)
ErrCode = DSRunJob(hJob16, DSJ.RUNNORMAL)
ErrCode = DSWaitForJob(hJob16)
Status = DSGetJobInfo(hJob16, DSJ.JOBSTATUS)
If Status = DSJS.RUNFAILED Then
* Fatal Error - No Return
Call DSLogFatal("Job Failed: saleitem5", "JobControl")
End


* Setup saleitem12, run it, wait for it to finish, and test for success
hJob17 = DSAttachJob("saleitem12", DSJ.ERRFATAL)
ErrCode = DSRunJob(hJob17, DSJ.RUNNORMAL)
ErrCode = DSWaitForJob(hJob17)
Status = DSGetJobInfo(hJob17, DSJ.JOBSTATUS)
If Status = DSJS.RUNFAILED Then
* Fatal Error - No Return
Call DSLogFatal("Job Failed: saleitem12", "JobControl")
End

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~

Sometimes, the job saleitem3 finished, but the controlling job failed to capture the status of finished, just still waiting for saleitem3 job, sometimes waiting for another job which is actually finished already, sometimes the job can go through all the sub-jobs without hanging.Every sub-job is also very simple, just load data from ODBC stage and transform the data to ODBC stage. Each sub job requres 2 or 3 hours to finish.this problem annoy me for a few weeks.

Any suggestions are appreciated.

Regards,
Hengli

Thomas Cook I.T.


**********************************************************************
NOTICE: This message contains information intended only for the use of addressee named above. It may also be confidential and/or privileged. If you are not the intended recipient of this message you are hereby notified that you must not disseminate, copy or take any action in reliance on it. Any views expressed in this communication are those of the individual sender, except where the sender specifically states
them to be the views of Thomas Cook Ltd. If you have received this message in error please notify postmaster@thomascook.com.au
**********************************************************************


*************************************************************************
This e-mail and any files transmitted with it may be confidential and are intended solely for the use of the individual or entity to whom they are addressed. If you have received this e-mail in
error, please notify the sender by return e-mail, and delete this e-mail from your in-box. Do not copy it to anybody else

*************************************************************************
admin
Posts: 8720
Joined: Sun Jan 12, 2003 11:26 pm

contolling job waiting forever

Post by admin »

Hi,

In the controlling job, the script is as below( actually this is the simplest way to call sub-job) :

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Setup saleitem1, run it, wait for it to finish, and test for success
hJob12 = DSAttachJob("saleitem1", DSJ.ERRFATAL)
ErrCode = DSRunJob(hJob12, DSJ.RUNNORMAL)
ErrCode = DSWaitForJob(hJob12)
Status = DSGetJobInfo(hJob12, DSJ.JOBSTATUS)
If Status = DSJS.RUNFAILED Then
* Fatal Error - No Return
Call DSLogFatal("Job Failed: saleitem1", "JobControl")
End



* Setup saleitem3, run it, wait for it to finish, and test for success
hJob13 = DSAttachJob("saleitem3", DSJ.ERRFATAL)
ErrCode = DSRunJob(hJob13, DSJ.RUNNORMAL)
ErrCode = DSWaitForJob(hJob13)
Status = DSGetJobInfo(hJob13, DSJ.JOBSTATUS)
If Status = DSJS.RUNFAILED Then
* Fatal Error - No Return
Call DSLogFatal("Job Failed: saleitem3", "JobControl")
End



* Setup saleitem4, run it, wait for it to finish, and test for success
hJob14 = DSAttachJob("saleitem4", DSJ.ERRFATAL)
ErrCode = DSRunJob(hJob14, DSJ.RUNNORMAL)
ErrCode = DSWaitForJob(hJob14)
Status = DSGetJobInfo(hJob14, DSJ.JOBSTATUS)
If Status = DSJS.RUNFAILED Then
* Fatal Error - No Return
Call DSLogFatal("Job Failed: saleitem4", "JobControl")
End



* Setup saleitem6, run it, wait for it to finish, and test for success
hJob15 = DSAttachJob("saleitem6", DSJ.ERRFATAL)
ErrCode = DSRunJob(hJob15, DSJ.RUNNORMAL)
ErrCode = DSWaitForJob(hJob15)
Status = DSGetJobInfo(hJob15, DSJ.JOBSTATUS)
If Status = DSJS.RUNFAILED Then
* Fatal Error - No Return
Call DSLogFatal("Job Failed: saleitem6", "JobControl")
End


* Setup saleitem5, run it, wait for it to finish, and test for success
hJob16 = DSAttachJob("saleitem5", DSJ.ERRFATAL)
ErrCode = DSRunJob(hJob16, DSJ.RUNNORMAL)
ErrCode = DSWaitForJob(hJob16)
Status = DSGetJobInfo(hJob16, DSJ.JOBSTATUS)
If Status = DSJS.RUNFAILED Then
* Fatal Error - No Return
Call DSLogFatal("Job Failed: saleitem5", "JobControl")
End


* Setup saleitem12, run it, wait for it to finish, and test for success
hJob17 = DSAttachJob("saleitem12", DSJ.ERRFATAL)
ErrCode = DSRunJob(hJob17, DSJ.RUNNORMAL)
ErrCode = DSWaitForJob(hJob17)
Status = DSGetJobInfo(hJob17, DSJ.JOBSTATUS)
If Status = DSJS.RUNFAILED Then
* Fatal Error - No Return
Call DSLogFatal("Job Failed: saleitem12", "JobControl")
End

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~

Sometimes, the job saleitem3 finished, but the controlling job failed to capture the status of finished, just still waiting for saleitem3 job, sometimes waiting for another job which is actually finished already, sometimes the job can go through all the sub-jobs without hanging.Every sub-job is also very simple, just load data from ODBC stage and transform the data to ODBC stage. Each sub job requres 2 or 3 hours to finish.this problem annoy me for a few weeks.

Any suggestions are appreciated.

Regards,
Hengli

Thomas Cook I.T.


**********************************************************************
NOTICE: This message contains information intended only for the use of addressee named above. It may also be confidential and/or privileged. If you are not the intended recipient of this message you are hereby notified that you must not disseminate, copy or take any action in reliance on it. Any views expressed in this communication are those of the individual sender, except where the sender specifically states
them to be the views of Thomas Cook Ltd. If you have received this message in error please notify postmaster@thomascook.com.au
**********************************************************************
admin
Posts: 8720
Joined: Sun Jan 12, 2003 11:26 pm

Post by admin »

Shhhhh......

Jonathan and Anthony are now calling themselves Bruce and Bruce. They said it was to stop confusing everyone. After all, they really look alike 8^)

Cheers,

Ray D

p.s. no flame mail Anthony
----- Original Message -----
From: "David Barham"
To:
Sent: Wednesday, October 04, 2000 2:16 PM
Subject: RE: contolling job waiting forever


> I have VERY OCCASIONALLY seen problems like this where a sub job will
finish
> but the calling job does not see it and keeps on waiting.
>
> Unfortunately, I have not had the opportunity to investigate further.
>
> I would strongly recommend logging this with Informix. Say hi to
> Jonathan and Anthony for me when you log the call. If you get a
> solution, Im all ears.
>
> -----Original Message-----
> From: Xie, Hengli [SMTP:XieH@thomascook.com.au]
> Sent: Wednesday, October 04, 2000 2:36 PM
> To: informix-datastage@oliver.com
> Subject: contolling job waiting forever
>
> Hi,
>
> In the controlling job, the script is as below( actually this is the
> simplest way to call sub-job) :
>
>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> * Setup saleitem1, run it, wait for it to finish, and test for success
> hJob12 = DSAttachJob("saleitem1", DSJ.ERRFATAL)
> ErrCode = DSRunJob(hJob12, DSJ.RUNNORMAL)
> ErrCode = DSWaitForJob(hJob12)
> Status = DSGetJobInfo(hJob12, DSJ.JOBSTATUS)
> If Status = DSJS.RUNFAILED Then
> * Fatal Error - No Return
> Call DSLogFatal("Job Failed: saleitem1", "JobControl")
> End
>
>
>
> * Setup saleitem3, run it, wait for it to finish, and test for success
> hJob13 = DSAttachJob("saleitem3", DSJ.ERRFATAL)
> ErrCode = DSRunJob(hJob13, DSJ.RUNNORMAL)
> ErrCode = DSWaitForJob(hJob13)
> Status = DSGetJobInfo(hJob13, DSJ.JOBSTATUS)
> If Status = DSJS.RUNFAILED Then
> * Fatal Error - No Return
> Call DSLogFatal("Job Failed: saleitem3", "JobControl")
> End
>
>
>
> * Setup saleitem4, run it, wait for it to finish, and test for success
> hJob14 = DSAttachJob("saleitem4", DSJ.ERRFATAL)
> ErrCode = DSRunJob(hJob14, DSJ.RUNNORMAL)
> ErrCode = DSWaitForJob(hJob14)
> Status = DSGetJobInfo(hJob14, DSJ.JOBSTATUS)
> If Status = DSJS.RUNFAILED Then
> * Fatal Error - No Return
> Call DSLogFatal("Job Failed: saleitem4", "JobControl")
> End
>
>
>
> * Setup saleitem6, run it, wait for it to finish, and test for success
> hJob15 = DSAttachJob("saleitem6", DSJ.ERRFATAL)
> ErrCode = DSRunJob(hJob15, DSJ.RUNNORMAL)
> ErrCode = DSWaitForJob(hJob15)
> Status = DSGetJobInfo(hJob15, DSJ.JOBSTATUS)
> If Status = DSJS.RUNFAILED Then
> * Fatal Error - No Return
> Call DSLogFatal("Job Failed: saleitem6", "JobControl")
> End
>
>
> * Setup saleitem5, run it, wait for it to finish, and test for success
> hJob16 = DSAttachJob("saleitem5", DSJ.ERRFATAL)
> ErrCode = DSRunJob(hJob16, DSJ.RUNNORMAL)
> ErrCode = DSWaitForJob(hJob16)
> Status = DSGetJobInfo(hJob16, DSJ.JOBSTATUS)
> If Status = DSJS.RUNFAILED Then
> * Fatal Error - No Return
> Call DSLogFatal("Job Failed: saleitem5", "JobControl")
> End
>
>
> * Setup saleitem12, run it, wait for it to finish, and test for success
> hJob17 = DSAttachJob("saleitem12", DSJ.ERRFATAL)
> ErrCode = DSRunJob(hJob17, DSJ.RUNNORMAL)
> ErrCode = DSWaitForJob(hJob17)
> Status = DSGetJobInfo(hJob17, DSJ.JOBSTATUS)
> If Status = DSJS.RUNFAILED Then
> * Fatal Error - No Return
> Call DSLogFatal("Job Failed: saleitem12", "JobControl")
> End
>
>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ~~~~~~~~~~~~~~
>
> Sometimes, the job saleitem3 finished, but the controlling job failed
> to capture the status of finished, just still waiting for saleitem3
> job, sometimes waiting for another job which is actually finished
> already, sometimes the job can go through all the sub-jobs without
> hanging.Every sub-job is also very simple, just load data from ODBC
> stage and transform the data to ODBC stage. Each sub job requres 2 or
> 3 hours to finish.this problem annoy me for a few weeks.
>
> Any suggestions are appreciated.
>
> Regards,
> Hengli
>
> Thomas Cook I.T.
>
>
> **********************************************************************
> NOTICE: This message contains information intended only for the use of
> addressee named above. It may also be confidential and/or privileged.
> If you are not the intended recipient of this message you are hereby
> notified that you must not disseminate, copy or take any action in
> reliance on it. Any views expressed in this communication are those of
> the individual sender, except where the sender specifically states
> them to be the views of Thomas Cook Ltd. If you have received this
> message in error please notify postmaster@thomascook.com.au
> **********************************************************************
>
>
> **********************************************************************
> ***
> This e-mail and any files transmitted with it may be confidential
> and are intended solely for the use of the individual or entity to
> whom they are addressed. If you have received this e-mail in
> error, please notify the sender by return e-mail, and delete this
> e-mail from your in-box. Do not copy it to anybody else
>
> **********************************************************************
> ***
>
Locked