anchor.diff:          member this.GetAvailableWorkers(): Async<WorkerState []> = 
               async { 
                   let! workers = this.GetAllWorkers()
  -                return workers |> Array.filter (fun w -> DateTime.UtcNow - w.LastHeartbeat <= maxHeartbeatTimespan)
  +                return workers 
  +                       |> Seq.filter (fun w -> DateTime.UtcNow - w.LastHeartbeat <= maxHeartbeatTimespan)
  +                       |> Seq.filter (fun w -> match w.ExecutionStatus with
  +                                               | WorkerJobExecutionStatus.Running -> true
  +                                               | _ -> false)
  +                       |> Seq.toArray
               }
           
           member this.SubmitPerformanceMetrics(id: IWorkerId, perf: Utils.PerformanceMonitor.PerformanceInfo): Async<unit> = 
  
positive.code:         { Id = new WorkerId(record.Id)
            CurrentJobCount = record.ActiveJobs.GetValueOrDefault(-1)
            LastHeartbeat = record.Timestamp.DateTime
            HeartbeatRate = TimeSpan.FromDays(1.) // TODO
            InitializationTime = record.InitializationTime.DateTime
            ExecutionStatus = unpickle record.Status
            PerformanceMetrics = record.GetCounters()
  
negative.code:                 record.ProcessorCount <- nullable info.ProcessorCount
                  record.ConfigurationId <- pickle config
                  do! Table.insertOrReplace<WorkerRecord> config table record //Worker might restart but keep id.
                  let unsubscriber =
                      { new IDisposable with
                            member x.Dispose(): unit = 
                              this.UnsubscribeWorker(id)
                              |> Async.RunSynchronously
                      }
                  return unsubscriber
              }
          
          member this.TryGetWorkerState(id: IWorkerId): Async<WorkerState option> = 
              async {
                  let! record = Table.read<WorkerRecord> config table partitionKey id.Id
                  if record = null then return None
                  else return Some(mkWorkerState record)
              }
          
  
      static member Create(config : ConfigurationId) =
  