summaryrefslogtreecommitdiff
path: root/common/jobs/interface.go
diff options
context:
space:
mode:
Diffstat (limited to 'common/jobs/interface.go')
-rw-r--r--common/jobs/interface.go26
1 files changed, 26 insertions, 0 deletions
diff --git a/common/jobs/interface.go b/common/jobs/interface.go
new file mode 100644
index 00000000..c957df2b
--- /dev/null
+++ b/common/jobs/interface.go
@@ -0,0 +1,26 @@
+package jobs
+
+import (
+ "context"
+
+ "github.com/spiral/roadrunner/v2/pkg/events"
+ priorityqueue "github.com/spiral/roadrunner/v2/pkg/priority_queue"
+ "github.com/spiral/roadrunner/v2/plugins/jobs/job"
+ "github.com/spiral/roadrunner/v2/plugins/jobs/pipeline"
+)
+
+// Consumer todo naming
+type Consumer interface {
+ Push(ctx context.Context, job *job.Job) error
+ Register(ctx context.Context, pipeline *pipeline.Pipeline) error
+ Run(ctx context.Context, pipeline *pipeline.Pipeline) error
+ Stop(ctx context.Context) error
+
+ Pause(ctx context.Context, pipeline string)
+ Resume(ctx context.Context, pipeline string)
+}
+
+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)
+}