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..6738ed46
--- /dev/null
+++ b/common/jobs/interface.go
@@ -0,0 +1,26 @@
+package jobs
+
+import (
+ "github.com/spiral/roadrunner/v2/pkg/priorityqueue"
+ "github.com/spiral/roadrunner/v2/plugins/jobs/pipeline"
+ "github.com/spiral/roadrunner/v2/plugins/jobs/structs"
+)
+
+// Consumer todo naming
+type Consumer interface {
+ Push(job *structs.Job) (*string, error)
+ PushBatch(job *[]structs.Job) (*string, error)
+ Consume(job *pipeline.Pipeline)
+
+ Stop(pipeline string)
+ StopAll()
+ Resume(pipeline string)
+ ResumeAll()
+
+ Register(pipe string) error
+ Stat()
+}
+
+type Constructor interface {
+ JobsConstruct(configKey string, queue priorityqueue.Queue) (Consumer, error)
+}