Skip to content

Release v1.18.0

Choose a tag to compare

@github-actions github-actions released this 16 Oct 08:31
829a823

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.Stop returns a StopJobResult and IJobs.Delete a DeleteJobResult: stopped or deleted, not found, UnknownJobType when 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.Start and GetJobsOfType methods now document that they are not safe while two releases share a cluster; use IJobs instead. (#76)