Azure / Azure/azure-functions-host
IAsyncCollector capability per binding type is undocumented
- Dominant language
- C#
- Stars
- 2k
- Forks
- 482
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 38
Description
The IAsyncCollector implementations/capabillities per binding type are undocumented. I think this should be fixed. Below is my private story that deals with the ServiceBus binding and its surprisingly lacking IAsyncCollector implementation.
If I understand the code correctly after exploring the issue, the binding result/implemetation of IAsyncCollector for a ServiceBus binding is MessageSenderAsyncCollector. This class has an empty implementation for IAsyncCollector#FlushAsync, where it returns a task with an immediately available result.
This means or at least implies that there is no support for batching of messages sent to a service bus.
In fact, if the programmer doesn't explicitly await the result of the Task returned from AddAsync in his own code, it is possible the message will never be sent.
It is true, that the interface allows and sort of documents the possibility, but without exploring the code of the WebJobs SDK, there is no way for me know what is the status of the support for IAsyncCollector for each binding type.
Contributor guide
Research direction
Start by reviewing the IAsyncCollector interface and the MessageSenderAsyncCollector implementation mentioned in the issue, then inspect the binding types to determine their collector capabilities. Document the supported behavior for each binding type, including ServiceBus batching and AddAsync completion expectations; done means users can identify these capabilities without reading the WebJobs SDK source.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, csharp
- Domain
- backend, documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100