Example #1
0
        public void Run()
        {
            var expiredIds    = new List <string>(TokenStore.GetExpired().ToEnumerable());
            var expiredTokens = TokenDAO.GetByIdBulk(connection, expiredIds).Result;

            long expirationCutoff = new DateTimeOffset(DateTime.UtcNow, new TimeSpan(-EXPIRATION_WINDOW_DAYS, 0, 0)).ToUnixTimeMilliseconds();

            foreach (var expiredToken in expiredTokens)
            {
                if (expiredToken.ExpiresAt > expirationCutoff)
                {
                    continue;
                }

                Log.Info($"Removing expired token { expiredToken.ID }");
                TokenDAO.Delete(connection, expiredToken.ID).Wait();
            }
        }