Ejemplo n.º 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);
     }
 }