Repository navigation
Release v1.18.0
Jobs can now be started, stopped and deleted safely while two releases of an application share a cluster, and stopping or deleting a job tells you what actually happened.
Added
IJobs, a service for starting, stopping and deleting jobs without routing generic job types through the shared jobs manager:Start<TJob, TRequest>(key, [jobId,] request)starts the job from the calling silo, so it is placed only on silos that know its type, and the job stays recoverable. See Jobs. (#76)IJobs.Stopreturns aStopJobResultandIJobs.DeleteaDeleteJobResult: stopped or deleted, not found,UnknownJobTypewhen the stored job belongs to a release this silo does not have, or refused with the job's own error. A job is never reported as stopped or deleted unless it was. (#76)IJobStorage.GetJobType(jobId)reads a stored job's type without reading its request, in MongoDB, SQL and in-memory storage. Custom stores keep compiling through a default implementation. (#76)
Changed
- The generic
IJobsManager.StartandGetJobsOfTypemethods now document that they are not safe while two releases share a cluster; useIJobsinstead. (#76)