summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
Diffstat (limited to 'common')
-rw-r--r--common/jobs/interface.go7
-rw-r--r--common/pubsub/interface.go4
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