123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- <?php
- class BatchQueue extends SystemQueue {
-
- public function claimItem($lease_time = 0) {
- $item = db_query_range('SELECT data, item_id FROM {queue} q WHERE name = :name ORDER BY item_id ASC', 0, 1, array(':name' => $this->name))->fetchObject();
- if ($item) {
- $item->data = unserialize($item->data);
- return $item;
- }
- return FALSE;
- }
-
- public function getAllItems() {
- $result = array();
- $items = db_query('SELECT data FROM {queue} q WHERE name = :name ORDER BY item_id ASC', array(':name' => $this->name))->fetchAll();
- foreach ($items as $item) {
- $result[] = unserialize($item->data);
- }
- return $result;
- }
- }
- class BatchMemoryQueue extends MemoryQueue {
-
- public function claimItem($lease_time = 0) {
- if (!empty($this->queue)) {
- reset($this->queue);
- return current($this->queue);
- }
- return FALSE;
- }
-
- public function getAllItems() {
- $result = array();
- foreach ($this->queue as $item) {
- $result[] = $item->data;
- }
- return $result;
- }
- }
|