public IActionResult OnPost() { try { var runningJobs = _actionScheduler.GetRunningJobs <Core.Bot>(); StartupMessage = _repository.List <Core.Data.StartupMessage>(); var startUpMessage = StartupMessage.FirstOrDefault(); if (runningJobs.Any()) { _bot.Stop("AlphaBot is offline."); // ToDo: add to database _actionScheduler.StopRunningJobs <Core.Bot>(); IsRunning = false; } else { _actionScheduler.Enqueue(() => _bot.Start(startUpMessage.Message)); IsRunning = true; } TimedMessages = _repository.List <Core.Data.TimedMessage>(); ProjectText = _repository.List <Core.Data.ProjectText>(); } catch (Exception ex) { Log.Error($"Index.OnPost(): {ex.Message} - {ex.StackTrace}"); } return(Page()); }
private static ValueTask <int> SendStartupMessage <TSender>(TSender sender, Memory <byte> sendBuffer, string database, string userName, CancellationToken cancellationToken) where TSender : ISender { var startupMessage = new StartupMessage(); startupMessage.SetDatabase(database); startupMessage.SetUser(userName); startupMessage.SetApplicationName("MyApp"); return(WriteAndSendMessage(startupMessage, sender, sendBuffer, cancellationToken)); }
// 读取第一个消息,如果第1个是SSLRequest,那么会有第2个startup msg。 public async Task <Msg> ReadStartMsgAsync(int milliSecondsTimeout = -1) { Msg msg = readBuf.GetStartupMsg(); if (msg != null) { StartupMsg = msg as StartupMessage; return(msg); } readBuf.Append(await sock.RcvAsync2(1024 * 4, milliSecondsTimeout)); msg = readBuf.GetStartupMsg(); StartupMsg = msg as StartupMessage; return(msg); }
private void StartupMessageHandler(StartupMessage startupMessage) { _logger.Info($"StartupMessageHandler() called"); ExecuteActions(StartupActions); Messenger.Default?.Send <StartupActionsCalled>(new StartupActionsCalled()); }