Ejemplo n.º 1
0
        private void EmitStatus(ReceptionStatus status)
        {
            if (_action != null)
            {
                _action.Invoke(this, status);
            }

            if (OnDone != null)
            {
                OnDone.Invoke();
            }
        }
Ejemplo n.º 2
0
        private void HandlerCallback <TMessage>(ReceptionContext <TMessage> context, ReceptionStatus status)
        {
            var assistant  = context.Assistant;
            var rawMessage = (RedisValue)context.RawMessage;
            var database   = _connectionFactory.GetDatabase();

            if (status == ReceptionStatus.Completed)
            {
                RemoveProcessingMessage(assistant, database, rawMessage);
            }
            else if (status == ReceptionStatus.Retry)
            {
                database.ListRemove(assistant.ProcessingQueueName, rawMessage, 1);
                database.ListLeftPush(assistant.QueueName, rawMessage.GetString().RemoveEnqueueTime().AddEnqueueTime());
            }
        }
Ejemplo n.º 3
0
        private void HandlerCallback <TMessage>(ReceptionContext <TMessage> context, ReceptionStatus status)
        {
            var assistant       = context.Assistant;
            var rawMessage      = (string)context.RawMessage;
            var queue           = GetQueue(assistant.QueueName);
            var queueProcessing = GetQueue(assistant.ProcessingQueueName);

            if (status == ReceptionStatus.Completed)
            {
                RemoveProcessingMessage(context.Assistant, queueProcessing, rawMessage);
            }
            else if (status == ReceptionStatus.Retry)
            {
                queueProcessing.Remove(rawMessage);
                queue.Add(rawMessage.RemoveEnqueueTime().AddEnqueueTime());
            }
        }
Ejemplo n.º 4
0
 /// <summary>
 ///     设置接收状态
 /// </summary>
 /// <param name="status">接收状态</param>
 public void SetStatus(ReceptionStatus status)
 {
     switch (status)
     {
         case ReceptionStatus.开始:
             Status = ReceptionStatus.开始;
             break;
         case ReceptionStatus.进行中:
             Status = ReceptionStatus.进行中;
             break;
         case ReceptionStatus.撤销:
             Status = ReceptionStatus.撤销;
             IsClosed = true;
             CloseDate = DateTime.Now;
             break;
         case ReceptionStatus.完成:
             Status = ReceptionStatus.完成;
             IsClosed = true;
             CloseDate = DateTime.Now;
             break;
         default:
             throw new ArgumentOutOfRangeException("status");
     }
 }