Optimization extension - The Flexible Scheduler
Note
This feature is available for both Skedulo Pulse Platform and Skedulo for Salesforce.Overview
The Flexible Scheduler extension provides dynamic job time constraints that enable schedulers to set specific timeframes for scheduling jobs on any day of the week, down to the hour.
With this extension, schedulers can define flexible time constraints for the following types of jobs:
- Jobs that start after a specific time, end or start before a specific time, or start within a specific time range during the day.
- Jobs scheduled for a specific day of the week (Monday to Sunday).
- Overnight jobs completed within a specific time range.
- Any combination of the above.
Note
All time constraints are stored as local time values. However, when applied, the time constraints are adjusted to align with the timezone of the job’s region.For example:
- Jobs must be completed between 9 AM and 4 PM on any given day, regardless of resource availability (e.g., business hours that account for resources’ travel time from home).
- Jobs scheduled every Saturday and Sunday.
- Jobs can only start in the afternoon, after 3 PM.
- Jobs must start in the morning, no later than 12 PM.
- Jobs must be done overnight between 10 PM and 5 AM (to avoid traffic congestion).
- Jobs scheduled on Monday or Wednesday: on Monday, they must start in the morning; on Wednesday, they must start in the afternoon.
To use the Flexible Scheduler extension, contact your Customer Service Representative for more information about getting the skedulo-extension/dynamic-job-time-constraints
package installed. This package includes the data model and the Flexible Scheduler extension required for implementing dynamic job date constraints.
Prerequisites
- The
skedulo-extension/dynamic-job-time-constraints
package has been installed on your team. Contact your Customer Service Representative for more information about getting this package installed. - Administrators have enabled the Use Optimization Extensions option in Beta feature settings.
Data model
The package includes a data model with a custom object and custom fields, as described below, enabling you to define dynamic job time constraints.
For more information about objects and fields in Skedulo, refer to this article.
DynamicJobTimeConstraints (custom object)
Once the package is installed, the DynamicJobTimeConstraints
custom object and some custom fields will be generated automatically. Refer to the following table for more information:
Field name | Field type | Description |
---|---|---|
Job |
Lookup | The job associated with the dynamic job time constraint. |
StartAfter |
Time | Specifies the earliest local time that a job is allowed to start. |
StartBefore |
Time | Specifies the latest local time that a job is allowed to start. |
EndBefore |
Time | Specifies the latest local time by which a job must be completed. |
FeasibleDays |
Multipicklist | Lists the days of the week when the job can be scheduled. All days are feasible by default. |
Jobs object
Once the package is installed, some custom fields will be generated in the Jobs
object. Refer to the following table for more information:
Field name | Field type | Description |
---|---|---|
ViewDynamicJobTimeConstraints |
URL (read-only with default) | A link that takes the user to the platform page list view to see dynamic job time constraints. |
DynamicJobTimeConstraints |
HasMany | The HasMany relationship to DynamicJobTimeConstraints . |
Overnight jobs
If the StartAfter
time is set later than either the StartBefore
or EndBefore
time, the time constraint will apply overnight. This means the job can start within the feasible time range from the current day and to the next day.
If only StartAfter
is set, the end of the time range is implicitly midnight of the current day.
If only StartBefore
or EndBefore
is set, the start/end of the time range is implicitly midnight of the previous day.
Use the Flexible Schedule extension
Do as follows to apply the Flexible Schedule extension:
-
Create an optimization recipe or open your existing optimization recipe that you want to apply this extension.
-
Once the set up is done, scroll down to the bottom of the recipe details page.
-
In the Extensions section, select
dynamic-jtc-optimization-extension
from the drop-down. -
Click Save when you have finished.
-
Go to the work details page of your desired work item.
-
Switch to the Field tab.
-
Select the link to open the dynamic job time constraints page list view. Then select Create new.
-
The Create a dynamic job time constraint modal appears.
a. Choose the time that suits your requirements. See this table to learn about each field.
b. Select Create.
-
Run your optimization using the recipe with the Flexible Scheduler extension that you’ve just set.
Once you’ve run your optimization using a recipe with this extension, the time constraints will be applied to each job they are associated with.
Feedback
Was this page helpful?