2016-12-02 2 views
3

手動トリガーを使用して、晴れのサービスバスと新しいロジックアプリを作成しました。次に、「キューからメッセージを取得する(ピークロック)」アクションをアプリケーションに追加し、最大メッセージ数を「20」に設定します。キューからメッセージを取得すると、単一のメッセージしか取得されません。

私は自分のキューに5つの新しいメッセージを手動で作成し、次に新しいロジックアプリを起動します。私は私のアプリの実行を見て、私は1つのメッセージが取得された(そしてチェック、4つのメッセージがまだ私のキューにあることがわかります)。

「20」のカウントのように見えません。また、私のサービスバスキューの設定をチェックし、 "最大配信数"を "10"に設定しました。これは、少なくとも20の代わりに10のバッチを私に与えるべきです。

私には何が欠けていますか?

+1

「最大配信数」は、「10」に設定されています。これは、メッセージがデッドレットされる前、つまりデッド文字のサブキーに送信されるまでに最大10回処理されることを意味します。 –

+0

queueClientシナリオでは、OnMessageOptions.MaxConcurrentCallsを5に設定すると(たとえば)、5つの異なるスレッドを多数のメッセージに対して作成します。これがロジックアプリケーションの場合に機能するかどうかはわかりません。 – Aravind

答えて

0

これ以上の詳細がないと簡単には答えられません。それでも私はこれが助けてくれることを望む。

WebJobを使用している場合は、関連するAzureWebJobsStorageがリモートモードではなくクラシックモードで作成されていることを確認してください。そうすれば、WebJobは20秒以内にクラッシュし、すべてのキューメッセージを読み込むことはありません。

あなたの論理アプリケーションにはServiceBusTriggerが関係していますか?その後、正しいトリガーでマークされたメソッドへの最初の呼び出しは例外で失敗し、他のメッセージは読み取られないようです。

私はいくつかの詳細を誤解したかどうかを教えてください。

関連する問題