public ErrorTypes AddTask(TaskQueueData oTask, Priority oPriority) { ErrorTypes eResult = ErrorTypes.Unknown; string strUrlQueue = GetQueueUrl(oPriority); try { string strData = TaskQueueData.SerializeToXml(oTask); using (Amazon.SQS.AmazonSQS oSQSClient = Amazon.AWSClientFactory.CreateAmazonSQSClient()) { Amazon.SQS.Model.SendMessageRequest oSendMessageRequest = new Amazon.SQS.Model.SendMessageRequest(); oSendMessageRequest.QueueUrl = strUrlQueue; oSendMessageRequest.MessageBody = strData; oSQSClient.SendMessage(oSendMessageRequest); eResult = ErrorTypes.NoError; } } catch (Amazon.SQS.AmazonSQSException) { eResult = ErrorTypes.TaskQueue; } catch { eResult = ErrorTypes.TaskQueue; } return(eResult); }
public void SendRegistrationInfo(RPCEnvelope msg) { var env = new RPCEnvelope(); var regInfo = new RegistrationInfo(); env.Message = regInfo; env.Operation = regInfo.GetType().Name; regInfo.RequestId = msg.Message.Id; regInfo.Id = Guid.NewGuid(); regInfo.Timestamp = DateTime.UtcNow; regInfo.JobQueueUrl = submitQueueUrl; env.Message = regInfo; Debug.WriteLine("Send RegistrationInfo to " + msg.ResponseQueueUrl); queue.SendMessage(new Amazon.SQS.Model.SendMessageRequest() .WithDelaySeconds(0) .WithQueueUrl(msg.ResponseQueueUrl) .WithMessageBody(JsonConvert.SerializeObject(env))); }
/// <summary> /// TerminateInstances sends number of terminate messages to specified queue. /// </summary> /// <param name="num"></param> /// <returns></returns> public int TerminateInstances(int num) { Debug.WriteLine(String.Format("TerminateInstnaces: {0}", num), this.GetType()); int count = 0; for (int i = 1; i <= num; i++) { var msg = new Amazon.SQS.Model.SendMessageRequest(); msg.WithQueueUrl(AppUtility.GetContext().ShutdownQueue); msg.WithMessageBody("shutdown"); var rsp = queue.SendMessage(msg); if (rsp.IsSetSendMessageResult()) { if (rsp.SendMessageResult.IsSetMessageId()) { count += 1; } } } return(count); }