public JobManager(ClientManager clientManager, NodeManager nodeManager) { jobDicByJobID = new Dictionary<int, Job>(); jobListDicByJobListID = new Dictionary<int, List<Job>>(); jobStatusDicByJobID = new Dictionary<int, JobStatus>(); waitingJobQueue = new List<Job>(); this.nodeManager = nodeManager; this.clientManager = clientManager; //jobResultCache = new Dictionary<string, string>(); jobResultCache = new JobResultCache(); }
public void Init() { ServerKey = Guid.NewGuid().ToString(); clientManager = new ClientManager(); nodeManager = new NodeManager(); jobManager = new JobManager(clientManager, nodeManager); hbManager = new HeartbeatManager(OnClientUnreachable, OnNodeUnreachable); //postProcessor = new PostProcessor(jobManager, clientManager, nodeManager, lockObj); nodeManager.AddJobmanager(jobManager); try { IConnection connection = GlobalRabbitMQConnection.Instance.GetConnection(); connection.ConnectionShutdown += Connection_ConnectionShutdown; connection.ConnectionBlocked += Connection_ConnectionBlocked; connection.ConnectionUnblocked += Connection_ConnectionUnblocked; syncClientReceiver = new SyncMessageReceiver("DSDPS_SYNC", "CLIENT", "SERVER", SyncClientMessageProcessor); syncClientReceiver.Init(); syncNodeReceiver = new SyncMessageReceiver("DSDPS_SYNC", "NODE", "SERVER", SyncNodeMessageProcessor); syncNodeReceiver.Init(); syncUpdateReceiver = new SyncMessageReceiver("DSDPS_UPDATE", "NODE", "SERVER", SyncNodeUpdateMessageProcessor); syncUpdateReceiver.Init(true); Console.WriteLine("Node proc binary version : " + DPSServerSetting.Instance.LastNodeProcVersion); Console.WriteLine("Node version : " + DPSServerSetting.Instance.NodeVersion); } catch (Exception) { Console.WriteLine("[Error] Error occured while initializing server! \nPress any key to exit."); Console.Read(); Environment.Exit(1); } DPSServerSetting.Save(); }