DS Job Sequencing
Updated: 21 May 2010 | 5 comments
Hi,
I'm wondering, does anyone have any experience in Job sequencing? I'm fully aware of the error handling capabilities in a task that allows you to direct the flow of code execution based on success or failure. I'm looking to find out if there are more advanced ways to sequence jobs? Specifically, I'm looking to create a tree of jobs that might go a little like
std Server build
--> + IIS
--> + SQL
--> + FS
std Desktop build
--> + dev
--> + mgmt
...etc
Thanks,
jasbro
Discussion Filed Under:
Comments
RE: Job Sequencing
I specifically number my jobs in each folder (mainly it helps me to remember which order they go in as well when I am testing). The jobs should run in order. Another note, don't initiate jobs that have to run in any specific order from DSWEB. I've found that it randomly takes the jobs and runs them. The DS Console seems to take them in order one at a time.
Brian Hawver
Systems Engineer
Yaskawa America, Inc.
Connect Etiquette: "Mark as Solution" those posts which resolve your problem, and give a thumbs up to useful comments, articles and downloads.
I believe they will only run
We configure all the Tasks in a single job with conditionals. Thats the only consistent way we have found to have all Tasks running in a particular order both in the 32 bit console and the web console.
Should work
To my knowledge, it has worked every time from the DS Console, the only area I've not seen it work is from the DSWEB console.
Timinator, out of curiosity, how many clients/jobs do you manage this way. It seems like it could be an administrative nightmare! But that's just me, I'm a visual person and like to see what gets scheduled by looking at a folder of jobs. I use conditionals mainly when I am trying distinguish between different hardware sets (i.e. if it is a Dell Latitude E6400 it should kick of this type of install of the wireless software, as opposed to if it's a desktop it shouldn't install the wireless software).
Definitely not saying what you are doing is wrong (if it works for you, then it's right for your environment and that's great!).
Brian Hawver
Systems Engineer
Yaskawa America, Inc.
Connect Etiquette: "Mark as Solution" those posts which resolve your problem, and give a thumbs up to useful comments, articles and downloads.
bhawver, we have a bit north
bhawver, we have a bit north of 24,000 clients. 10 DS and 3 NS forwarding info to one additional reporting NS.
Following up
Thanks for the suggestions. Just following up here. I decided on going with a two fold approach. First I create following job structure:
Job Structure
Base Build
--01. Job
--02. Job
--xx. etc
--99. Conditional Sequence Job
IIS Build
--00. Conditional Catch Job
--01. Job
--xx. etc
SQL Build
--00. Conditional Catch Job
--01. Job
--xx. etc
...Then I create the following computer group structure:
Computer Group Structure
SQL Servers
IIS Servers
etc
...In Job #99, I use the following conditions:
Field: User Defined Token
Operation: is Exactly
Value: the name of the computer group folder (i.e. SQL Servers, IIS Servers, etc)
Token: %#*"SELECT g.name FROM dbo.computer AS c JOIN dbo.computer_group AS g on c.group_id=g.group_id WHERE c.computer_id='%ID%'"%
...Still in Job #99, I put add a run script task to each condition that has the following line of code:
REM Placer task to sequence jobs
...this will always exit with an Error code=0 which I then chain the job to the appropriate 00. Catch Sequence Job.
~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Reflection on this Architecture
Benefits:
Cons:
There might be more I'm not considering, but overall it works. I think it's a shame that DS doesn't naturally have these capabilities. I'm still open to suggestions and comments.
Thanks,
jasbro
Would you like to reply?
Login or Register to post your comment.