public function createQueue()
    {
        try {
            // Note: we are creating a Standard Queue for the time being.
            // More development needed to be able to customize it, for example creating FIFO Queue or setting attributes from outside.
            /** @see http://docs.aws.amazon.com/aws-sdk-php/v3/api/api-sqs-2012-11-05.html#createqueue */
            $result = $this->getClient()->createQueue([
                'QueueName' => $this->getQueueNameWithPrefix(),
                'Attributes' => [
                    'DelaySeconds' => 0,
                    'VisibilityTimeout' => 600
                ]
            ]);

            if ($result->hasKey('QueueUrl')) {
                $this->queueUrl = $result->get('QueueUrl');

                $this->getCache()->put($this->getUrlCacheKey(), $this->queueUrl);

                $this->logDebug('Queue '. $this->queueUrl .' created and cached');
            } else {
                $this->logError('Queue '. $this->getQueueNameWithPrefix() .' not created');
            }
        } catch (AwsException $e) {
            $this->logError('Creating queue '. $this->getQueueNameWithPrefix() .' failed with MSG: '. $e->getMessage());

            if(PHP_SAPI == 'cli'){
                throw $e;
            }
        }
    }