-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Target Based Scaling for Storage Queues #33714
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>
…ure-sdk-for-net into new-storagequeue
...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
queueLength
by theBatchSize
defined 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-host
repoazure-functions-host
logs 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.