The API for .NET can run on multiple job schedulers, either in a cluster or embedded mode. Choose a job scheduler from below for instructions to get started.
Which job scheduler to use?
The API for .NET offers two ways to run parallel jobs. The cluster job scheduler allows jobs to run across machines on the network. The embedded job scheduler allows jobs to run as child processes of the client application. The design of IJobScheduler offers a common interface that can target multiple types of job schedulers. Code written once against the IJobScheduler interface can be deployed on a variety of job schedulers in the future.
Switching between the cluster job scheduler and embedded job scheduler can be very useful. For instance, targeting the embedded job scheduler can ensure an application works locally on one machine. When you are ready to deploy and test if your code works on multiple machines, you can switch to the cluster scheduler. See instructions on how to do this.
Cluster Job Scheduler
- Can utilize non-local resources on multiple machines.
- Provides horizonal scalability.
- Better out of the box monitoring applications, such as the Web Monitor and the Task Monitor.
- Administration capabilities, such as disabling worker machines, are only available on the cluster scheduler.
- Requires a Coordinator and Agent(s) to be installed.
Embedded Job Scheduler
- Can utilize local resources on a single machine more easily.
- Does not require a Coordinator or an Agent.
- Completely self-contained.
- Cannot scale across multiple machines.
- Missing some reporting capabilities only available for the cluster scheduler.
Throughout the help system, we will note features that are only available on the cluster job scheduler and not available in the embedded job scheduler.