Jump to content

Task Sequencing - but some tasks can only start after a few days


MarcoJHB

Recommended Posts

Hi all,

This one has been confusing me for a few days now. I'm busy building a large 200+ task process, using Task Sequence. For 95% of the tasks, task predecessors are used, and it works fine. However, some tasks can only start after x days. For example, task 5 requires task 4 to be complete & can only start after 4 days.

I've tried looking for a place to put this. Things I've tried:

1. Branch type in Task info, where the condition is: "TimeNow > ModelEntity.TimeCreated +  ProcessingTasks.Delay_Days"  that checks if the current time is more than the initial start of the task plus the time that it needs to wait. This works, but it just skips these altogether. I'd like the resource to check again the next day the tasks that were skipped.

2. Add in additional resources that only become available after x days, and the tasks seizes this additional resource. However, the tasks are seizing multiple resources (e.g. Finance team, Accounts team, etc., so it's specifically looking at a column I've defined in the task resource table.

3. Creating additional servers to represent these "waiting tasks", however, this looks messy and not sure how it can scale/be modified.

Any ideas?

Link to comment
Share on other sites

Assuming you are are using the prebuilt task sequencing logic in the server you could just add an add-on-process either after the predecessor task or before the successor task that delays for the given amount of time.  If you are using a table to read these tasks add a column for the delay, make a model level process with a delay value of TaskTable.Delay. Then reference this process in the Before starting task or after completing task of the task sequence.

 

Link to comment
Share on other sites

21 minutes ago, ShawnNevers said:

Assuming you are are using the prebuilt task sequencing logic in the server you could just add an add-on-process either after the predecessor task or before the successor task that delays for the given amount of time.  If you are using a table to read these tasks add a column for the delay, make a model level process with a delay value of TaskTable.Delay. Then reference this process in the Before starting task or after completing task of the task sequence.

 

Hi Shawn,

I thought of this, I've actually got a column called Delay_Days. I didn't think of adding a delay in before/after process because I'm worried it'll throw resources off, as in, it'll keep them utilised when instead they should be working on other tasks that don't need delay. Would this still work?

Link to comment
Share on other sites

28 minutes ago, MarcoJHB said:

Hi Shawn,

I thought of this, I've actually got a column called Delay_Days. I didn't think of adding a delay in before/after process because I'm worried it'll throw resources off, as in, it'll keep them utilised when instead they should be working on other tasks that don't need delay. Would this still work?

You are correct that it will keep the resource seized until after the delay. A work around would be to subclass the server and change the PerformProcessingTask. All you would need to do is move the execute task to after the release, then it should release the resource and then do the execute (Your Add-on process). 

image.thumb.png.70cc4f20eee0bef2d6448be6111b982e.png

 

Edited by ShawnNevers
Link to comment
Share on other sites

×
×
  • Create New...