Do we also need to set some market field to say that the `secondaryQueueCancelled` in case another thread queues a task? Note that `primaryFinished` won't be set until the finally block.