Documentation ¶
Index ¶
- Constants
- Variables
- type Connector
- func (c *Connector) ChangeJobVisibility(ctx context.Context, input *jobworker.ChangeJobVisibilityInput, ...) (*jobworker.ChangeJobVisibilityOutput, error)
- func (c *Connector) Close() error
- func (c *Connector) CompleteJob(ctx context.Context, input *jobworker.CompleteJobInput, ...) (*jobworker.CompleteJobOutput, error)
- func (c *Connector) CreateQueue(ctx context.Context, input *jobworker.CreateQueueInput, ...) (*jobworker.CreateQueueOutput, error)
- func (c *Connector) EnqueueJob(ctx context.Context, input *jobworker.EnqueueJobInput, ...) (*jobworker.EnqueueJobOutput, error)
- func (c *Connector) EnqueueJobBatch(ctx context.Context, input *jobworker.EnqueueJobBatchInput, ...) (*jobworker.EnqueueJobBatchOutput, error)
- func (c *Connector) FailJob(ctx context.Context, input *jobworker.FailJobInput, ...) (*jobworker.FailJobOutput, error)
- func (c *Connector) GetName() string
- func (c *Connector) ReceiveJobs(ctx context.Context, ch chan<- *jobworker.Job, ...) (*jobworker.ReceiveJobsOutput, error)
- func (c *Connector) RedriveJob(ctx context.Context, input *jobworker.RedriveJobInput, ...) (*jobworker.RedriveJobOutput, error)
- func (c *Connector) SetLogger(logger jobworker.Logger)
- func (c *Connector) UpdateQueue(ctx context.Context, input *jobworker.UpdateQueueInput, ...) (*jobworker.UpdateQueueOutput, error)
- type Job
- type Querier
- type QueueAttribute
- type Repository
- func (r *Repository) CreateQueueAttribute(ctx context.Context, queueName, queueRawName string, ...) error
- func (r *Repository) DefineQueue(ctx context.Context, queueRawName string) error
- func (r *Repository) DefineQueueAttribute(ctx context.Context) error
- func (r *Repository) DeleteJob(ctx context.Context, queue string, jobID string) error
- func (r *Repository) EnqueueJob(ctx context.Context, queue, jobID, class, args string, ...) error
- func (r *Repository) EnqueueJobWithTime(ctx context.Context, queue string, jobID, class, args string, ...) error
- func (r *Repository) FindJob(ctx context.Context, queue string, jobID string) (*Job, error)
- func (r *Repository) FindJobs(ctx context.Context, queue string, limit int64) ([]*Job, error)
- func (r *Repository) FindQueueAttribute(ctx context.Context, queue string) (*QueueAttribute, error)
- func (r *Repository) GrabJob(ctx context.Context, queue string, job *Job, invisibleTime int64) (grabbed bool, err error)
- func (r *Repository) UpdateJobVisibility(ctx context.Context, queueRawName, jobID string, visibilityTimeout int64) (updated bool, err error)
- func (r *Repository) UpdateQueueAttribute(ctx context.Context, queueRawName string, ...) (updated bool, err error)
- type SQLTemplate
- type Values
Constants ¶
View Source
const ( ConnAttributeNameDSN = "DSN" ConnAttributeNameMaxOpenConns = "MaxOpenConns" ConnAttributeNameMaxIdleConns = "MaxMaxIdleConns" ConnAttributeNameConnMaxLifetime = "ConnMaxLifetime" ConnAttributeNameNumMaxRetries = "NumMaxRetries" )
View Source
const (
PackageName = "jwdk"
)
Variables ¶
View Source
var (
ErrNoFoundQueue = fmt.Errorf("no found queue")
)
Functions ¶
This section is empty.
Types ¶
type Connector ¶
type Connector struct { Name string DB *sql.DB SQLTemplate SQLTemplate IsUniqueViolation func(err error) bool IsDeadlockDetected func(err error) bool Retryer exponential.Retryer // contains filtered or unexported fields }
func (*Connector) ChangeJobVisibility ¶
func (c *Connector) ChangeJobVisibility(ctx context.Context, input *jobworker.ChangeJobVisibilityInput, opts ...func(*jobworker.Option)) (*jobworker.ChangeJobVisibilityOutput, error)
func (*Connector) CompleteJob ¶
func (c *Connector) CompleteJob(ctx context.Context, input *jobworker.CompleteJobInput, opts ...func(*jobworker.Option)) (*jobworker.CompleteJobOutput, error)
func (*Connector) CreateQueue ¶
func (c *Connector) CreateQueue(ctx context.Context, input *jobworker.CreateQueueInput, opts ...func(*jobworker.Option)) (*jobworker.CreateQueueOutput, error)
func (*Connector) EnqueueJob ¶
func (c *Connector) EnqueueJob(ctx context.Context, input *jobworker.EnqueueJobInput, opts ...func(*jobworker.Option)) (*jobworker.EnqueueJobOutput, error)
func (*Connector) EnqueueJobBatch ¶
func (c *Connector) EnqueueJobBatch(ctx context.Context, input *jobworker.EnqueueJobBatchInput, opts ...func(*jobworker.Option)) (*jobworker.EnqueueJobBatchOutput, error)
func (*Connector) FailJob ¶
func (c *Connector) FailJob(ctx context.Context, input *jobworker.FailJobInput, opts ...func(*jobworker.Option)) (*jobworker.FailJobOutput, error)
func (*Connector) ReceiveJobs ¶
func (*Connector) RedriveJob ¶
func (c *Connector) RedriveJob(ctx context.Context, input *jobworker.RedriveJobInput, opts ...func(*jobworker.Option)) (*jobworker.RedriveJobOutput, error)
func (*Connector) UpdateQueue ¶
func (c *Connector) UpdateQueue(ctx context.Context, input *jobworker.UpdateQueueInput, opts ...func(*jobworker.Option)) (*jobworker.UpdateQueueOutput, error)
type Job ¶
type QueueAttribute ¶
type QueueAttribute struct { Name string RawName string DelaySeconds int64 VisibilityTimeout int64 MaximumMessageSize int64 MessageRetentionPeriod int64 DeadLetterTarget string MaxReceiveCount int64 CachePeriod time.Time }
func (QueueAttribute) HasDeadLetter ¶
func (q QueueAttribute) HasDeadLetter() bool
type Repository ¶
type Repository struct {
// contains filtered or unexported fields
}
func NewRepository ¶
func NewRepository(querier Querier, tmpl SQLTemplate) *Repository
func (*Repository) CreateQueueAttribute ¶
func (*Repository) DefineQueue ¶
func (r *Repository) DefineQueue(ctx context.Context, queueRawName string) error
func (*Repository) DefineQueueAttribute ¶
func (r *Repository) DefineQueueAttribute(ctx context.Context) error
func (*Repository) EnqueueJob ¶
func (*Repository) EnqueueJobWithTime ¶
func (*Repository) FindQueueAttribute ¶
func (r *Repository) FindQueueAttribute(ctx context.Context, queue string) (*QueueAttribute, error)
func (*Repository) UpdateJobVisibility ¶
func (*Repository) UpdateQueueAttribute ¶
type SQLTemplate ¶
type SQLTemplate interface { NewFindJobDML(queueRawName string, jobID string) (string, []interface{}) NewFindJobsDML(queueRawName string, limit int64) (string, []interface{}) NewHideJobDML(queueRawName string, jobID string, oldRetryCount, oldInvisibleUntil, invisibleTime int64) (string, []interface{}) NewEnqueueJobDML(queueRawName, jobID, class, args string, deduplicationID, groupID *string, delaySeconds int64) (string, []interface{}) NewEnqueueJobWithTimeDML(queueRawName, jobID, class, args string, deduplicationID, groupID *string, enqueueAt int64) (string, []interface{}) NewDeleteJobDML(queueRawName, jobID string) (string, []interface{}) NewUpdateJobByVisibilityTimeoutDML(queueRawName string, jobID string, visibilityTimeout int64) (string, []interface{}) NewAddQueueAttributeDML(queueName, queueRawName string, delaySeconds, maximumMessageSize, messageRetentionPeriod int64, deadLetterTarget string, maxReceiveCount, visibilityTimeout int64) (string, []interface{}) NewUpdateQueueAttributeDML(visibilityTimeout, delaySeconds, maximumMessageSize, messageRetentionPeriod *int64, deadLetterTarget *string, maxReceiveCount *int64, queueRawName string) (string, []interface{}) NewFindQueueAttributeDML(queueName string) (string, []interface{}) NewCreateQueueAttributeDDL() string NewCreateQueueDDL(queueRawName string) string }
Click to show internal directories.
Click to hide internal directories.