Job Class

Represents a group of tasks in the system.
Inheritance Hierarchy
SystemObject
  AGI.Parallel.ClientJob
Namespace:  AGI.Parallel.Client
Assembly:  AGI.Parallel.Client (in AGI.Parallel.Client.dll) Version: 1.3.0.366 (1.3.0.366)
Syntax
public class Job : IJob

The Job type exposes the following members.

Constructors
  Name Description
Public method Job
Initializes a new instance of the Job class.
Top
Properties
  Name Description
Public propertyCode example AdditionalDependencies
Gets the additional dependency that are sent with the Job.
Public property AgentSelectionPreference
Gets or sets the agent selection preference.
Public property CancelOnClientDisconnection
Gets or sets a value indicating whether to cancel the tasks of this Job when the client disconnects.
Public propertyCode example CancelOnTaskFailure
Gets or sets a value indicating whether to cancel other tasks on this Job if another Task fails.
Public property Description
Gets or sets the Job description.
Public property ExcludedDependencies
Gets the excluded assemblies that are not sent with the Job.
Public propertyCode example ExclusiveExecution
Gets or sets a value indicating whether the tasks on this job should have exclusive access to the resource it is running on.
Public propertyCode example FailIfPreconditionsNotSatisfied
Gets or sets a value indicating whether to fail all tasks immediately of this Job if the precondition is not satisfied.
Public property Id
Gets the job's id.
Public property IsCanceled
Gets a value indicating whether this job has been canceled.
Public property MaxTaskInterruptedRetryAttempts
Gets or sets the maximum number of times a task will be retried if it is interrupted.
Public property MinimizeClientMessaging
Gets or sets a value indicating whether to minimize sending some messages from the Coordinator. If set to true, some events may not fire.
Public property Name
Gets or sets the Job name.
Public property Priority
Gets or sets the job priority.
Public property RaiseEventsUsingSynchronizationContext
Gets or sets a value indicating whether Job and Task events such as JobCompleted are raised using the SynchronizationContext of the thread that submits the job. If this property is , no events are raised until WaitUntilDone is called, at which point the events are raised in the thread that calls it. If this property is , events are raised by posting them to the SynchronizationContext of the thread that calls Submit, no matter if WaitUntilDone is called or not.
Public property TaskEnvironment
Gets or sets Job's TaskEnvironment
Public propertyCode example TaskExecutionTimeout
Gets or sets the timeout for task execution in milliseconds.
Public propertyCode example TaskPreconditions
Gets the list of task pre conditions.
Public property Tasks
Gets the tasks that are contained in this Job.
Top
Methods
  Name Description
Public method AddTask
Adds a task to Job.
Public methodCode example Cancel
Cancels all tasks in this job. Will not listen for cancellation events.
Public methodCode example Cancel(Boolean)
Cancels all tasks in this job.
Public method Equals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected method Finalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public method GetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public method GetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected method MemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public method Submit
Submits job to job scheduler.
Public method ToString
Returns a string that represents the current object.
(Inherited from Object.)
Public method WaitUntilDone
Blocks until all tasks in this job complete.
Public method WaitUntilDone(Int32)
Blocks until all tasks in this job complete or the operation times out.
Public method WaitUntilDone(Int32, Action, Int32)
Blocks until all tasks in this job complete or the operation times out. The callback passed in for the heartbeat is called with the period specified by the millisecondsHeartbeat argument.
Top
Events
  Name Description
Public eventCode example JobCompleted
Occurs when all tasks of a Job is completed.
Public event JobSubmitted
Occurs when Job is submitted.
Public eventCode example TaskCompleted
Occurs when Task is completed.
Public eventCode example TaskProgressUpdated
Occurs when Task progress changes.
Public eventCode example TaskStateChanged
Occurs when Task status changes.
Top
Examples
using (IJobScheduler scheduler = new ClusterJobScheduler("localhost"))
{
    scheduler.Connect();

    // Create job using IJobScheduler.CreateJob
    Job job = scheduler.CreateJob();

    // Add one or more tasks
    job.AddTask(new SimpleTask(1, 1));

    // Set the task environment
    job.TaskEnvironment = new MyEnvironment();

    // Set the various job options
    job.Name = "My job name";
    job.Description = "My job description";
    job.MaxTaskInterruptedRetryAttempts = 0;
    job.Priority = JobPriority.Low;
    job.TaskPreconditions.Add(CommonResources.AvailableCores, Operator.GreaterThan, 2);

    // Submit task to job scheduler
    job.Submit();

    // Wait for the results
    job.WaitUntilDone();
}
See Also

STK Scalability 1.3 API for .NET