tgstation-server 6.17.0
The /tg/station 13 server suite
|
Manages the runtime of Jobs. More...
Public Member Functions | |
void | SetJobProgress (JobResponse apiResponse) |
Set the JobResponse.Progress and JobResponse.Stage for a given apiResponse . | |
ValueTask | RegisterOperation (Job job, JobEntrypoint operation, CancellationToken cancellationToken) |
Registers a given Job and begins running it. | |
ValueTask< bool?> | WaitForJobCompletion (Job job, User? canceller, CancellationToken jobCancellationToken, CancellationToken cancellationToken) |
Wait for a given job to complete. | |
ValueTask< Job?> | CancelJob (Job job, User? user, bool blocking, CancellationToken cancellationToken) |
Cancels a give job . | |
Manages the runtime of Jobs.
Definition at line 12 of file IJobManager.cs.
ValueTask< Job?> Tgstation.Server.Host.Jobs.IJobManager.CancelJob | ( | Job | job, |
User? | user, | ||
bool | blocking, | ||
CancellationToken | cancellationToken | ||
) |
Cancels a give job .
job | The Job to cancel. |
user | The User who cancelled the job . If null the TGS user will be used. |
blocking | If the operation should wait until the job exits before completing. |
cancellationToken | The CancellationToken for the operation. |
null
if it couldn't be found.Implemented in Tgstation.Server.Host.Jobs.JobService.
Referenced by Tgstation.Server.Host.Controllers.JobController.Delete(), Tgstation.Server.Host.Components.InstanceManager.OfflineInstance(), and Tgstation.Server.Host.Controllers.InstanceController.Update().
ValueTask Tgstation.Server.Host.Jobs.IJobManager.RegisterOperation | ( | Job | job, |
JobEntrypoint | operation, | ||
CancellationToken | cancellationToken | ||
) |
Registers a given Job and begins running it.
job | The Job. Should at least have Job.Instance and Api.Models.Internal.Job.Description. If Job.StartedBy is null , the TGS user will be used. |
operation | The JobEntrypoint for the job . |
cancellationToken | The CancellationToken for the operation. |
Implemented in Tgstation.Server.Host.Jobs.JobService.
Referenced by Tgstation.Server.Host.Components.Instance.AutoUpdateAction(), Tgstation.Server.Host.Controllers.RepositoryController.Create(), Tgstation.Server.Host.Controllers.DreamDaemonController.Create(), Tgstation.Server.Host.Controllers.DreamMakerController.Create(), Tgstation.Server.Host.Controllers.DreamDaemonController.CreateDump(), Tgstation.Server.Host.Controllers.EngineController.Delete(), Tgstation.Server.Host.Controllers.RepositoryController.Delete(), Tgstation.Server.Host.Controllers.RepositoryController.Reclone(), Tgstation.Server.Host.Components.Chat.Providers.Provider.ReconnectionLoop(), Tgstation.Server.Host.Controllers.DreamDaemonController.Restart(), Tgstation.Server.Host.Components.Watchdog.WatchdogBase.StartAsync(), Tgstation.Server.Host.Controllers.EngineController.Update(), Tgstation.Server.Host.Controllers.InstanceController.Update(), and Tgstation.Server.Host.Controllers.RepositoryController.Update().
void Tgstation.Server.Host.Jobs.IJobManager.SetJobProgress | ( | JobResponse | apiResponse | ) |
Set the JobResponse.Progress and JobResponse.Stage for a given apiResponse .
apiResponse | The JobResponse to update. |
Implemented in Tgstation.Server.Host.Jobs.JobService.
Referenced by Tgstation.Server.Host.Controllers.JobController.AddJobProgressResponseTransformer(), and Tgstation.Server.Host.Controllers.JobController.GetId().
ValueTask< bool?> Tgstation.Server.Host.Jobs.IJobManager.WaitForJobCompletion | ( | Job | job, |
User? | canceller, | ||
CancellationToken | jobCancellationToken, | ||
CancellationToken | cancellationToken | ||
) |
Wait for a given job to complete.
job | The Job to wait for. |
canceller | The User to cancel the job . If null the TGS user will be used. |
jobCancellationToken | A CancellationToken that will cancel the job . |
cancellationToken | The CancellationToken for the operation. |
true
if the Job completed without errors, false
if errors occurred, or null
if the job isn't registered.Implemented in Tgstation.Server.Host.Jobs.JobService.
Referenced by Tgstation.Server.Host.Components.Instance.AutoUpdateAction(), and Tgstation.Server.Host.Components.Chat.Providers.Provider.ReconnectionLoop().