2016-05-16 7 views
1

私はAmazon SQSをかなり新しくしており、何が起こっているのか分かりにくいです。リクエストを処理できるファイルにHTTPパスを設定します。それが正しいことなのかどうかはわかりません。正しい方法は何ですか?なぜメッセージは「In Flight」に直接行くのですか?メッセージがHTTPパスに送信されるとどうなりますか?私は自分のアプリケーションのためにPHPを使用しているので、誰かが私が間違っていることについて私に指導を与えることができたら、私はそれを高く評価します!Elastic Beanstalkを使用したAmazon SQSサービス

私が好きにこのなります私のPHPスクリプトを使用してメッセージをチェックする:プログラムを実行しているとき、私は常にリターンの「メッセージなし」を取得していない

$sqs_client = new SqsClient($sqs_credentials); 

// Get the queue URL from the queue name. 
$result = $sqs_client->getQueueUrl(array('QueueName' => "NormalPoll")); 
$queue_url = $result->get('QueueUrl'); 

// Receive a message from the queue 
$result = $sqs_client->receiveMessage(array(
    'QueueUrl' => $queue_url 
)); 

if ($result['Messages'] == null) { 
    die('No Message'); 
} 

// Get the message information 
$result_message = array_pop($result['Messages']); 
$body = $result_message['Body']; 
print $body; 

を。 AWS SQSコンソールからメッセージを挿入しましたが、受信できません。メッセージは自動的に「飛行中」になります。

ありがとうございました!

+1

飛行中の場合は、Elastic Beanstalkアプリケーションがメッセージを消費しています。アプリケーションがメッセージを適切に処理していない場合は、アプリケーションにいくつかのログを追加して、なぜ失敗したのかを判断する必要があります。 –

+0

アプリケーションでメッセージを受信しようとすると、メッセージは表示されません。メッセージがすでに受信される前に、アプリケーションが実行されません。この状況は私にとって非常に奇妙です。 – McStuffins

+0

ビールストーカーの消費者を止めて試すことができますか? – Shibashis

答えて

2

メッセージは、Beanstalkワーカー環境設定のために空になります。 次のドキュメントは、Beanstalkワーカー環境を設定する方法の詳細を示しています。 http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features-managing-env-tiers.html

+0

キュー用に構成されたSNSがありません。どこでエンドポイントを指すべきですか?申し訳ありません。私はAWSが初めてです。 – McStuffins

+0

サブスクリプションキューを使ってトピック設定を行っていると思っていました。以前はコードスニペットが表示されませんでした。あなたは、PHPスクリプトが実行されていないときに確認することはできませんビュー/ウィンドウを開いてawsコンソール上で開いているメッセージはまだ機内に入っている? – Shibashis

+0

すべてのメッセージはまだ飛行中です。 SNSを設定する必要がありますか? – McStuffins

関連する問題