Esempio n. 1
0
        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());
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        // 读取第一个消息,如果第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());
 }