summaryrefslogtreecommitdiff
path: root/libs/SimpleQueue/QueueAdapterInterface.php
diff options
context:
space:
mode:
Diffstat (limited to 'libs/SimpleQueue/QueueAdapterInterface.php')
-rw-r--r--libs/SimpleQueue/QueueAdapterInterface.php58
1 files changed, 58 insertions, 0 deletions
diff --git a/libs/SimpleQueue/QueueAdapterInterface.php b/libs/SimpleQueue/QueueAdapterInterface.php
new file mode 100644
index 00000000..9bda3070
--- /dev/null
+++ b/libs/SimpleQueue/QueueAdapterInterface.php
@@ -0,0 +1,58 @@
+<?php
+
+namespace SimpleQueue;
+
+use DateTime;
+
+/**
+ * Interface AdapterInterface
+ *
+ * @package SimpleQueue\Adapter
+ */
+interface QueueAdapterInterface
+{
+ /**
+ * Send a job
+ *
+ * @access public
+ * @param Job $job
+ * @return $this
+ */
+ public function push(Job $job);
+
+ /**
+ * Schedule a job in the future
+ *
+ * @access public
+ * @param Job $job
+ * @param DateTime $dateTime
+ * @return $this
+ */
+ public function schedule(Job $job, DateTime $dateTime);
+
+ /**
+ * Wait and get job from a queue
+ *
+ * @access public
+ * @return Job|null
+ */
+ public function pull();
+
+ /**
+ * Acknowledge a job
+ *
+ * @access public
+ * @param Job $job
+ * @return $this
+ */
+ public function completed(Job $job);
+
+ /**
+ * Mark a job as failed
+ *
+ * @access public
+ * @param Job $job
+ * @return $this
+ */
+ public function failed(Job $job);
+}