Add ApplicationStateService
Enable/disable read-only mode
stash
Add /maintenance/enable-read-only and /maintenance/disable-read-only routes
Merge branch 'master' into implement-maintenance-read-only-mode
Add isInXState() methods
Return 503 from /job/{url}/start when in mainenance-read-only mode
Update internal cache of state when setting state
Update internal cache of state when setting state
Return 503 for /job/{url}/cancel when in maintenance-read-only mode
/worker/activate/ now returns 503 in maintenance-read-only mode
/task/{worker_hostname}/{remote_task_id}/complete/ now returns 503 in maintenance-read-only mode
/user/create/ now returns 503 in maintenance-read-only mode
/user/activate/{token}/ now returns 503 in maintenance-read-only mode
/user/reset-password/{token}/ now returns 503 in maintenance-read-only mode
JobPrepareCommand now returns code 2 in maintenance-read-only mode
MigrateAddHashToHashlessOutputCommand, MigrateCanonicaliseTaskOutputCommand, MigrateNormaliseJslintOutputCommand and MigrateRemoveUnusedOutputCommand now returns code 1 in maintenance-read-only mode
TaskAssignCollectionCommand now returns code -1 when in maintenance-read-only mode
TaskAssignCommand now returns code 5 when in maintenance-read-only mode
TaskAssignmentSelectionCommand now returns code 1 when in maintenance-read-only mode