/** * 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); } }