public void TestConsumerStateChangeNotification() { // Consumer JobStateChange var env = new RPCEnvelope(); var con = new JobStateChange(); env.Message = con; env.Operation = con.GetType().Name; con.Id = Guid.NewGuid(); con.Timestamp = DateTime.UtcNow; con.State = "Setup"; var iso = new Newtonsoft.Json.Converters.IsoDateTimeConverter(); iso.DateTimeFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffK"; string json = Newtonsoft.Json.JsonConvert .SerializeObject(env, iso); // Orchestrator JobStateChange JToken token = JObject.Parse(json); String op = (string)token.SelectToken("Operation"); JToken msg = token.SelectToken("Mesage"); Assert.IsTrue(op == "JobStateChange"); var serializer = new Newtonsoft.Json.JsonSerializer(); Newtonsoft.Json.JsonReader reader = token["Message"].CreateReader(); var job = serializer.Deserialize <JobStateChange>(reader); Assert.AreEqual(((JobStateChange)env.Message).State, job.State); }
internal static void Send(JobStateChange msg) { var env = new RPCEnvelope(); env.Message = msg; env.Operation = "JobStateChange"; env.ResponseQueueUrl = null; Send(msg.GetType().Name, JsonConvert.SerializeObject(env)); }
public void Success() { // Update Job: Add Message Turbine.Consumer.Contract.Behaviors.IConsumerContext ctx = Turbine.Consumer.AppUtility.GetConsumerContext(); JobStateChange msg = new JobStateChange(); msg.JobId = job.Id; msg.State = "success"; SimpleMessageConnect.Send(msg); }
public void Warning(string p) { // Update Job: Add Message Turbine.Consumer.Contract.Behaviors.IConsumerContext ctx = Turbine.Consumer.AppUtility.GetConsumerContext(); JobStateChange msg = new JobStateChange(); msg.JobId = job.Id; msg.State = "warning"; msg.Message = p; SimpleMessageConnect.Send(msg); }
public Turbine.Data.Contract.Behaviors.IProcess Setup() { // Update Job: Add Message Turbine.Consumer.Contract.Behaviors.IConsumerContext ctx = Turbine.Consumer.AppUtility.GetConsumerContext(); JobStateChange msg = new JobStateChange(); msg.JobId = job.Id; msg.State = "setup"; SimpleMessageConnect.Send(msg); // NOTE: Purpose is to delete message from submission queue after it's been 'claimed' setupCallbackCheck(setupCallback(setupCBRequest)); return(new Process(job.Id)); }