示例#1
0
        public async Task <JanitorReport[]> CleanupIdleGamespaces(JanitorOptions options)
        {
            var items = new List <JanitorReport>();

            var gamespaces = (await _gamespaceStore.DeleteStale(
                                  options.IdleGamespaceExpiration.ToDatePast(),
                                  options.DryRun
                                  )).ToList();

            if (!options.DryRun)
            {
                await RemoveVms(gamespaces
                                .Select(w => w.GlobalId)
                                .ToArray()
                                );
            }

            return(gamespaces.Select(g => new JanitorReport
            {
                Reason = "IdleGamespace",
                Id = g.Id,
                Name = g.Name,
                Age = g.LastActivity
            }).ToArray());
        }