diff options
Diffstat (limited to 'common')
-rw-r--r-- | common/jobs/interface.go | 7 | ||||
-rw-r--r-- | common/pubsub/interface.go | 4 |
2 files changed, 9 insertions, 2 deletions
diff --git a/common/jobs/interface.go b/common/jobs/interface.go index c957df2b..4b5ff70e 100644 --- a/common/jobs/interface.go +++ b/common/jobs/interface.go @@ -5,11 +5,12 @@ import ( "github.com/spiral/roadrunner/v2/pkg/events" priorityqueue "github.com/spiral/roadrunner/v2/pkg/priority_queue" + jobState "github.com/spiral/roadrunner/v2/pkg/state/job" "github.com/spiral/roadrunner/v2/plugins/jobs/job" "github.com/spiral/roadrunner/v2/plugins/jobs/pipeline" ) -// Consumer todo naming +// Consumer represents a single jobs driver interface type Consumer interface { Push(ctx context.Context, job *job.Job) error Register(ctx context.Context, pipeline *pipeline.Pipeline) error @@ -18,8 +19,12 @@ type Consumer interface { Pause(ctx context.Context, pipeline string) Resume(ctx context.Context, pipeline string) + + // State provide information about driver state + State(ctx context.Context) (*jobState.State, error) } +// Constructor constructs Consumer interface. Endure abstraction. type Constructor interface { JobsConstruct(configKey string, e events.Handler, queue priorityqueue.Queue) (Consumer, error) FromPipeline(pipe *pipeline.Pipeline, e events.Handler, queue priorityqueue.Queue) (Consumer, error) diff --git a/common/pubsub/interface.go b/common/pubsub/interface.go index 06252d70..5b69d577 100644 --- a/common/pubsub/interface.go +++ b/common/pubsub/interface.go @@ -1,5 +1,7 @@ package pubsub +import "context" + /* This interface is in BETA. It might be changed. */ @@ -45,7 +47,7 @@ type Publisher interface { // Reader interface should return next message type Reader interface { - Next() (*Message, error) + Next(ctx context.Context) (*Message, error) } // Constructor is a special pub-sub interface made to return a constructed PubSub type |