queue

package
v0.0.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 25, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Queue

type Queue struct {
	Tasks []QueuedTask `json:"tasks"`
	// contains filtered or unexported fields
}

Queue manages the task queue

func Load

func Load(worktreeDir string) (*Queue, error)

Load loads queue from worktrees/.queue.json

func (*Queue) Add

func (q *Queue) Add(agentName, worktree string) (*QueuedTask, error)

Add adds a task to the queue

func (*Queue) Clear

func (q *Queue) Clear() error

Clear removes all completed and failed tasks

func (*Queue) Count

func (q *Queue) Count(status TaskStatus) int

Count returns count of tasks by status

func (*Queue) List

func (q *Queue) List(status TaskStatus) []QueuedTask

List returns all tasks, optionally filtered by status

func (*Queue) Next

func (q *Queue) Next() (*QueuedTask, error)

Next returns the next pending task (first in queue)

func (*Queue) Remove

func (q *Queue) Remove(taskID string) error

Remove removes a task from the queue

func (*Queue) Save

func (q *Queue) Save() error

Save persists queue atomically

func (*Queue) UpdateStatus

func (q *Queue) UpdateStatus(taskID string, status TaskStatus, taskErr error) error

UpdateStatus updates the status of a task

type QueuedTask

type QueuedTask struct {
	ID          string     `json:"id"`                     // UUID
	AgentName   string     `json:"agent_name"`             // From .worktree.yml
	Worktree    string     `json:"worktree"`               // Feature name
	Status      TaskStatus `json:"status"`                 // Current status
	CreatedAt   time.Time  `json:"created_at"`             // When added to queue
	StartedAt   *time.Time `json:"started_at,omitempty"`   // When execution started
	CompletedAt *time.Time `json:"completed_at,omitempty"` // When execution completed
	Error       string     `json:"error,omitempty"`        // Error message if failed
	Duration    int64      `json:"duration_ms,omitempty"`  // Duration in milliseconds
}

QueuedTask represents a task in the queue

type TaskStatus

type TaskStatus string
const (
	StatusPending   TaskStatus = "pending"
	StatusRunning   TaskStatus = "running"
	StatusCompleted TaskStatus = "completed"
	StatusFailed    TaskStatus = "failed"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL