IJobManagerService in assembly SanteDB.Core.Api version 3.0.1980.0
Summary
Job Management Service
Description
In SanteDB, developers can create IJob implementations which represent background jobs for the system. Uses of these classes involve:
Performing routine maintenance tasks like compression, backup, etc.
Performing indexing tasks or managing long-running tasks
Exposing packaged batch operations to users (who can run them manually from the UI)
The job manager is the service which manages the master list of IJob instances and allows other plugins to register new jobs, start jobs, and even schedule job execution based on a schedule or interval.
Properties
Property
Type
Access
Description
Operations
Operation
Response/Return
Input/Parameter
Description
Implementations
UpstreamJobManager - (SanteDB.Client)
Represents a IJobManagerService which operates only on the upstream jobs service
/// Example ImplementationusingSanteDB.Core.Jobs;/// Other usings herepublicclassMyJobManagerService:SanteDB.Core.Jobs.IJobManagerService { publicString ServiceName =>"My own IJobManagerService service"; /// <summary> /// Gets the status of all jobs /// </summary>publicIEnumerable<IJob> Jobs {get; } /// <summary> /// Add a job to the job manager /// </summary>publicvoidAddJob(IJob jobType,TimeSpan elapseTime,JobStartType startType){thrownewSystem.NotImplementedException(); } /// <summary> /// Adds a job by type to the job manager /// </summary>publicIJobRegisterJob(Type jobType){thrownewSystem.NotImplementedException(); } /// <summary> /// Add a job to the job manager /// </summary>publicvoidAddJob(IJob jobType,JobStartType startType){thrownewSystem.NotImplementedException(); } /// <summary> /// Returns true if the job is registered /// </summary>publicBooleanIsJobRegistered(Type jobType){thrownewSystem.NotImplementedException(); } /// <summary> /// Starts the specified /// </summary>publicvoidStartJob(IJob job,Object[] parameters){thrownewSystem.NotImplementedException(); } /// <summary> /// Starts the specified /// </summary>publicvoidStartJob(Type jobType,Object[] parameters){thrownewSystem.NotImplementedException(); } /// <summary> /// Get this manager's instance of a job /// </summary>publicIJobGetJobInstance(Guid jobKey){thrownewSystem.NotImplementedException(); } /// <summary> /// Get this manager's instance of a job /// </summary>publicIJobGetJobInstance(Type jobType){thrownewSystem.NotImplementedException(); } /// <summary> /// Get the schedule for the specified job /// </summary>publicIEnumerable<IJobSchedule> GetJobSchedules(IJob job){thrownewSystem.NotImplementedException(); } /// <summary> /// Schedule a job to start at a specific time with a specific repetition /// </summary>publicIJobScheduleSetJobSchedule(IJob job,DayOfWeek[] daysOfWeek,DateTime scheduleTime){thrownewSystem.NotImplementedException(); } /// <summary> /// Schedule a job to start at a specific time with a specific repetition /// </summary>publicIJobScheduleSetJobSchedule(IJob job,TimeSpan intervalSpan){thrownewSystem.NotImplementedException(); } /// <summary> /// Clear the schedule of a job. /// </summary>publicvoidClearJobSchedule(IJob job){thrownewSystem.NotImplementedException(); }publicIEnumerable<Type> GetAvailableJobs(){thrownewSystem.NotImplementedException(); }}