private void Start() { _publishing = true; while (_publishing) { try { foreach (var message in _messages.GetConsumingEnumerable(_cancellationTokenSource.Token)) { if (_seenMessages.Contains(message.MessageId)) { return; } _messageSender.Send(message); _seenMessages.Add(message.MessageId); } } catch (OperationCanceledException exception) { //blocking cancelled.. } } }
public async Task <IActionResult> GetUsers() { var users = await _repo.GetUsers(); _sender.Send("UsersRetrieved"); return(Ok(users)); }
public void Delete(ConnectionId connectionId, ObjectId objectId) { var deleteObjectMsg = _deleteMessages.Create(); deleteObjectMsg.Content.ObjectId = objectId; _messageSender.Send(connectionId, deleteObjectMsg); }
void Update() { if (!_client.Connected) { return; } while (_client.GetNextMessage(out var msg)) { switch (msg.eventType) { case EventType.Connected: Sender.Send(new ConnectedServerMessage()); break; case EventType.Data: ParseMessage(msg.data); break; case EventType.Disconnected: Sender.Send(new DisconnectServerMessage()); break; } } }
public IActionResult SendTestMessage() { try { var msg = new BusinessMessage() { Content = "some Content", CorrelationId = Guid.Parse(Constants.HelloWorldMessage) }; _logger.LogInformation($"SendTestMessage: created message {msg.CorrelationId}"); var id = _countersService.CreateRequest(new CountRequest() { Content = msg.Content, CorrelationId = msg.CorrelationId }); _logger.LogInformation($"SendTestMessage: stored in db {id}"); _messageSender.Send(msg); _logger.LogInformation($"SendTestMessage: sent {id}"); return(Content(msg.CorrelationId.ToString())); } catch (Exception ex) { _logger.LogError(ex.Message); return(StatusCode(500, ex.Message)); } }
private async Task RegisterUser() { using var activity = _activitySource.StartActivity($"{nameof(RegisterUser)}"); { var parameters = new RegisterUserCommandParameters("Bilbo", "Baggins"); var command = new CqrsCommand <RegisterUserCommandParameters>(parameters, SequentialGuid.NewGuid().ToString()); await _messageSender.Send(command); } }
private void ReplicateSelfPlatform() { var world = new ReplicatePartnetPlatformMessage { PartnerPosition = Player.transform.localPosition.x, PartnerVelocity = Player.GetComponent <Rigidbody2D>().velocity.x }; Sender.Send(world); }
public void SendCommand() { for (var i = 0; i < 5000; i++) { var parameters = new MessageParameters("CqrsCommand"); var command = new SendCqrsCommand(parameters, Guid.NewGuid().ToString()); _messageSender.Send(command); } }
private void OnCollisionEnter2D(Collision2D col) { if (col.gameObject.CompareTag(TopBorderTag)) { Bus.Send(new CollideTopBorderMessage()); } else if (col.gameObject.CompareTag(BottomBorderTag)) { Bus.Send(new CollideBottomBorderMessage()); } }
public AlphaResponse PreIntercept(string parentTxId, string compensationMethod, int timeout, string retriesMethod, int retries, params object[] message) { try { return(_sender.Send(new SagaStartedEvent(_omegaContext.GetGlobalTxId(), _omegaContext.GetLocalTxId(), timeout))); } catch (OmegaException ex) { throw new TransactionException(ex.Message, ex); } }
private void SendMessage(Student student) { if (student.AverageMark < 4) { _smsMessageSender.Send(student, _logger); } if (student.MissedLectures > 3) { _emailMessageSender.Send(student, _logger); _emailMessageSender.Send(student, _logger); } }
public void Send(IMessageSender sender) { this.Log().Info("开始计算个股形态"); DateTime StartDate0 = stockService.GetLatestDate(ObjectType.Stock, "0601988"); DateTime StartDate1 = stockService.GetLatestDate(ObjectType.Stock, "0601318"); var StartDate = StartDate0.CompareTo(StartDate1) >= 0 ? StartDate0 : StartDate1; IList <stockcategory> cateList = cateService.FindAll(); TechCycle[] cycleList = new TechCycle[] { TechCycle.day, TechCycle.week, TechCycle.month }; var log = this.Log(); foreach (var category in cateList) { if (StartDate.ToString("yyyyMMdd") == DateTime.Now.ToString("yyyyMMdd")) { log.Info(string.Format("导入今天日线数据,分类:{1}:从日期{0}", StartDate.ToString("yyyy-MM-dd"), category.name)); var task1 = new PriceUpdate { StartDate = StartDate, CateCode = category.code }; sender.Send(JsonConvert.SerializeObject(task1)); //ImportTodayPrice(stockList); } else { IList <data.stock> stockList = stockService.GetStockByCategory(category.code); foreach (var stock in stockList) { var task1 = new PriceUpdate { StartDate = StartDate, StockCode = stock.code }; sender.Send(JsonConvert.SerializeObject(task1)); //log.Info(string.Format("导入日线开始,股票:{1}:从日期{0}", StartDate.ToString("yyyy-MM-dd"), stock.name)); //ImportDay(stock, StartDate); //log.Info(string.Format("导入周线开始,股票:{1}:从日期{0}", StartDate.ToString("yyyy-MM-dd"), stock.name)); //ImportWeek(stock, StartDate); //log.Info(string.Format("导入月线开始,股票:{1}:从日期{0}", StartDate.ToString("yyyy-MM-dd"), stock.name)); //ImportMonth(stock, StartDate); //log.Info(string.Format("导入结束,股票:{1}:从日期{0}", StartDate.ToString("yyyy-MM-dd"), stock.name)); } } } }
public void PurgeTimeouts() { lock (LockObject) { var array = new ReplyWait[_internal.Count]; _internal.Values.CopyTo(array, 0); foreach (var replyWait in array) { if (!replyWait.IsTimeout) { continue; } if (replyWait.Attempts++ >= 3) { _internal.Remove(replyWait.CorrelationId); } else { replyWait.Sent = DateTimeProvider.UtcNow; _messageSender.Send(replyWait.Package.EndPoint, replyWait.Package.Data); } } } }
public int Run() { var dateTime = DateTimeOffset.Now.AddMinutes(-1); var messages = _repository.GetAll() .Where(x => x.SentDateTime == null && x.RetriedCount < 3) .Where(x => (x.RetriedCount == 0 && x.CreatedDateTime < dateTime) || (x.RetriedCount != 0 && x.UpdatedDateTime < dateTime)) .ToList(); if (messages.Any()) { foreach (var sms in messages) { _smsMessageCreatedEventSender.Send(new SmsMessageCreatedEvent { Id = sms.Id }); sms.RetriedCount++; _repository.AddOrUpdate(sms); _repository.UnitOfWork.SaveChanges(); } } else { _logger.LogInformation("No SMS to resend."); } return(messages.Count); }
public async Task <T> Send <T>(object message) { try { _logger.LogDebug("准备发送消息"); var microMessage = new MicroMessage(message); var callback = RegistCallbackAsync <T>(microMessage.Id); try { _logger.LogDebug($"{_sender.GetType()}:send :{JsonConvert.SerializeObject(microMessage)}"); //发送 await _sender.Send(microMessage); } catch (Exception exception) { _logger.LogError(exception, "与服务端通讯时发生了异常"); throw new SpearException("与服务端通讯时发生了异常"); } _logger.LogDebug("消息发送成功"); return(await callback); } catch (Exception ex) { _logger.LogError(ex, "消息发送失败。"); throw new SpearException("消息发送失败"); } }
public void Handle(EntityCreatedEvent <FileEntry> domainEvent) { using (var scope = _serviceProvider.CreateScope()) { var auditSerivce = scope.ServiceProvider.GetService <IAuditLogService>(); var currentUser = scope.ServiceProvider.GetService <ICurrentUser>(); auditSerivce.AddOrUpdate(new AuditLogEntryDTO { UserId = currentUser.IsAuthenticated ? currentUser.UserId : Guid.Empty, CreatedDateTime = domainEvent.EventDateTime, Action = "CREATED_FILEENTRY", ObjectId = domainEvent.Entity.Id.ToString(), Log = domainEvent.Entity.AsJsonString(), }); IMessageSender <FileUploadedEvent> fileUploadedEventSender = scope.ServiceProvider.GetService <IMessageSender <FileUploadedEvent> >(); // Forward to external systems fileUploadedEventSender.Send(new FileUploadedEvent { FileEntry = domainEvent.Entity, }); } }
public async Task <IActionResult> StartProcessing([FromBody] int userId) { var user = await _userService.GetAsync(userId); var startProcessingCommand = new StartProcessingEvent { UserIdentifier = new YandexDiskUserIdentifier { UserId = user.Id }, Token = user.YandexDiskAccessToken }; _messageSender.Send(startProcessingCommand); return(Ok()); }
public void Send(IMessageSender sender) { this.Log().Info("清空数据"); ClearRecormend(); var groups = new string[] { "tencent", "market" }; foreach (var group in groups) { this.Log().Info("推荐" + group + "股票"); IList <data.stockcategory> cateList = cateService.GetCategoryList(group); IList <data.indexdefinition> indexList = indexService.FindAll().Where(p => p.state == 1).ToList(); foreach (var cate in cateList) { foreach (var index in indexList) { RecoCateStock msg = new RecoCateStock { CateCode = cate.code, CateName = cate.name, IndexCode = index.code, IndexName = index.name }; sender.Send(JsonConvert.SerializeObject(msg)); } } } }
public bool Stop() { bool bRetorno = true; IObjectContainer Contenedor = null; try { Contenedor = Db4oFactory.OpenClient(MiCliente.Server, Convert.ToInt32(MiCliente.Port), MiCliente.User, MiCliente.Password); if (Contenedor != null) { IMessageSender messageSender = Contenedor.Ext().Configure().ClientServer() .GetMessageSender(); //envio el mensaje messageSender.Send(new StopServer("")); Thread.Sleep(1000);//espero a que llegue el pinci mensaje //cierro el contenedor if (Contenedor != null) { Contenedor.Close(); } Contenedor.Dispose(); } } catch (System.Net.Sockets.SocketException) { //No se conecto, ta cerrado bRetorno = true; //nomas por poner codigo } catch (Exception) { bRetorno = false;//No se pudo detener //Console.WriteLine(e.ToString()); } return(bRetorno); }
/// <summary> /// stops a db4o Server started with StartServer. /// </summary> /// <exception cref="Exception" /> public static void Main(string[] args) { IObjectContainer IObjectContainer = null; try { // connect to the server IObjectContainer = Db4oClientServer.OpenClient(Db4oClientServer.NewClientConfiguration(), HOST, PORT, USER, PASS); } catch (Exception e) { Console.WriteLine(e.ToString()); } if (IObjectContainer != null) { // get the messageSender for the IObjectContainer IMessageSender messageSender = IObjectContainer.Ext() .Configure().ClientServer().GetMessageSender(); // send an instance of a StopServer object messageSender.Send(new StopServer()); // close the IObjectContainer IObjectContainer.Close(); } }
public static void Send <TMessage>(this IMessageSender <TMessage> sender, string ipAddress, int port, byte[] data, Action <Exception?>?callback) where TMessage : IMessage <IPEndPoint, ArraySegment <byte> >, new() { Ensure.ArgumentNotNull(ipAddress, "ipAddress"); Ensure.ArgumentNotNull(data, "data"); sender.Send(IPAddress.Parse(ipAddress), port, data, 0, data.Length, callback); }
public void Handle(EntityCreatedEvent <SmsMessage> domainEvent) { // Handle the event here and we can also forward to external systems _smsMessageCreatedEventSender.Send(new SmsMessageCreatedEvent { Id = domainEvent.Entity.Id }); }
public int ResendEmailMessages() { var dateTime = _dateTimeProvider.OffsetNow.AddMinutes(-1); var messages = _repository.GetAll() .Where(x => x.SentDateTime == null && x.RetriedCount < 3) .Where(x => (x.RetriedCount == 0 && x.CreatedDateTime < dateTime) || (x.RetriedCount != 0 && x.UpdatedDateTime < dateTime)) .ToList(); if (messages.Any()) { foreach (var email in messages) { _emailMessageCreatedEventSender.Send(new EmailMessageCreatedEvent { Id = email.Id }); email.RetriedCount++; _repository.AddOrUpdate(email); _repository.UnitOfWork.SaveChanges(); } } else { _logger.LogInformation("No email to resend."); } return(messages.Count); }
public static void Send <TMessage>(this IMessageSender <TMessage> sender, IPAddress ipAddress, int port, byte[] data, int index, int count, Action <Exception?>?callback) where TMessage : IMessage <IPEndPoint, ArraySegment <byte> >, new() { Ensure.ArgumentNotNull(data, "data"); Ensure.ArgumentNotNull(ipAddress, "ipAddress"); sender.Send(new IPEndPoint(ipAddress, port), new ArraySegment <byte>(data, index, count), callback); }
protected void SendMessage(string id, string destination, IMessage message, IMessageSender messageSender) { var logContext = $"{nameof(SendMessage)} id='{id}', destination='{destination}'"; Logger.LogDebug($"+{logContext}"); if (id == null) { if (message.GetHeader(MessageHeaders.Id) == null) { Logger.LogError($"{logContext}: Message missing Id header"); throw new ArgumentNullException(nameof(id), "message needs an id"); } } else { message.SetHeader(MessageHeaders.Id, id); } message.SetHeader(MessageHeaders.Destination, destination); message.SetHeader(MessageHeaders.Date, HttpDateHeaderFormatUtil.NowAsHttpDateString()); PreSend(message); try { messageSender.Send(message); PostSend(message, null); } catch (Exception e) { Logger.LogError(e, $"{logContext}: Exception sending message"); PostSend(message, e); throw; } }
public static void SendMessageToServer(string message) { IObjectContainer objectContainer = null; try { // connect to the server objectContainer = Db4oFactory.OpenClient(ServerConfiguration.Host, ServerConfiguration.Port, ServerConfiguration.User, ServerConfiguration.Password); } catch (Exception e) { Console.WriteLine(e.ToString()); } if (objectContainer != null) { // get the messageSender for the IObjectContainer IMessageSender messageSender = objectContainer.Ext() .Configure().ClientServer().GetMessageSender(); // send an instance of a StopServer object messageSender.Send(message); // close the IObjectContainer objectContainer.Close(); } }
/// <summary> /// Sends a message. /// </summary> /// <param name="messageSender">The extended <see cref="IMessageSender"/>.</param> /// <param name="message">The <see cref="IMessageDescriptor">message</see> to send.</param> /// <param name="cancellationToken">A <see cref="CancellationToken">token</see> that can be used to cancel the operation.</param> /// <returns>A <see cref="Task">task</see> representing the asynchronous operation.</returns> public static Task Send(this IMessageSender messageSender, IMessageDescriptor message, CancellationToken cancellationToken) { Arg.NotNull(messageSender, nameof(messageSender)); Arg.NotNull(message, nameof(message)); return(messageSender.Send(new[] { message }, cancellationToken)); }
public int ResendSmsMessage() { var dateTime = _dateTimeProvider.OffsetNow.AddMinutes(-1); var messages = _repository.GetAll() .Where(x => x.SentDateTime == null && x.RetriedCount < 3) .Where(x => (x.RetriedCount == 0 && x.CreatedDateTime < dateTime) || (x.RetriedCount != 0 && x.UpdatedDateTime < dateTime)) .ToList(); if (messages.Any()) { foreach (var sms in messages) { _smsMessageCreatedEventSender.Send(new SmsMessageCreatedEvent { Id = sms.Id }); _repository.IncreaseRetry(sms.Id); } } else { _logger.LogInformation("No SMS to resend."); } return(messages.Count); }
public void PurgeTimeouts() { lock (LockObject) { var array = new ReplyWait[_internal.Count]; _internal.Values.CopyTo(array, 0); foreach (var replyWait in array) { if (!replyWait.IsTimeout) { Logger.Verbose("Timeout message attempt {0} for {1} sent to {2} correlation {3}", replyWait.Attempts, replyWait.Package.EndPoint, replyWait.Sent.ToLocalTime(), replyWait.CorrelationId); continue; } if (replyWait.Attempts++ >= 3) { _internal.Remove(replyWait.CorrelationId); PeerInfo peerInfo; if (_peerList.TryGet(replyWait.Package.EndPoint, out peerInfo)) { _peerList.Punish(peerInfo.BotId); } } else { replyWait.Sent = DateTimeProvider.UtcNow; Logger.Verbose("Retrying message attempt {0} for {1} sent to {2} correlation {3}", replyWait.Attempts, replyWait.Package.EndPoint, replyWait.Sent.ToLocalTime(), replyWait.CorrelationId); _messageSender.Send(replyWait.Package.EndPoint, replyWait.Package.Data); } } } }
public async Task <MessageResult> Send(InvokeMessage message) { var watch = Stopwatch.StartNew(); try { if (_logger.IsEnabled(LogLevel.Debug)) { _logger.LogDebug("准备发送消息"); } var callback = RegistCallbackAsync(message.Id); if (_logger.IsEnabled(LogLevel.Debug)) { _logger.LogDebug($"{_sender.GetType()}:send :{JsonConvert.SerializeObject(message)}"); } //发送 await _sender.Send(message); if (_logger.IsEnabled(LogLevel.Debug)) { _logger.LogDebug("消息发送成功"); } return(await callback); } finally { watch.Stop(); if (_logger.IsEnabled(LogLevel.Debug)) { _logger.LogDebug($"send message {watch.ElapsedMilliseconds} ms"); } } }
private void SendAll(IEnumerable messages, IMessageSender sender) { IEnumerator iterator = messages.GetEnumerator(); while (iterator.MoveNext()) { sender.Send(iterator.Current); } }
private void SendEvenOddMessages(IMessageSender even, IMessageSender odd) { for (int i = 0; i < 10; ++i) { int message = i; if (i % 2 == 0) { even.Send(message); } else { odd.Send(message); } } }