Documentation
¶
Index ¶
- type Store
- func (s *Store) ClaimNextTask(ctx context.Context, workerID string) (*models.Task, error)
- func (s *Store) CompleteTask(ctx context.Context, taskID int64) error
- func (s *Store) CreateTask(ctx context.Context, req models.CreateTaskRequest) (*models.Task, error)
- func (s *Store) GetPool() *pgxpool.Pool
- func (s *Store) GetStats(ctx context.Context) (*models.TaskStatsResponse, error)
- func (s *Store) GetTask(ctx context.Context, id int64) (*models.Task, error)
- func (s *Store) GetTaskHistory(ctx context.Context, taskID int64) ([]models.TaskHistory, error)
- func (s *Store) InsertHistory(ctx context.Context, history models.TaskHistory) error
- func (s *Store) MarkTaskFailed(ctx context.Context, taskID int64, errorMessage string) error
- func (s *Store) ScheduleRetry(ctx context.Context, taskID int64, errorMessage string) error
- func (s *Store) UpdateTaskStatus(ctx context.Context, taskID int64, status models.TaskStatus, ...) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
Store implements the storage.Store interface using PostgreSQL
func (*Store) ClaimNextTask ¶
ClaimNextTask atomically claims the next available task for processing Handles timeout recovery and respects next_run_at scheduling Prioritizes tasks with expired locks to prevent starvation
func (*Store) CompleteTask ¶
CompleteTask marks a task as successfully completed
func (*Store) CreateTask ¶
CreateTask creates a new task in the database
func (*Store) GetTaskHistory ¶
GetTaskHistory retrieves the history of status changes for a task
func (*Store) InsertHistory ¶
InsertHistory adds a new detailed event entry to task history
func (*Store) MarkTaskFailed ¶
MarkTaskFailed permanently marks a task as failed (no more retries)
func (*Store) ScheduleRetry ¶
ScheduleRetry marks a task for retry with exponential backoff
func (*Store) UpdateTaskStatus ¶
func (s *Store) UpdateTaskStatus(ctx context.Context, taskID int64, status models.TaskStatus, errorMessage *string) error
UpdateTaskStatus updates the status of a task