CreateAndOpenConnection() 공개 메소드

Opens connection to database
public CreateAndOpenConnection ( ) : HangfireDbContext
리턴 Hangfire.Mongo.Database.HangfireDbContext
        /// <summary>
        /// Run expiration manager to remove outdated records
        /// </summary>
        /// <param name="cancellationToken">Cancellation token</param>
        public void Execute(CancellationToken cancellationToken)
        {
            using (HangfireDbContext connection = _storage.CreateAndOpenConnection())
            {
                DateTime now = DateTime.UtcNow;

                RemoveExpiredRecord(connection.Job, _ => _.ExpireAt, now);
                RemoveExpiredRecord(connection.StateData.OfType <ExpiringKeyValueDto>(), _ => _.ExpireAt, now);
            }

            cancellationToken.WaitHandle.WaitOne(_checkInterval);
        }
예제 #2
0
        /// <summary>
        /// Run expiration manager to remove outdated records
        /// </summary>
        /// <param name="cancellationToken">Cancellation token</param>
        public void Execute(CancellationToken cancellationToken)
        {
            using (HangfireDbContext connection = _storage.CreateAndOpenConnection())
            {
                DateTime now = DateTime.UtcNow;

                Logger.DebugFormat("Removing outdated records from table '{0}'...", connection.JobGraph.CollectionNamespace.CollectionName);

                connection
                .JobGraph
                .OfType <ExpiringJobDto>().DeleteMany(Builders <ExpiringJobDto> .Filter.Lt(_ => _.ExpireAt, now));
            }

            cancellationToken.WaitHandle.WaitOne(_checkInterval);
        }
        /// <summary>
        /// Run expiration manager to remove outdated records
        /// </summary>
        /// <param name="cancellationToken">Cancellation token</param>
        public void Execute(CancellationToken cancellationToken)
        {
            using (HangfireDbContext connection = _storage.CreateAndOpenConnection())
            {
                DateTime now = connection.GetServerTimeUtc();

                RemoveExpiredRecord(connection.AggregatedCounter, _ => _.ExpireAt, now);
                RemoveExpiredRecord(connection.Counter, _ => _.ExpireAt, now);
                RemoveExpiredRecord(connection.Job, _ => _.ExpireAt, now);
                RemoveExpiredRecord(connection.List, _ => _.ExpireAt, now);
                RemoveExpiredRecord(connection.Set, _ => _.ExpireAt, now);
                RemoveExpiredRecord(connection.Hash, _ => _.ExpireAt, now);
            }

            cancellationToken.WaitHandle.WaitOne(_checkInterval);
        }
예제 #4
0
        public void Execute(CancellationToken cancellationToken)
        {
            using (HangfireDbContext connection = _storage.CreateAndOpenConnection())
            {
                MongoCollection[] processedTables =
                {
                    connection.Counter,
                    connection.Job,
                    connection.List,
                    connection.Set,
                    connection.Hash
                };

                DateTime now = connection.GetServerTimeUtc();
                foreach (var table in processedTables)
                {
                    Logger.DebugFormat("Removing outdated records from table '{0}'...", table.Name);

                    table.Remove(Query.LT("ExpireAt", now));
                }
            }

            cancellationToken.WaitHandle.WaitOne(_checkInterval);
        }