Documentation
¶
Overview ¶
Package postgres provides the SQLC-backed durable cron Store.
Index ¶
- type AcquireExpiredRunParams
- type AdvanceJobNextRunParams
- type CandaceCronJob
- type CandaceCronRun
- type DBTX
- type FinishRunParams
- type HasLiveRunForJobParams
- type InsertRunningRunParams
- type InsertSkippedRunParams
- type ListExpiredRunningRunsParams
- type MarkExpiredRunSkippedParams
- type MigrationSource
- type Queries
- func (q *Queries) AcquireExpiredRun(ctx context.Context, arg AcquireExpiredRunParams) (CandaceCronRun, error)
- func (q *Queries) AdvanceJobNextRun(ctx context.Context, arg AdvanceJobNextRunParams) (int64, error)
- func (q *Queries) FinishRun(ctx context.Context, arg FinishRunParams) (int64, error)
- func (q *Queries) GetJobForUpdate(ctx context.Context, jobName string) (CandaceCronJob, error)
- func (q *Queries) GetRunForUpdate(ctx context.Context, occurrenceID string) (CandaceCronRun, error)
- func (q *Queries) HasLiveRunForJob(ctx context.Context, arg HasLiveRunForJobParams) (bool, error)
- func (q *Queries) InsertRunningRun(ctx context.Context, arg InsertRunningRunParams) (CandaceCronRun, error)
- func (q *Queries) InsertSkippedRun(ctx context.Context, arg InsertSkippedRunParams) (CandaceCronRun, error)
- func (q *Queries) ListExpiredRunningRuns(ctx context.Context, arg ListExpiredRunningRunsParams) ([]CandaceCronRun, error)
- func (q *Queries) ListJobs(ctx context.Context) ([]CandaceCronJob, error)
- func (q *Queries) ListJobsForUpdate(ctx context.Context) ([]CandaceCronJob, error)
- func (q *Queries) ListRecentRuns(ctx context.Context, rowLimit int32) ([]CandaceCronRun, error)
- func (q *Queries) LockReconciliation(ctx context.Context) error
- func (q *Queries) MarkExpiredRunSkipped(ctx context.Context, arg MarkExpiredRunSkippedParams) (CandaceCronRun, error)
- func (q *Queries) RenewRunLease(ctx context.Context, arg RenewRunLeaseParams) (int64, error)
- func (q *Queries) SetJobEnabled(ctx context.Context, arg SetJobEnabledParams) (CandaceCronJob, error)
- func (q *Queries) UpsertJob(ctx context.Context, arg UpsertJobParams) (CandaceCronJob, error)
- func (q *Queries) WithTx(tx *sql.Tx) *Queries
- type RenewRunLeaseParams
- type SetJobEnabledParams
- type Store
- func (s *Store) Claim(ctx context.Context, r cron.ClaimRequest) (cron.ClaimResult, error)
- func (s *Store) Complete(ctx context.Context, r cron.Completion) error
- func (s *Store) Expired(ctx context.Context, now time.Time, limit int) ([]cron.OccurrenceRecord, error)
- func (s *Store) Reconcile(ctx context.Context, defs []cron.JobDefinition, now time.Time) ([]cron.JobState, error)
- func (s *Store) Renew(ctx context.Context, r cron.LeaseRenewal) error
- func (s *Store) Skip(ctx context.Context, r cron.SkipRequest) error
- func (s *Store) Snapshot(ctx context.Context) (cron.StoreSnapshot, error)
- type UpsertJobParams
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AcquireExpiredRunParams ¶
type AcquireExpiredRunParams struct {
WorkerID sql.NullString
LeaseToken sql.NullString
LeaseUntil sql.NullTime
ClaimedAt sql.NullTime
OccurrenceID string
}
type AdvanceJobNextRunParams ¶
type CandaceCronJob ¶
type CandaceCronJob struct {
JobName string
ScheduleKind string
LocalHour sql.NullInt16
LocalMinute sql.NullInt16
Weekday sql.NullInt16
MonthDay sql.NullInt16
IntervalNanoseconds sql.NullInt64
RawExpression sql.NullString
Timezone string
IntervalAnchorAt sql.NullTime
ScheduleCursorAt sql.NullTime
NextRunAt sql.NullTime
CatchUpPolicy string
OverlapPolicy string
Enabled bool
CreatedAt time.Time
UpdatedAt time.Time
}
type CandaceCronRun ¶
type CandaceCronRun struct {
OccurrenceID string
JobName string
ScheduledAt time.Time
Status string
Attempt int32
WorkerID sql.NullString
LeaseToken sql.NullString
LeaseUntil sql.NullTime
StartedAt sql.NullTime
FinishedAt sql.NullTime
ErrorSummary sql.NullString
SkipReason sql.NullString
CreatedAt time.Time
UpdatedAt time.Time
}
type FinishRunParams ¶
type FinishRunParams struct {
Status string
FinishedAt sql.NullTime
ErrorSummary sql.NullString
OccurrenceID string
LeaseToken sql.NullString
}
type HasLiveRunForJobParams ¶
type InsertRunningRunParams ¶
type InsertSkippedRunParams ¶
type MarkExpiredRunSkippedParams ¶
type MarkExpiredRunSkippedParams struct {
SkippedAt sql.NullTime
SkipReason sql.NullString
OccurrenceID string
}
type MigrationSource ¶
MigrationSource is the embedded relational schema owned by the cron PostgreSQL adapter. An application can feed it to its migration runner without copying cron's table definitions into the application.
func EmbeddedMigrations ¶
func EmbeddedMigrations() MigrationSource
EmbeddedMigrations returns cron's canonical PostgreSQL schema source.
type Queries ¶
type Queries struct {
// contains filtered or unexported fields
}
func (*Queries) AcquireExpiredRun ¶
func (q *Queries) AcquireExpiredRun(ctx context.Context, arg AcquireExpiredRunParams) (CandaceCronRun, error)
func (*Queries) AdvanceJobNextRun ¶
func (*Queries) GetJobForUpdate ¶
func (*Queries) GetRunForUpdate ¶
func (*Queries) HasLiveRunForJob ¶
func (*Queries) InsertRunningRun ¶
func (q *Queries) InsertRunningRun(ctx context.Context, arg InsertRunningRunParams) (CandaceCronRun, error)
func (*Queries) InsertSkippedRun ¶
func (q *Queries) InsertSkippedRun(ctx context.Context, arg InsertSkippedRunParams) (CandaceCronRun, error)
func (*Queries) ListExpiredRunningRuns ¶
func (q *Queries) ListExpiredRunningRuns(ctx context.Context, arg ListExpiredRunningRunsParams) ([]CandaceCronRun, error)
func (*Queries) ListJobs ¶
func (q *Queries) ListJobs(ctx context.Context) ([]CandaceCronJob, error)
func (*Queries) ListJobsForUpdate ¶
func (q *Queries) ListJobsForUpdate(ctx context.Context) ([]CandaceCronJob, error)
func (*Queries) ListRecentRuns ¶
func (*Queries) LockReconciliation ¶
func (*Queries) MarkExpiredRunSkipped ¶
func (q *Queries) MarkExpiredRunSkipped(ctx context.Context, arg MarkExpiredRunSkippedParams) (CandaceCronRun, error)
func (*Queries) RenewRunLease ¶
func (*Queries) SetJobEnabled ¶
func (q *Queries) SetJobEnabled(ctx context.Context, arg SetJobEnabledParams) (CandaceCronJob, error)
func (*Queries) UpsertJob ¶
func (q *Queries) UpsertJob(ctx context.Context, arg UpsertJobParams) (CandaceCronJob, error)
type RenewRunLeaseParams ¶
type SetJobEnabledParams ¶
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
Store persists cron state in PostgreSQL. Callers own the database lifecycle.
func (*Store) Claim ¶
func (s *Store) Claim(ctx context.Context, r cron.ClaimRequest) (cron.ClaimResult, error)
func (*Store) Expired ¶
func (s *Store) Expired(ctx context.Context, now time.Time, limit int) ([]cron.OccurrenceRecord, error)
Expired returns a bounded, deterministic recovery work list without moving any cursor. Claim fences and reclaims the selected occurrence.
type UpsertJobParams ¶
type UpsertJobParams struct {
JobName string
ScheduleKind string
LocalHour sql.NullInt16
LocalMinute sql.NullInt16
Weekday sql.NullInt16
MonthDay sql.NullInt16
IntervalNanoseconds sql.NullInt64
RawExpression sql.NullString
Timezone string
IntervalAnchorAt sql.NullTime
ScheduleCursorAt sql.NullTime
NextRunAt sql.NullTime
CatchUpPolicy string
OverlapPolicy string
Enabled bool
}
Click to show internal directories.
Click to hide internal directories.