2014-02-22 125 views
6

嗨我是laravel 4中的新手,在本地計算機中配置AWS SQS時遇到麻煩。我需要在AWS隊列中推送一些作業並按順序執行它們。Laravel隊列與亞馬遜SQS

我在應用程序中設置所需的值/配置/ queue.php

'sqs' => array(
    'driver' => 'sqs', 
    'key' => 'XXXXXX', 
     'secret' => 'XXXXXX', 
     'queue' => 'https://sqs.us-west-2.amazonaws.com/XXXXXX/myqueue', 
     'region' => 'us-west-2', 
    ), 

並且在應用/配置/本地/ queue.php

$queue = include __DIR__ . "/../queue.php"; 
$queue['connections']['sqs']['queue'] = 'https://sqs.us-west-2.amazonaws.com/XXXXXXX/mylocalqueue'; 
return $queue; 
也覆蓋隊列值

我還更改了更新bootstrap/start.php將環境設置爲本地

<?php 
$env = $app->detectEnvironment(array(
'local' => array('my-machine-name'), 
)); 

我已經在控制器功能推動工作隊列如下

public function pus_aws($data){ 
    $queue = $this->app['queue']; 
    $queue->push('\[email protected]', array(
     'data' => $data, 
    )); 

    return true; 
} 

但它無法正常工作。任何人都可以幫我推動並運行排隊的工作嗎?

+0

我面對相同的問題,請讓我知道如果你有任何突破..謝謝 –

+0

你看到什麼樣的錯誤? – CBredlow

+0

我在Apache error_log文件中發現了任何相關的錯誤 – Prosenjit

回答

3

你在排隊嗎?

php artisan queue:listen --env=your_environment 

http://laravel.com/docs/queues#running-the-queue-listener

另外,製造,安裝,你作爲Laravel文件規定應使用主管。

的教程,請參閱本(使用beanstalkd,但對於SQS一樣的,只是你沒有安裝beanstalkd) http://fideloper.com/ubuntu-beanstalkd-and-laravel4

+0

感謝您的幫助 php artisan queue:聽我的作品,但聽者在一段時間後退出。我需要設置一個惡魔或克隆爲 1)php的工匠隊列:聽 2)php工匠隊列:工作 謝謝 – Prosenjit

+0

正確的,如答案中所述,請參閱此鏈接[http://fideloper.com/ ubuntu-beanstalkd-and-laravel4](http://fideloper.com/ubuntu-beanstalkd-and-laravel4)設置**主管**。這將重新啓動隊列:監聽它是否退出。 – Slue