Exemple #1
0
    /**
     * 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);
 }