示例#1
0
 /// <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));
     }
 }
示例#2
0
        /// <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);
                }
            }
        }