Пример #1
0
        public static void Stop()
        {
            // task details tábla szinkronizáció leállítása
            TableSync.Disable <T_TASKS_DETAILS>();

            // task tábla szinkronizáció leállítása
            TableSync.Disable <T_TASKS>();

            // task timer megállítása
            s_taskTimer?.Change(Timeout.Infinite, Timeout.Infinite);

            // megvárjuk míg végigfut a ciklikus task feladata
            s_taskTimer?.WaitToFinish();
            s_taskTimer?.Dispose();
            s_taskTimer = null;

            lock (s_activeTasks)
            {
                // egyéb taskok leállítása
                Parallel.ForEach(s_activeTasks, current => StopTask(current.Value));

                // taskok törlése
                s_activeTasks.Clear();
            }

            s_connectionProvider = null;

            MessageHandler.SendMessage(nameof(TaskManager), "Task vezérlés befejeződött", MessageHandler.MessageType.Info);
        }
Пример #2
0
 private void WorkQueue(LXTimer timer)
 {
     if (queue.Count > 0)
     {
         while (queue.Count > 0)
         {
             queue.Dequeue().Invoke();
         }
         timer.Change(100, LXTimer.Infinite);
     }
     else
     {
         timer.Change(500, LXTimer.Infinite);
     }
 }
Пример #3
0
        public static void Start()
        {
            MessageHandler.SendMessage(nameof(TaskManager), "Task vezérlés kezdése", MessageHandler.MessageType.Info);
            IsActive = true;

            s_connectionProvider = new LXConnectionProvider();

            // task tábla szinkronizáció engedélyezése
            TableSync.Enable <T_TASKS>();

            // task details tábla szinkronizáció engedélyezése
            TableSync.Enable <T_TASKS_DETAILS>();

            // task timer indítása a ciklikus taskokhoz
            s_taskTimer = new LXTimer(TimerCallBack, null, TimeSpan.FromSeconds(5), TimeSpan.FromSeconds(5));
        }
Пример #4
0
        public void LoginChat(Action listBox)
        {
            TwitchApi.Authenticate((t) =>
            {
                IRC.OnSubReceived += Irc_OnSubReceived1;
#if DEBUG
                IRC.Connect("summit1g");// TwitchApi.Name);
#else
                IRC.Connect(TwitchApi.Name);
#endif
                IRC.IRC_Client.ConnectionComplete += (o, e) =>
                {
                    listBox?.Invoke();
                    timer = new LXTimer(WorkQueue, 100, LXTimer.Infinite);
                };
            });
        }