Пример #1
0
 /**
  * Config must provide the following keys:
  * - server: ActiveMQ server to connect to. Messages go into an in-memory
  *           queue if the server name is "__test__".
  * @return: null, as the rendition is generated asynchronously.
  */
 public static function render($source, $target, $assetFile, $config)
 {
     $bucket = $config['_bucket'];
     $queue = $config['queue'];
     $message = array('asset' => $assetFile, 'config' => $config, 'bucket' => $bucket, 'tstamp' => time());
     if ($queue == '__test__') {
         array_push(self::$messages, $message);
     } else {
         $log = new api_log();
         $log->debug("Queueing message: {$assetFile}");
         $conn = new Amazon_SQS_Client($config['access_id'], $config['secret_key']);
         $response = $conn->sendMessage(array('QueueName' => $queue, 'MessageBody' => json_encode($message)));
         $result = $response->getSendMessageResult();
         $log->debug("Queued message ID %s for asset file %s", $result->getMessageId(), $assetFile);
     }
 }
Пример #2
0
#!/usr/bin/env php
<?php 
ini_set("display_errors", "stderr");
/**
 * Reads messages from the preflight queue and calculates preflight
 * renditions.
 *
 * This script which is supposed to be kept running indefinitely.
 */
require_once dirname(__FILE__) . '/../inc/api/init.php';
api_init::start();
require_once dirname(__FILE__) . '/../inc/Amazon/SQS/Client.php';
require_once dirname(__FILE__) . '/../inc/Amazon/SQS/Exception.php';
$AWS_access_id = '1468VYMBDWXZAGRNKM82';
$AWS_secret_key = 'sCAhD5rmhltn1qSRc8fvtgsN9SvnGfsVLwbgB7zO';
$QUEUE = 'binarypool_preflight';
$conn = new Amazon_SQS_Client($AWS_access_id, $AWS_secret_key);
$res = $conn->getQueueAttributes(array('QueueName' => $QUEUE, 'AttributeName' => 'ApproximateNumberOfMessages'));
$res = $res->getGetQueueAttributesResult();
$attr = $res->getAttribute();
echo $attr[0]->getValue() . "\n";