| 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); | |
| } | |