Esempio n. 1
0
 static void WorkSessionAdminTools_Disposed(IWorkSession workSession, DocumentDiagnosticEventArgs e)
 {
     WorkSessionMessenger.SendMessage(MessageOperation.RemoveWorkSession, workSession.ID, workSession.DocumentInfo.DocumentId);
     #if DEBUG
     Log(workSession, "Remove");
     #endif
 }
Esempio n. 2
0
 static void WorkSessionAdminTools_Created(IWorkSession workSession, DocumentDiagnosticEventArgs e)
 {
     WorkSessionMessenger.SendMessage(MessageOperation.AddWorkSession, workSession.ID, workSession.DocumentInfo.DocumentId);
     #if DEBUG
     Log(workSession, "Add");
     #endif
 }
Esempio n. 3
0
 static void WorkSessionAdminTools_WokeUp(IWorkSession workSession, DocumentDiagnosticEventArgs e)
 {
     WorkSessionMessenger.SendMessage(MessageOperation.WakeUpWorkSession, workSession.ID, workSession.DocumentInfo.DocumentId);
     #if DEBUG
     Log(workSession, "WokenUp");
     #endif
 }
Esempio n. 4
0
 static void NotifyRoutingServer()
 {
     var serverStateTask = Task.Run(async() => {
         while (!IsRoutingRoleRunning())
         {
             await Task.Delay(1000);
         }
         WorkSessionMessenger.SendMessage(MessageOperation.RegisterServer, new List <WorkSessionServerInfo>());
     });
 }
Esempio n. 5
0
        private static void OnServerNumberDecreased(List <WorkSessionServerInfo> servers)
        {
            List <WorkSessionServerInfo> selfEvent = servers.Where(s => s.RoleInstanceId == RoleEnvironment.CurrentRoleInstance.Id).ToList();

            if (selfEvent.Count() > 0)
            {
                WorkSessionMessenger.SendMessage(MessageOperation.UnregisterServer, new List <WorkSessionServerInfo>());
                InterRoleCommunicator.ShutDown();
                DevExpress.Web.Office.DocumentManager.HibernateAllDocuments();
            }
        }
Esempio n. 6
0
 private static void OnRoleInstanceNumberChanged(int number)
 {
     if (number < 0)
     {
         List <WorkSessionServerInfo> affectedServers = new List <WorkSessionServerInfo>();
         RoutingTable.ForEachWorkSessionServer((roleInstanceId, serverInfo) => {
             if (serverInfo.IsProbablyShuttingDown())
             {
                 affectedServers.Add(serverInfo);
             }
         });
         WorkSessionMessenger.SendMessage(MessageOperation.ServerNumberDecreased, affectedServers);
     }
 }
Esempio n. 7
0
 static void SendShutdownNotification()
 {
     WorkSessionMessenger.SendMessage(MessageOperation.UnregisterServer, new List <WorkSessionServerInfo>());
 }
 static void NotifyServers(MessageOperation operation)
 {
     WorkSessionMessenger.SendMessage(operation, new List <WorkSessionServerInfo>());
 }