Example #1
0
        protected override string Schedule => "*/1 * * * *";         // every minute

        public override async Task ProcessInScope(IServiceProvider serviceProvider)
        {
            Models.ServerManager manager =
                serviceProvider.GetService(typeof(Models.ServerManager)) as Models.ServerManager;
            NetworkUtility network = serviceProvider.GetService(typeof(NetworkUtility)) as NetworkUtility;

            foreach (Server server in manager.Servers)
            {
                var reachable = await network.IsReachable(server.IP);

                if (reachable)
                {
                    server.Online = true;
                }
                else
                {
                    server.Online = false;
                }
            }

            await manager.SaveChangesAsync();
        }
Example #2
0
 public ServerController(Models.ServerManager context, NetworkUtility network)
 {
     this.context = context;
     this.network = network;
 }