/** * Test SQS methods * * @return void */ public function testSqs() { try { $queue_url = $this->_amazon->create($this->_queue_name, 45); $timeout = $this->_amazon->getAttribute($queue_url, 'VisibilityTimeout'); $this->assertEquals(45, $timeout, 'VisibilityTimeout attribute is not 45'); $test_msg = 'this is a test'; $this->_amazon->send($queue_url, $test_msg); $messages = $this->_amazon->receive($queue_url); foreach ($messages as $message) { $this->assertEquals($test_msg, $message['body']); } foreach ($messages as $message) { $result = $this->_amazon->deleteMessage($queue_url, $message['handle']); $this->assertTrue($result, 'Message was not deleted'); } $count = $this->_amazon->count($queue_url); $this->assertEquals(0, $count); $this->_amazon->delete($queue_url); } catch (\Exception $e) { $this->fail($e->getMessage()); } }
function sqs_send_message($access_key_id, $secret_access_key, $queue_url, $message) { $result = FALSE; if ($access_key_id && $secret_access_key && $queue_url && $message) { try { $sqs = new Zend_Service_Amazon_Sqs($access_key_id, $secret_access_key); $result = $sqs->send($queue_url, $message); } catch (Exception $ex) { // ignored, $result will be false } } return $result; }
public function getQueues() { if (null === $this->_queues) { $this->_queues = parent::getQueues(); } return $this->_queues; }
/** * Peek at the messages from the specified queue without removing them. * * @param string $queueId * @param int $num How many messages * @param array $options * @return Zend_Cloud_QueueService_Message[] */ public function peekMessages($queueId, $num = 1, $options = null) { try { return $this->_makeMessages($this->_sqs->receive($queueId, $num, 0)); } catch (Zend_Service_Amazon_Exception $e) { throw new Zend_Cloud_QueueService_Exception('Error on peeking messages: ' . $e->getMessage(), $e->getCode(), $e); } }
/** * Creates a PHP SQS queue object * * Queue objects are created with the full URL because Amazon reserves the * right to change the URL scheme for queues created in the future. * * @param string $queueUrl the URL of this queue. * * @param string $accessKey either a string containing the SQS access key for an account. * * @param string $secretKey the secret access key for the SQS account. * */ public function __construct($queueUrl, $accessKey = null, $secretKey = null) { // Make sure the queue url contains the sqs end point; if (false === strpos($queueUrl, self::SQS_ENDPOINT)) { $queueUrl = 'http://' . self::SQS_ENDPOINT . '/' . $queueUrl; } $this->queueUrl = $queueUrl; // start the parent class up. parent::__construct($accessKey, $secretKey); }
public function testGetRegions() { $endPoints = array('us-east-1' => 'sqs.us-east-1.amazonaws.com', 'us-west-1' => 'sqs.us-west-1.amazonaws.com', 'eu-west-1' => 'sqs.eu-west-1.amazonaws.com', 'ap-southeast-1' => 'sqs.ap-southeast-1.amazonaws.com', 'ap-northeast-1' => 'sqs.ap-northeast-1.amazonaws.com'); $this->assertEquals($this->_amazon->getEndpoints(), $endPoints); }