Esempio n. 1
0
 /// <summary>
 /// Print all task errors
 /// </summary>
 /// <param name="task">Task with the errors</param>
 private void LogTaskErrors(ServiceTaskStatus task)
 {
     task.Messages.Where(msg => msg.Type == MessageType.ERROR).ToList().ForEach(message =>
     {
         Console.WriteLine(message.Text);
     });
 }
 /// <summary>
 /// Print all task errors
 /// </summary>
 /// <param name="task">Task with the errors</param>
 private void LogTaskErrors(ServiceTaskStatus task)
 {
     foreach (var message in task.Messages.Where(msg => msg.Type == MessageType.ERROR))
     {
         Console.WriteLine(message.Text);
     }
 }
 private List <string> GetErrorMessages(ServiceTaskStatus task)
 {
     return(task.Messages
            .Where(msg => msg.Type == MessageType.ERROR)
            .Select(msg => msg.Text)
            .ToList());
 }
Esempio n. 4
0
        public async Task UpdateTaskStatusAsync(Guid taskId, ServiceTaskStatus newStatus, Guid?resourceId = null)
        {
            var request = new UpdateItemRequest
            {
                TableName    = _tableName,
                ReturnValues = ReturnValue.ALL_OLD,
                Key          = new Dictionary <string, AttributeValue>
                {
                    { "TaskId", new AttributeValue {
                          S = taskId.ToString()
                      } }
                },
                ExpressionAttributeNames = new Dictionary <string, string>()
                {
                    { "#S", "Status" },
                    { "#LU", "LastUpdated" }
                },
                ExpressionAttributeValues = new Dictionary <string, AttributeValue>()
                {
                    { ":status", new AttributeValue {
                          S = newStatus.ToString()
                      } },
                    { ":lastUpdated", new AttributeValue {
                          S = DateTimeOffset.Now.ToString()
                      } }
                },
                UpdateExpression = "SET #S = :status, #LU = :lastUpdated"
            };

            if (resourceId != null)
            {
                request.ExpressionAttributeNames.Add("#RID", "ResourceId");
                request.ExpressionAttributeValues.Add(":resourceId", new AttributeValue {
                    S = resourceId.ToString()
                });
                request.UpdateExpression += ", #RID = :resourceId";
            }

            await _client.UpdateItemAsync(request);
        }
 private bool IsRetryableError(ServiceTaskStatus task)
 {
     return(task.Status == Status.ERROR && task.Error != null && task.Error.RetryHint != RetryHint.NO_RETRY);
 }