/// <summary>Gets the result of a job.</summary> /// <returns>The result item.</returns> /// <exception cref="InvalidOperationException">If the result is not ready (<seealso cref="M:IsCompleted"/>).</exception> public TMapOut GetResult() { lock (_jobName) { var blobSet = new MapReduceBlobSet(_blobStorage, _queueStorage); return(blobSet.GetAggregatedResult <TMapOut>(_jobName)); } }
/// <summary>Indicates whether the job is completed.</summary> /// <returns><c>true</c> if the batch is completed, <c>false</c> otherwise.</returns> public bool IsCompleted() { lock (_jobName) { var blobSet = new MapReduceBlobSet(_blobStorage, _queueStorage); var status = blobSet.GetCompletedBlobSets(_jobName); if (status.Item1 < status.Item2) { return(false); } try { blobSet.GetAggregatedResult <object>(_jobName); return(true); } catch (InvalidOperationException) { return(false); } } }