Manage job dependencies

Configure and manage relationships between jobs that must be completed in a specific sequence.

Overview

Job dependencies are relationships between two or more jobs where a job is dependent upon the completion of one or more other jobs.

Sometimes jobs do not exist in isolation and, while they might reflect a single piece of work, they are related to several other jobs that all must be carried out before a service can be considered completed in full.

Creating dependencies between jobs allows schedulers to define a sequence of work in the order in which it must be completed.

For example, consider a company that has been contracted to complete a street works service. This service can be broken down into three separate jobs that must be completed in order for the service to be completed:

  • Job 1 - Drilling and earthworks preparing for road services upgrade.
  • Job 2 - Road service works. For example, replacing pipes or cabling. This cannot be started until the digging and initial earthworks in Job 1 are complete.
  • Job 3 - Refill and resurfacing works. This job cannot start until the service works in Job 2 are complete.

The work must be scheduled in this order to avoid resources being sent to the site before they are required.

Schedulers need to be able to understand and respect the dependencies between this work when jobs are scheduled and rescheduled to deliver work effectively and avoid violating client SLAs.

Prerequisites

Salesforce package requirement

Skedulo for Salesforce teams must have the Skedulo managed package version v102.54 (or later) to use job dependencies.

Job details page settings

Job dependencies are only available in the Skedulo web app from the new job details view. teams using the legacy version of the job details view must disable it in the Skedulo web app by doing the following steps:

  1. Go to Settings > Beta features.
  2. Uncheck the Disable new job details page in the web app (browser refresh required) option, then click Save.
  3. Refresh the browser.

For more information about the job details page, see View and manage job details.

Enable job dependencies

To enable job dependencies, do the following steps:

  1. In the Skedulo web app, open Settings > Beta features.
  2. Select Enable Job Dependencies, and then click Save.

Create a job dependency

To create a dependency relationship between two or more pieces of work, you must first create the jobs that make up the complete service of work.

A job can be configured to start or end before, after, or at the same time as another job starts or ends.

To add a dependency between two jobs, do the following steps:

  1. Create two jobs.
  2. Open the first job in the sequence. That is, open the job that must finish before the other job can start.
  3. Under Job dependencies, click Add dependency. jobdetailsadddependency
  4. In the Add job dependency modal, note that the default values are for the job to start before the start of another job.
  5. Click in the Search for a job text box and search for the job that must only start after the current job has completed. Begin typing to search. You must enter at least three characters to show results.
  6. Select the dependent job.
  7. Click Save.

The Job dependencies field on the job details page shows the dependency relationship. The dependent job link on the job details page

In addition, a job dependency icon displays on the job header to indicate there is a job dependency.

The corresponding job is automatically updated with the reciprocal dependency relationship on its Job dependencies field.

Additional dependency relationships can be added to the same job in the same way.

Add a job dependency with time constraints

Advanced job dependency settings allow you to specify time periods in which jobs with dependencies must start or end.

When adding a dependency between jobs, you can configure one job to start or end more than, less than, or exactly a period of time before or after the start or end of another job.

To add a time-constrained dependency to a job, do the following steps:

  1. On the job details page, under Job dependencies, click Add dependency.
  2. In the Add job dependency modal, click to toggle the Advanced settings on.
  3. Select the values as required following the instructions above.

Advanced job dependency settings

Dependency conflicts

Jobs can have multiple dependencies. Sometimes an issue may arise unexpectedly during the course of carrying out a sequence of jobs that are dependent on one another.

The three jobs that have been created above are now scheduled, and ready to be carried out over three days next week.

Let’s say, for example, that in the course of carrying out the road services upgrade job, which is the second job in our sequence, one of our resources accidentally cut through a cable delivering internet services to the area.

That is a new, critical job that now must be completed before the final job in the sequence can start.

  1. Create a new job in the sequence.
  2. Create a new dependency on the third job in the sequence, in our case, the Refill and resurfacing works, which cannot be carried out until these emergency repairs are complete. This creates a conflict, as the repair must be carried out during the time when the Refill and resurfacing works job was meant to start.
    A scheduler is notified of this conflict on the job details card, which shows a red job dependency icon in the header:
    conflictdependency
    It is also reflected on the swimlane and on the job card on the swimlane.
  3. Reschedule the next job in the sequence to resolve the conflict.

Remove a job dependency

You can remove a job dependency from the job details page.

  1. Locate the dependency you want to remove under the Job dependencies field on the job details page.
  2. Hover over the dependency you want to remove and click the edit icon. This opens the Edit job dependency modal.
  3. Click Delete. This removes the job dependency and updates both job details pages where the dependency was displayed.

Edit dependencies created in custom builds

Organizations with a custom build that permits dependency exceptions outside of the most common dependency scenarios currently supported in the Skedulo web app will not be able to edit dependencies using the Edit job dependency modal.

The following message is displayed in the Edit job dependency modal for job dependencies with an unknown type.

Organizations with a custom build for exceptions not included in the core Skedulo web app will need to perform job dependency edits via the same custom build in which the dependency was defined.