/// <summary> /// Called when [task completed]. /// </summary> /// <param name="startTime">The start time.</param> /// <param name="endTime">The end time.</param> /// <param name="status">The status.</param> private void OnTaskCompleted(DateTime startTime, DateTime endTime, TaskCompletionStatus status, Exception ex) { var elapsedTime = endTime - startTime; Logger.Info("{0} {1} after {2} minute(s) and {3} seconds", Name, status, Math.Truncate(elapsedTime.TotalMinutes), elapsedTime.Seconds); var result = new TaskResult { StartTimeUtc = startTime, EndTimeUtc = endTime, Status = status, Name = Name, Id = Id }; result.Key = ScheduledTask.Key; if (ex != null) { result.ErrorMessage = ex.Message; result.LongErrorMessage = ex.StackTrace; } LastExecutionResult = result; ((TaskManager)TaskManager).OnTaskCompleted(this, result); }
/// <summary> /// Called when [task completed]. /// </summary> /// <param name="startTime">The start time.</param> /// <param name="endTime">The end time.</param> /// <param name="status">The status.</param> private void OnTaskCompleted(DateTime startTime, DateTime endTime, TaskCompletionStatus status, Exception ex) { var elapsedTime = endTime - startTime; Logger.Info("{0} {1} after {2} minute(s) and {3} seconds", Name, status, Math.Truncate(elapsedTime.TotalMinutes), elapsedTime.Seconds); var result = new TaskResult { StartTimeUtc = startTime, EndTimeUtc = endTime, Status = status, Name = Name, Id = Id }; if (ex != null) { result.ErrorMessage = ex.Message; } var path = GetHistoryFilePath(); Directory.CreateDirectory(Path.GetDirectoryName(path)); JsonSerializer.SerializeToFile(result, path); LastExecutionResult = result; ((TaskManager)TaskManager).OnTaskCompleted(this, result); }
internal void OnTaskResult(TaskResult response) { response.TaskManagement = _cacheMgmt; _response = response; if (response.TaskStatus == TaskCompletionStatus.Success) { response.GetEnumerator(); } _taskResult = _response; lock (mutex) { try { taskStatus = response.TaskStatus; callbackReceived = true; Monitor.Pulse(mutex); } catch (Exception ex) { throw new Exception(ex.StackTrace); } } if (OnMapReduceComplete != null) { OnMapReduceComplete.Invoke(response); } }
private void RequestTimedOut(object sender, TaskCompletionStatus status) { if (sender is RemoteRequest request) { _responseList.TryRemove(request.MessageId, out request); } }
public TaskResult(TaskCompletionStatus status, string taskId, short uniqueId, string reason) { this.tStatus = status; this.taskId = taskId; this.uniqueId = uniqueId; this.failureReason = reason; }
internal void FireMapReduceCallback(string taskId, int taskstatus, string taskFailureReason, short callbackId) { TaskCompletionStatus status = TaskCompletionStatus.Success; switch (taskstatus) { case 0: status = TaskCompletionStatus.Success; break; case 1: status = TaskCompletionStatus.Failure; break; case 2: status = TaskCompletionStatus.Cancelled; break; } TaskResult resp = new TaskResult(status, taskId, callbackId, taskFailureReason); if (_mapReduceListenerIDPool != null) { ResourcePool poole = _mapReduceListenerIDPool; TaskListener callback = (TaskListener)poole.GetResource(callbackId); if (callback != null) { callback.Invoke(resp); } } }
public async Task QueueBackgroundWorkItem_() { var backgroundTaskQueue = new BackgroundTaskQueue <string>(null); var queueBackgroundWorkItem = backgroundTaskQueue.QueueBackgroundWorkItem("test"); var dequeueAsync = await backgroundTaskQueue.DequeueAsync(CancellationToken.None); dequeueAsync !.TaskCompletionStatus.SetResult(ProcessedMessageStatus.Success); var processedMessageStatus = await queueBackgroundWorkItem; Assert.Equal(TaskStatus.RanToCompletion, queueBackgroundWorkItem.Status); Assert.Equal(ProcessedMessageStatus.Success, processedMessageStatus); }
/// <summary> /// Called when [task completed]. /// </summary> /// <param name="startTime">The start time.</param> /// <param name="endTime">The end time.</param> /// <param name="status">The status.</param> private void OnTaskCompleted(DateTime startTime, DateTime endTime, TaskCompletionStatus status) { var elapsedTime = endTime - startTime; Logger.Info("{0} {1} after {2} minute(s) and {3} seconds", Name, status, Math.Truncate(elapsedTime.TotalMinutes), elapsedTime.Seconds); var result = new TaskResult { StartTimeUtc = startTime, EndTimeUtc = endTime, Status = status, Name = Name, Id = Id }; JsonSerializer.SerializeToFile(result, GetHistoryFilePath()); LastExecutionResult = result; ((TaskManager)TaskManager).OnTaskCompleted(ScheduledTask, result); }
/// <summary> /// Called when [task completed]. /// </summary> /// <param name="startTime">The start time.</param> /// <param name="endTime">The end time.</param> /// <param name="status">The status.</param> private void OnTaskCompleted(DateTime startTime, DateTime endTime, TaskCompletionStatus status, Exception ex) { var elapsedTime = endTime - startTime; Logger.Info("{0} {1} after {2} minute(s) and {3} seconds", Name, status, Math.Truncate(elapsedTime.TotalMinutes), elapsedTime.Seconds); var result = new TaskResult { StartTimeUtc = startTime, EndTimeUtc = endTime, Status = status, Name = Name, Id = Id }; var hasKey = ScheduledTask as IHasKey; if (hasKey != null) { result.Key = hasKey.Key; } if (ex != null) { result.ErrorMessage = ex.Message; result.LongErrorMessage = ex.StackTrace; } LastExecutionResult = result; ((TaskManager)TaskManager).OnTaskCompleted(this, result); }
/// <summary> /// Called when [task completed]. /// </summary> /// <param name="startTime">The start time.</param> /// <param name="endTime">The end time.</param> /// <param name="status">The status.</param> private void OnTaskCompleted(DateTime startTime, DateTime endTime, TaskCompletionStatus status, Exception ex) { var elapsedTime = endTime - startTime; Logger.Info("{0} {1} after {2} minute(s) and {3} seconds", Name, status, Math.Truncate(elapsedTime.TotalMinutes), elapsedTime.Seconds); var result = new TaskResult { StartTimeUtc = startTime, EndTimeUtc = endTime, Status = status, Name = Name, Id = Id }; if (ex != null) { result.ErrorMessage = ex.Message; } var path = GetHistoryFilePath(); Directory.CreateDirectory(Path.GetDirectoryName(path)); JsonSerializer.SerializeToFile(result, path); LastExecutionResult = result; ((TaskManager) TaskManager).OnTaskCompleted(ScheduledTask, result); }
/// <summary> /// Called when [task completed]. /// </summary> /// <param name="startTime">The start time.</param> /// <param name="endTime">The end time.</param> /// <param name="status">The status.</param> private void OnTaskCompleted(DateTime startTime, DateTime endTime, TaskCompletionStatus status) { var elapsedTime = endTime - startTime; Logger.Info("{0} {1} after {2} minute(s) and {3} seconds", Name, status, Math.Truncate(elapsedTime.TotalMinutes), elapsedTime.Seconds); var result = new TaskResult { StartTimeUtc = startTime, EndTimeUtc = endTime, Status = status, Name = Name, Id = Id }; JsonSerializer.SerializeToFile(result, GetHistoryFilePath(true)); LastExecutionResult = result; ((TaskManager) TaskManager).OnTaskCompleted(ScheduledTask, result); }
protected virtual void DoTimedOut(object sender, TaskCompletionStatus status) { _onTimeout?.Invoke(this, status); }