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));
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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));
        }