Пример #1
0
        /// <summary>
        /// Process a command received from the job host
        /// </summary>
        /// <param name="msg"></param>
        private bool ProcessCommandFromJobHost(Microsoft.ServiceBus.Messaging.BrokeredMessage msg)
        {
            JobHost jobHost = null;

            try
            {
                var senderRoleInstanceId = "unknown";
                try
                {
                    senderRoleInstanceId = msg.Properties[GlobalConstants.SERVICEBUS_MESSAGE_PROP_ROLEINSTANCEID].ToString();
                }
                catch
                {
                    senderRoleInstanceId = "failed retrieving sender from message";
                }

                Geres.Diagnostics.GeresEventSource.Log.AutoScalerWorkerReceivedCommandFromJobHost
                (
                    RoleEnvironment.CurrentRoleInstance.Id,
                    RoleEnvironment.DeploymentId,
                    msg.MessageId,
                    senderRoleInstanceId
                );

                jobHost = msg.GetBody <JobHost>();
                ManageJobHost(jobHost);

                // Processed successfully
                return(true);
            }
            catch (Exception ex)
            {
                string jobHostId = "unknown";
                if (jobHost != null)
                {
                    if (!string.IsNullOrEmpty(jobHost.RoleInstanceId))
                    {
                        jobHostId = jobHost.RoleInstanceId;
                    }
                }

                Geres.Diagnostics.GeresEventSource.Log.AutoScalerWorkerFailedManageJobHost(
                    RoleEnvironment.CurrentRoleInstance.Id, RoleEnvironment.DeploymentId, jobHostId, ex.Message, ex.StackTrace);

                // Failed processing
                return(false);
            }
        }
Пример #2
0
        //public override object Body
        //{
        //	get { return _core.GetBody<object>(); }
        //}

        public T GetBody <T>()
        {
            return(_core.GetBody <T>());
        }