Job2 Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
New base class for a job that provides extended state management functionality on the job. Since the existing Job class is an abstract class and there are existing implementations of the same, it is required to have a new class that will have the extended functionality. This is to ensure that backwards compatibility is maintained
However, this class will derive from the existing Job class. The option of deprecating the existing class was considered as well. In order to maintain backwards compatibility of PowerShell job cmdlets they will have to work with the old interface and hence deprecating the Job class did not add any benefit rather than deriving from the same.
public ref class Job2 abstract : System::Management::Automation::Job
public abstract class Job2 : System.Management.Automation.Job
type Job2 = class
inherit Job
Public MustInherit Class Job2
Inherits Job
- Inheritance
- Derived
Remarks
The following are some of the notes about why the asynchronous operations are provided this way in this class. There are two possible options in which asynchronous support can be provided: 1. Classical pattern (Begin and End) 2. Event based pattern
Although the PowerShell API uses the classical pattern and we would like the Job API and PowerShell API to be as close as possible, the classical pattern is inherently complex to use.
Constructors
Job2() |
Default no argument constructor. |
Job2(String) |
Constructor which will initialize the job with the associated command string. |
Job2(String, String) |
Creates an instance of this class. |
Job2(String, String, Guid) |
Creates an instance of this class. |
Job2(String, String, IList<Job>) |
Creates an instance of this class. |
Job2(String, String, JobIdentifier) |
Creates an instance of this class. |
Properties
ChildJobs |
List of child jobs contained within this job. (Inherited from Job) |
Command |
Command Invoked by this Job. (Inherited from Job) |
Debug |
Gets or sets the debug buffer. Debug output of Job is written to this buffer. Cannot set to a null value. (Inherited from Job) |
Error |
Gets or sets the error buffer. Errors of job are written into this buffer. (Inherited from Job) |
Finished |
Wait Handle which is signaled when job is finished. This is set when state of the job is set to Completed, Stopped or Failed. (Inherited from Job) |
HasMoreData |
Indicates that more data is available in this result object for reading. (Inherited from Job) |
Id |
Short identifier for this result which will be recycled and used within a process. (Inherited from Job) |
Information |
Gets or sets the information buffer. Information records of job are written to this buffer. (Inherited from Job) |
InstanceId |
Unique identifier for this job. (Inherited from Job) |
JobStateInfo |
Status of the command execution. (Inherited from Job) |
Location |
Indicates a location where this job is running. (Inherited from Job) |
Name |
Name for identifying this job object. (Inherited from Job) |
Output |
Gets or sets the output buffer. Output of job is written into this buffer. (Inherited from Job) |
Progress |
Gets or sets the progress buffer. Progress of job is written into this buffer. (Inherited from Job) |
PSBeginTime |
Time job was started. (Inherited from Job) |
PSEndTime |
Time job stopped. (Inherited from Job) |
PSJobTypeName |
Job type name. (Inherited from Job) |
StartParameters |
Parameters to be used to start a job. This is a property because CommandParameterCollection does not have a public constructor. Hence the infrastructure creates an instance and provides it for the implementations to use. |
StatusMessage |
Success status of the command execution. (Inherited from Job) |
SyncRoot | |
Verbose |
Gets or sets the verbose buffer. Verbose output of job is written to this stream. (Inherited from Job) |
Warning |
Gets or sets the warning buffer. Warnings of job are written to this buffer. (Inherited from Job) |
Methods
AutoGenerateJobName() |
Automatically generate a job name if the user does not supply one. (Inherited from Job) |
Dispose() |
Dispose all managed resources. This will suppress finalizer on the object from getting called by calling System.GC.SuppressFinalize(this). (Inherited from Job) |
Dispose(Boolean) |
Release all the resources. (Inherited from Job) |
DoLoadJobStreams() |
This method is introduce for delaying the loading of streams for a particular job. (Inherited from Job) |
DoUnloadJobStreams() |
Unloads job streams information. Enables jobs to clear stream information from memory. (Inherited from Job) |
LoadJobStreams() |
Load the required job streams. (Inherited from Job) |
OnResumeJobCompleted(AsyncCompletedEventArgs) |
Method which can be extended or called by derived classes to raise the event when resuming a suspended job is completed. |
OnStartJobCompleted(AsyncCompletedEventArgs) |
Method which can be extended or called by derived classes to raise the event when start of the job is completed. |
OnStopJobCompleted(AsyncCompletedEventArgs) |
Method which can be extended or called by derived classes to raise the event when stopping a job is completed. |
OnSuspendJobCompleted(AsyncCompletedEventArgs) |
Method which can be extended or called by derived classes to raise the event when suspending a job is completed. |
OnUnblockJobCompleted(AsyncCompletedEventArgs) |
Method which can be extended or called by derived classes to raise the event when unblocking a blocked job is completed. |
ResumeJob() |
Resume a suspended job. |
ResumeJobAsync() |
Resume a suspended job asynchronously. |
SetJobState(JobState) |
Sets Job State. (Inherited from Job) |
SetJobState(JobState, Exception) |
There is an internal method in Job which is not made public. In order to make this available to someone implementing a job it has to be added here. If the original method is made public it has changes of colliding with some implementation which may have added that method. |
StartJob() |
Start a job. The job will be started with the parameters specified in StartParameters. |
StartJobAsync() |
Start a job asynchronously. |
StopJob() |
Stop this job object. If job contains child job, this should stop child job objects also. (Inherited from Job) |
StopJob(Boolean, String) |
StopJob. |
StopJobAsync() |
Stop a job asynchronously. |
StopJobAsync(Boolean, String) |
StopJobAsync. |
SuspendJob() |
Suspend a job. |
SuspendJob(Boolean, String) |
SuspendJob. |
SuspendJobAsync() |
Asynchronously suspend a job. |
SuspendJobAsync(Boolean, String) |
SuspendJobAsync. |
UnblockJob() |
Unblock a blocked job. |
UnblockJobAsync() |
Unblock a blocked job asynchronously. |
UnloadJobStreams() |
Unload the required job streams. (Inherited from Job) |
Events
ResumeJobCompleted |
This event should be raised whenever the asynchronous resume of a suspended job is completed. This event should not be raised for synchronous operation. |
StartJobCompleted |
Event to be raise when the start job activity is completed. This event should not be raised for synchronous operation. |
StateChanged |
Event raised when state of the job changes. (Inherited from Job) |
StopJobCompleted |
Event to be raised when the asynchronous stopping of a job is completed.This event should not be raised for synchronous operation. |
SuspendJobCompleted |
This event should be raised whenever the asynchronous suspend of a job is completed. This event should not be raised for synchronous operation. |
UnblockJobCompleted |
This event should be raised whenever the asynchronous unblock of a blocked job is completed. This event should not be raised for synchronous operation. |