anchor.diff:                                  return false, currentTs
                           with ex ->
                               logger.Logf "Failed to give heartbeat %A" ex
  -                            let newTimeSpan = min (TimeSpan.FromTicks(currentTs.Ticks * 2L)) WorkerManager.MaxHeartbeatTimeSpan
  +                            let newTimeSpan = min (TimeSpan.FromTicks(currentTs.Ticks * 2L)) maxHeartbeatInterval
                               logger.Logf "Increasing timespan to %A" newTimeSpan
                               return true, newTimeSpan
                           }
  
positive.code:                     state.Worker.Status <- runningPickle
                      return! loop (Some state)
                  | Some(SetFaulted(ex, ch)), Some state ->
                      state.Worker.Status <- WorkerStatus.Pickle (Faulted ex)
                      let! _ = Table.replace config table state.Worker
                      ch.Reply()
                      return! loop None
                  | Some(Stop(ch)), Some state ->
                      state.Worker.Status <- WorkerStatus.Pickle WorkerStatus.Stopped
                      let! _ = Table.replace config table state.Worker
                      ch.Reply()
                      return! loop None
                  | other ->
                      failwithf "Invalid state %A" other
  
negative.code:     let runningPickle = WorkerStatus.Pickle Running
  
      let heartbeatAgent = 
          let maxHeartbeatInterval = TimeSpan.FromMinutes(1.)
  
          new MailboxProcessor<WorkerManagerMessage>(fun inbox ->
              let rec loop (state : WorkerManagerState option) = async {
                  let! message = async {
  