Target Based Scaling for Storage Queues#33714
Conversation
…src/Shared/Queues/QueueListener.cs Co-authored-by: Alexey Rodionov <alrod@inbox.ru>
…src/Shared/Queues/QueueListener.cs Co-authored-by: Alexey Rodionov <alrod@inbox.ru>
…rc/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs.csproj Co-authored-by: Alexey Rodionov <alrod@inbox.ru>
...WebJobs.Extensions.Storage.Blobs/src/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs.csproj
Outdated
Show resolved
Hide resolved
...tensions.Storage.Common/tests/Microsoft.Azure.WebJobs.Extensions.Storage.Common.Tests.csproj
Outdated
Show resolved
Hide resolved
...bJobs.Extensions.Storage.Queues/src/Microsoft.Azure.WebJobs.Extensions.Storage.Queues.csproj
Outdated
Show resolved
Hide resolved
|
looks like the GetMonitor_ReturnsSharedMonitor test is giving CI trouble. |
|
Could we start an email thread in regards to this PR, with information of the purpose and the context? It would help in reviewing. Thanks. |
|
I added mock constructors to QueueScaleMonitor and QueueTargetScaler, and instantiated them in the mock ctor for the QueueListener. Let me know if there's a better way around this -- I tried mocking the QueueListener class but wasn't able to because it's sealed. |
|
Nevermind probably not. |
|
Synced with @amnguye offline, soft approval until webjobs sdk 3.0.36 and |
|
3.0.36 has been released, but there is an issue affecting |
|
API change check API changes are not detected in this pull request. |
…ner since we have separate class for scalemonitor now
Overview
This PR introduces target based scaling for Storage Queues (and Blobs). To determine the target number of workers for a queue trigger in a function application, we divide the
queueLengthby theBatchSizedefined in customer's host.json. This new scaling model is being implemented across all extensions.Target Based Scaling PRs for Other Extensions
Checklist for Target Based Scaling Changes
Contributing to the Azure SDK
Logs from E2E Verification With Local Function App
Steps:
azure-functions-hostrepoazure-functions-hostlogs emittedVerification Logs
Target Based Scaling Enabled, Queue Trigger

Target Based Scaling Disabled, Queue Trigger

Target Based Scaling Enabled, Blob Trigger

Target Based Scaling Disabled, Blob Trigger

Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.