private void EmitStatus(ReceptionStatus status) { if (_action != null) { _action.Invoke(this, status); } if (OnDone != null) { OnDone.Invoke(); } }
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()); } }
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()); } }
/// <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"); } }