anchor.diff:  
       let processJob handler job = 
           async { 
  +            logger.Info "processing job %i queue %s" job.jobId name
               if paused then ()
               processing <- true
  -            use lr = new LockRenewer<'a>(job)
  +            use lr = new LockRenewer<'a>(job, token)
               try
  +                logger.Info "running handler on job %i queue %s" job.jobId name
                   let! data = handler job 
                   do! job.moveToCompleted () |> Async.Ignore
                   do! this.emitJobEvent(Completed, job, data = data)
  -                data
               with 
                   | _ as e -> 
  +                    logger.Error "handler failed for job %i with exn %A for queue %s" job.jobId e name
                       do! job.moveToFailed () |> Async.Ignore
                       do! job.releaseLock () |> Async.Ignore
                       do! this.emitJobEvent(Failed, job, exn = e) 
  
positive.code:             | NewJob -> newJobEvent.Trigger(eventData)
              | _ -> failwith "Not a job event!"
          }
      member internal x.client = dbFactory
negative.code:         async { 
              if paused then
                  paused <- false
                  do! this.emitQueueEvent Resumed
                  do! this.run handler
              else
                  failwith "Cannot resume running queue"
  