github.com/goravel/framework@v1.13.9/contracts/queue/queue.go (about)

     1  package queue
     2  
     3  //go:generate mockery --name=Queue
     4  type Queue interface {
     5  	Worker(args *Args) Worker
     6  	// Register register jobs
     7  	Register(jobs []Job)
     8  	// GetJobs get all jobs
     9  	GetJobs() []Job
    10  	// Job add a job to queue
    11  	Job(job Job, args []Arg) Task
    12  	// Chain creates a chain of jobs to be processed one by one, passing
    13  	Chain(jobs []Jobs) Task
    14  }
    15  
    16  type Worker interface {
    17  	Run() error
    18  }
    19  
    20  type Args struct {
    21  	// Specify connection
    22  	Connection string
    23  	// Specify queue
    24  	Queue string
    25  	// Concurrent num
    26  	Concurrent int
    27  }
    28  
    29  type Arg struct {
    30  	Type  string
    31  	Value any
    32  }