Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DatabaseSQLConn ¶
type DatabaseSQLConn interface {
	BeginTx(context.Context, *sql.TxOptions) (*sql.Tx, error)
	ExecContext(ctx context.Context, query string, args ...any) (sql.Result, error)
}
    Interface for connections that use database/sql.
type GCOptions ¶
type GCOptions struct {
	Logger logger.Logger
	// Query that must atomically update the "last cleanup time" in the metadata table, but only if the garbage collector hasn't run already.
	// The caller will check the nuber of affected rows. If zero, it assumes that the GC has ran too recently, and will not proceed to delete expired records.
	// The query receives one parameter that is the last cleanup interval, in milliseconds.
	UpdateLastCleanupQuery string
	// Name of the parameter passed to the UpdateLeastCleanupQuery query, to use named parameters (via `sql.Named`). The parameter is the time interval.
	// If empty, assumes the parameter is positional and not named.
	// This is ignored when using the pgx querier.
	UpdateLastCleanupQueryParameterName string
	// Query that performs the cleanup of all expired rows.
	DeleteExpiredValuesQuery string
	// Interval to perfm the cleanup.
	CleanupInterval time.Duration
	// Database connection when using pgx.
	DBPgx PgxConn
	// Database connection when using database/sql.
	DBSql DatabaseSQLConn
}
    type GarbageCollector ¶
func ScheduleGarbageCollector ¶
func ScheduleGarbageCollector(opts GCOptions) (GarbageCollector, error)
 Click to show internal directories. 
   Click to hide internal directories.