Another idea from the same colleague who suggested job time reporting to me. In a discussion about job routing and engine tags he suggested that if a job has a preferred engine tag and gets submitted to an engine that is already being used, but it could actually run on another engine, then the job could be re-routed to the other engine. Perhaps if that second engine was also busy, it would just be returned to the original engine's queue (in the same spot in the queue, ideally!).
This might be best as a private parameter that only the workspace author could set, unless a trusted user who knew the implications of running on different engines could be allowed to choose if re-routing should be tried. An example is that we might run a job on a 32-bit engine normally to avoid clashes with long-running raster-based processes on a 64-bit engine, and we'd need to think about those potential clashes were the job to be sent to 64-bit engine.

